一 专栏介绍
本专栏是专门介绍微服务学习内容,希望大家能够通过学习本专栏,掌握微服务技术,现在系统介绍一下微服务。
1.1 微服务行业背景
不同行业IT系统更新频率
IT系统存在的问题
微服务架构在企业中应用情况
1.2 什么是微服务
- 使用一套小服务来开发单个应用的方式,每个服务运行在独立的进程里,一般采用轻量级的通讯机制互联,并且它们可以通过自动化的方式部署
- 什么叫微?
- 单一功能
- 代码少,不是,而且代码多
- 架构变的复杂了
- 微服务是设计思想,不是量的体现
1.3 微服务的特点
- 单一职责,此时项目专注于登录和注册
- 轻量级的通信,通信与平台和语言无关,http是轻量的,例如java的RMI属于重量的
- 隔离性,数据隔离
- 有自己的数据
- 技术多样性
1.4 微服务诞生背景
- 互联网行业的快速发展,需求变化快,用户数量变化快
- 敏捷开发深入人心,用最小的代价,做最快的迭代,频繁修改、测试、上线
- 容器技术的成熟,是微服务的技术基础
1.5 微服务架构的优势
- 独立性
- 使用者容易理解
- 技术栈灵活
- 高效团队
所以学习微服务是很有必要的,不论是未来发展还是现阶段技术的提升,掌握微服务都能使你的编程技术更上一层楼,本人将会把在微服务学习到的内容全部分享出来,希望能够帮助到大家。
二 专栏目标
本专栏最终实现的目标为掌握微服务,能够使用微服务开发属于自己的实战项目或者运用到实际工作之中,在本专栏中,你可以学习到:
Go语言的使用
Docker、Docker-compose的使用
Proto的使用、编写、命令
微服务开发流程:
4.1 创建项目(Docker或go-micro)
4.2 编写proto文件,并生成.go文件
4.3 编写domain数据库方面,包含(model层,repository层,service层)等
4.4 编写Handle层,实现proto定义接口
4.5 编写common层,配置,mysql,公共函数,jaeger(链路追踪)等
4.6 编写main函数,完成项目闭环
go-micro目录生成,使用,介绍,安装
微服务组件的认识(注册中心和配置中心(Consul)、链路追踪(jaeger)、限流(服务端)、负载均衡7
(客户端)、ELk等等)
gorm数据库开发
Prometheus监控服务
ELK介绍
kibana日志可视化
filebeat日志上传
logstash收集日志
elasticsearch 日志搜索
zap日志封装
三 专栏涉及技术
本专栏使用的相关技术为:
- 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.限流算法原理
五 专栏文章链接
优质文章正在创作中。。。
创作完成后第一时间分享出来,希望大家关注博主和关注专栏,第一时间获取最新内容
专栏文章链接:
(1)微服务系列专栏介绍
(2)微服务介绍
(3)go-micro微服务项目搭建
(4)go-micro微服务proto开发
(5)go-micro微服务domain层开发
(6)go-micro微服务consul配置、注册中心
(7)go-micro微服务zap日志配置
(8)go-micro微服务Mysql配置
(9)go-micro微服务Redis配置
(10)go-micro微服务发送邮件
(11)go-micro微服务雪花算法
(12)go-micro微服务JWT跨域认证
(13)go-micro微服务公用函数开发
(14)go-micro微服务服务层Handle开发
(15)go-micro微服务main.go开发
(16)go-micro微服务jaeger链路追踪
(17)go-micro微服务Prometheus监控
(18)go-micro微服务ELK介绍
(19)go-micro微服务filebeat收集日志
(20)go-micro微服务Elasticsearch使用
(21)go-micro微服务logstash使用
(22)go-micro微服务kibana使用
(23)go-micro微服务客户端开发(使用负载均衡)
(24)微服务项目经验总结
六 最后
- 希望大家关注博主和关注专栏,第一时间获取最新内容,每篇博客都干货满满。