• [学习笔记]尝试go-micro开发微服务<第一波>


    平时项目都是基于c++,lua,node,

    现在打算开始自学开发微服务;   也顺带磨砺下go和docker

    前期准备

    1. 有golang编程基础

    本系列文章是基于有golang编程基础,有过实际开发项目的前提去展开,最好有一定的架构经验.

    2. 了解RPC、SOA、SOCKET通信等概念

    这些概念是构建微服务的基础,打好基础后更容易上手

    3. 了解Docker

    Docker的存在,在一定程度上让golang火热起来,同时在云计算虚拟化部署上,起到关键性作用.

    内容编排

    1.入门

    了解什么是微服务,使用原生go语言构建一个最简单的微服务.

    2.Go-Micro介绍和使用

    Go-Micro是一个微服务开发框架,后续的架构都是基于该框架

    3.Protobuf介绍和使用

    微服务重要的通信协议,由于其高性能和支持跨语言等特性,被广泛应用于微服务通信中.

    4.服务发现和治理

    服务发现和治理,在"高性能高可用"中,发挥重要的作用

    5.日志跟踪和监控

    在单体应用中,我们可能打文本日志就能记录重要的信息,很方便地排查问题和还原现场,但是在微服务当中,由于存在多服务调用,一个请求可能会经过多个服务处理,要定位问题到底出在哪个环节,日志跟踪和监控必不可少.

    6.Docker介绍和使用,使用Docker部署微服务应用

    以最简单的方式去介绍Docker和使用Docker部署我们的微服务应用

    7.DevOps部署我们的微服务应用

    由于微服务框架结构复杂,如何自动化地去构建和部署我们的应用,DevOps又是怎样实现的?

    8.消息队列和分布式事务

    使用一个消息队列服务去处理微服务间通信和事务处理,解决拆分后的数据一致性难题.

    9.服务降级和熔断

    高并发和高可用,是服务的重点和难点,构建的微服务应用,如何避免雪崩效应和维持服务健康状态,是一个无法忽略的难题.

  • 相关阅读:
    JSTL 配置
    HTML5 移动端web
    PHP 和 AJAX MySQL
    js php 互调
    google F12
    Codechef TRIPS Children Trips (分块、倍增)
    BZOJ 1859 Luogu P2589 [ZJOI2006]碗的叠放 (计算几何)
    AtCoder AGC002E Candy Piles (博弈论)
    BZOJ 2716 [Violet 3]天使玩偶 (CDQ分治、树状数组)
    AtCoder AGC001F Wide Swap (线段树、拓扑排序)
  • 原文地址:https://www.cnblogs.com/left69/p/11760032.html
Copyright © 2020-2023  润新知