扫码订阅《 Go语言微服务理论课程》或入驻星球,即可阅读文章!

GOLANG ROADMAP

阅读模式

  • 沉浸
  • 自动
  • 日常
首页
Go学习
  • Go学院

    • Go小课
    • Go视界
    • Go小考
    • Go实战
  • Go资源

    • 优质课程
    • 在线宝典
    • 资源下载
    • 帮找资源
训练营 🔥
  • Go体系课&实战训练营
  • 升值加薪陪跑训练营
Go求职
  • 求职刷题

    • 企业题库
    • 面试宝典
    • 求职面经
  • 求职服务

    • 内推互助
    • 求职助力
    • 内推公司
Go友会
  • 城市
  • 校园
推广返佣
  • 返佣排行
  • 返佣规则
  • 推广学院
实验区
  • Go周边
  • Go宝典

    • 推荐图书
    • 精品博文
  • Go开源

    • Go仓库
    • Go月刊
更多
  • 用户中心

    • 我的信息
    • 我的返佣
    • 我的消息
  • 玩转星球

    • 星球介绍
    • 星主权益
    • 吐槽专区
    • 成长记录
  • 合作交流

    • 商务合作
    • 讲师招募
    • 生态伙伴
author-avatar

GOLANG ROADMAP


首页
Go学习
  • Go学院

    • Go小课
    • Go视界
    • Go小考
    • Go实战
  • Go资源

    • 优质课程
    • 在线宝典
    • 资源下载
    • 帮找资源
训练营 🔥
  • Go体系课&实战训练营
  • 升值加薪陪跑训练营
Go求职
  • 求职刷题

    • 企业题库
    • 面试宝典
    • 求职面经
  • 求职服务

    • 内推互助
    • 求职助力
    • 内推公司
Go友会
  • 城市
  • 校园
推广返佣
  • 返佣排行
  • 返佣规则
  • 推广学院
实验区
  • Go周边
  • Go宝典

    • 推荐图书
    • 精品博文
  • Go开源

    • Go仓库
    • Go月刊
更多
  • 用户中心

    • 我的信息
    • 我的返佣
    • 我的消息
  • 玩转星球

    • 星球介绍
    • 星主权益
    • 吐槽专区
    • 成长记录
  • 合作交流

    • 商务合作
    • 讲师招募
    • 生态伙伴
  • 《Go语言微服务理论课程》

    • 课程介绍
  • 微服务简介

  • Protobuf通信协议

  • 微服务管理

    • 第1节:服务发现
    • 第2节:分布式与单点故障
    • 第3节:Consul服务发现原理
    • 第4节:Consul启动
    • 第5节:服务注册与查询
    • 第6节:Docker安装及运行consul节点
    • 第7节:Docker搭建Consul集群
    • 第8节:微服务定义
    • 第9节:微服务理论实践课程回顾

扫码订阅《 Go语言微服务理论课程》或入驻星球,即可阅读文章!

第9节:微服务理论实践课程回顾


GOLANG ROADMAP

我们利用15节课的内容,学习完了从微服务的定义,到微服务的实践相关的内容。这其中包含理论知识,也包含编程实现,今天我们来做个总结。

# 课程回顾

通过我们前面课程的学习,我们大概可以将我们所学习的内容分为以下几个模块:

# 1、微服务整体认识和理解

这其中包含:

  • 单体应用的构建:小而美的业务类型适合使用单体项目来实现开发和部署,便于开发和维护,项目开发成本小。
  • 单体应用的弊端:随着业务量增加,开发任务的迭代,在高可用性,项目扩展性,高性能上会遇到种种问题和瓶颈,单一的优化和框架升级无法满足需求,必须要进行架构改造。
  • 微服务架构思想重构单体应用:区别于单体的项目部署和维护的开发角度,微服务架构试图从项目内部进行拆解,将项目按照核心功能进行划分,达到一遍多的目的,继续维持小而美的思想,让模块应用化。
  • 微服务实践的主要问题:利用微服务架构的思想进行技术实践的过程中,需要解决一系列的问题,核心的问题需要考虑四个方面的内容:
    • 1、客户端如何访问以微服务形式部署的功能
    • 2、功能模块应用化后的依赖和通信问题
    • 3、功能模块应用化后的管理问题
    • 4、系统容错机制和高可用、高性能的保障机制

# 2、微服务的通信

在本系列课程中,我们涉及到的微服务的通信方面的内容主要是两个方面,分别是:通信协议和通信方式。

  • 通信协议:在开发实践中,我们涉及到对通信双方的数据传输问题,需要对数据进行序列化和解析操作。有很多种供我们选择的序列化方式,比如:XML格式,JSON格式,gob格式(仅go语言),还有protobuf协议格式。基于效率的考虑,我们学习了Protobuf通信协议相关的内容。
  • 通信方式:我们选择RPC的通信方式来实现多个服务端之间的通信,关于RPC的内容也有相关的章节介绍;我们会在微服务框架的课程当中讲解关于gRPC框架的内容,大家可以持续关注。

# 3、微服务的管理

微服务的管理部分主要是解决我们微服务实践问题中的第三个核心问题和第四个问题,实现对微服务的统一管理,并使用对应的框架保证高可用性。

在这一部分,主要涉及的内容包括:

  • 微服务的发现机制介绍:通过PPT图解和文字介绍的方式向大家介绍发现机制的内部原理及实现思路,这是学习分布式系统的基础。
  • 分布式系统的问题和难点:分布式系统面临的一个重要问题是单点故障,为了避免单点故障,需要解决多节点的共识问题。
  • 分布式系统的解决方案:在本案例中,我们讲解Consul的解决方案,及Consul内部实现原理,这其中包含Consul的架构,Consul的节点分类,Consul节点启动,集群部署等一系列相关的操作。
  • 课程回顾
  • 1、微服务整体认识和理解
  • 2、微服务的通信
  • 3、微服务的管理