1.0 介绍与目录
介绍#
我觉得微服务是什么?什么是微服务这种问题都老生常谈了,随便百度的回答都是各式各样的,我也没什么好介绍的了。开门见山,我就直接说我想做成什么样的。
- 既然是微服务,那肯定首先要有服务,这个系列重点在微服务的构建,而不是业务逻辑的编写,所以业务逻辑尽可能做到最简单。其次有一个服务即可。
- 微服务中最重要的是网关,它是所有请求的入口,所以我会用
gin
框架结合go-micro
作为微服务的网关,后期加入链路追踪
、熔断与降级
、监控
等扩展功能。 - 微服务就意味着需要快速迭代更新,所以持续交付、集成、部署 (CI/CD) 是必不可少的
- 容器编排部署,肯定是使用 Kubernetes,这也没啥好说的
基础要求#
这个系列开发、部署各占一半,所以需要你能满足以下要求:
- 熟悉 golang 语法
- 了解 go-micro
- 熟悉 docker
- 了解 kubernetes
- 熟悉 git
- 了解 jenkins、gitlab
仓库#
对应的相关代码和部署文件,已经传至 github,欢迎 star。
微服务与部署:github.com/guaosi/go-micro-build
持续交付、集成、部署:github.com/guaosi/go-cicd
目录#
由于涉及的点很多,一篇文章是肯定写不完的,所以分了几个模块,几个章节进行介绍。
基于容器的构建运行
3.1 Dockerfile 编写与镜像制作
3.2 直接 Docker 容器构建执行
3.3 Docker Compose 下的构建执行
3.4 Kubernetes 下的构建执行持续交付、集成、部署 (CI/CD)
4.1 Gitlab 的搭建与设置
4.2 Jenkins 的搭建、插件的安装与配置
4.3 Jenkins 构建部署 Kubernetes网关功能扩展 (TODO)
5.1 链路追踪 - jaeger
5.2 熔断与降级 - hystrix
5.3 监控 - prometheus
推荐文章: