文章目录
- 一 专栏介绍
- 1.1 微服务行业背景
- 不同行业IT系统更新频率
- IT系统存在的问题
- 微服务架构在企业中应用情况
- 1.2 什么是微服务
- 1.3 微服务的特点
- 1.4 微服务诞生背景
- 1.5 微服务架构的优势
- 二 专栏目标
- 三 专栏涉及技术
- 四 专栏架构
- 1.微服务架构:
- 2.Go语言
- 3.go-micro架构
- 4.gRPC调用原理
- 5.Consul注册与配置中心
- 6.链路追踪
- 7.熔断器原理
- 8.监控原理
- 9.日志系统原理
- 10.限流算法原理
- 五 专栏文章链接
- 六 最后
一 专栏介绍
本专栏是专门介绍微服务学习内容,希望大家能够通过学习本专栏,掌握微服务技术,现在系统介绍一下微服务。
1.1 微服务行业背景
不同行业IT系统更新频率
IT系统存在的问题
微服务架构在企业中应用情况
1.2 什么是微服务
-
使用一套小服务来开发单个应用的方式,每个服务运行在独立的进程里,一般采用轻量级的通讯机制互联,并且它们可以通过自动化的方式部署
-
什么叫微?
- 单一功能
- 代码少,不是,而且代码多
- 架构变的复杂了
- 微服务是设计思想,不是量的体现
1.3 微服务的特点
- 单一职责,此时项目专注于登录和注册
- 轻量级的通信,通信与平台和语言无关,http是轻量的,例如java的RMI属于重量的
- 隔离性,数据隔离
- 有自己的数据
- 技术多样性
1.4 微服务诞生背景
- 互联网行业的快速发展,需求变化快,用户数量变化快
- 敏捷开发深入人心,用最小的代价,做最快的迭代,频繁修改、测试、上线
- 容器技术的成熟,是微服务的技术基础
1.5 微服务架构的优势
- 独立性
- 使用者容易理解
- 技术栈灵活
- 高效团队
所以学习微服务是很有必要的,不论是未来发展还是现阶段技术的提升,掌握微服务都能使你的编程技术更上一层楼,本人将会把在微服务学习到的内容全部分享出来,希望能够帮助到大家。
二 专栏目标
本专栏最终实现的目标为掌握微服务,能够使用微服务开发属于自己的实战项目或者运用到实际工作之中,在本专栏中,你可以学习到:
1.1 Go语言的使用
1.2 Docker、Docker-compose的使用,命令
1.3 Proto的使用、编写、命令
1.4 微服务开发流程:
1.4.1 创建项目(Docker或go-micro)
1.4.2 编写proto文件,并生成.go文件
1.4.3 编写domain数据库方面,包含(model层,repository层,service层)等
1.4.4 编写Handle层,实现proto定义接口
1.4.5 编写common层,配置,mysql,公共函数,jaeger(链路追踪)等
1.4.6 编写main函数,完成项目闭环
1.6 Makefile的使用,命令,安装
1.7go-micro目录生成,使用,介绍,安装
1.8 git的使用
1.9 微服务组件的认识(注册中心和配置中心(Consul)、链路追踪(jaeger)、熔断(客户端)、限流(服务端)、负载均衡(客户端)、Api网关、ELk等等)
1.20 gorm数据库开发
1.21 Prometheus监控服务
1.22 ELK介绍
1.23 kibana日志可视化
1.24 filebeat日志上传
1.25 logstash收集日志
1.26 elasticsearch 日志搜索
1.27 paypal支付
1.28 zap日志封装
1.29 k8s介绍与安装
三 专栏涉及技术
本专栏使用的相关技术为:
- go语言(go1.1以上,本人为 go1.7)
- go-micro(2.X)
- Docker
- ProtoBuf
- Gorm
- Git
- ELk
- Zap日志库
四 专栏架构
本专栏会详细介绍一下微服务相关技术的技术架构,下面列出来一些相关的技术架构:
1.微服务架构:
2.Go语言
3.go-micro架构
4.gRPC调用原理
5.Consul注册与配置中心
6.链路追踪
7.熔断器原理
8.监控原理
9.日志系统原理
10.限流算法原理
五 专栏文章链接
优质文章正在创作中。。。
创作完成后第一时间分享出来,希望大家关注博主和关注专栏,第一时间获取最新内容
六 最后
欢迎大家加入 夏沫の梦的学习交流 进行学习交流经验