![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
docker
文章平均质量分 66
Coding到灯火阑珊
Coding
展开
-
十二,构建Docker镜像
通过前面的十一篇文章,我们基于Go-kit微服务框架建立了图书馆借书项目,包括三个微服务、一个网关、限流、服务注册与发现、熔断降级、监控和分布式链路追踪。接下来我们将微服务构建成 docker 镜像,在容器中启动服务。完整代码:https://github.com/Justin02180218/micro-kit编写Dockerfile创建 deploy/docker 目录,在此目录下编写 Dockerfile 文件,如图:构建 user-service 镜像创建 .原创 2021-10-23 10:17:41 · 237 阅读 · 0 评论 -
十一,微服务监控
监控 PROMETHEUSPrometheus是由SoundCloud开发的开源监控报警系统和时序列数据库(TSDB),使用Go语言开发,是Google BorgMon监控系统的开源版本。prometheus存储的是时序数据,即按相同时序(相同名称和标签),以时间维度存储连续的数据的集合。项目中应用完整代码:https://github.com/Justin02180218/micro-kit配置文件prometheus: namespace: "library"原创 2021-10-10 11:10:50 · 676 阅读 · 0 评论 -
六,令牌桶限流
令牌桶限流在这个图书馆项目中,我们采用令牌桶限流算法,具体原理请参看《分布式高可用-流量控制-1 流控策略》文章。项目中应用完整代码:https://github.com/Justin02180218/micro-kit在 pkg 下新建目录 ratelimits,创建 ratelimit.go 文件:在 go kit 的 endpoint 层进行限流,采用装饰器模式var ErrLimitExceed = errors.New(" R...原创 2021-09-22 22:50:36 · 278 阅读 · 0 评论 -
五,gRPC微服务(library-book-grpc-service)
gRPC微服务 library-book-grpc-service ,书籍管理内部服务。提供书籍管理的 rpc 接口,主要实现了根据用户ID获取书籍列表的功能,用户管理服务通过 GRPC 调用此服务接口。完整代码:https://github.com/Justin02180218/micro-kit包结构各个包的含义与上两篇基本一样,这里就不一一说明了。代码实现gRPC Server编写 book.proto 文件synta...原创 2021-09-19 15:43:49 · 975 阅读 · 0 评论 -
四,书籍管理微服务(library-book-service)
微服务 library-book-service ,书籍管理微服务。提供书籍管理的 Restful 接口,主要实现保存书籍、根据书籍名称查询、书籍列表、用户借书等功能。完整代码:https://github.com/Justin02180218/micro-kit包结构各个包的含义与上一篇 《微服务library-user-service》一样,这里就不一一说明了。代码实现配置文件library-book-service的配置文件 book.yaml 的内容与 us.原创 2021-09-15 23:09:08 · 829 阅读 · 0 评论 -
三,用户管理微服务(library-user-service)
微服务 library-user-service ,用户管理服务。提供用户管理的 Restful 接口,主要实现用户注册、根据用户ID或者 email 查询用户、查询用户所借书籍等功能。完整代码:https://github.com/Justin02180218/micro-kit包结构说明 dao:数据访问层 dto:数据传输层 models:数据库表映射层 service:业务逻辑层 endpoint:go-kit 的概念,将服.原创 2021-09-11 15:21:53 · 8573 阅读 · 0 评论 -
二,基础框架搭建
工程结构首先我们来搭建工程结构,主体分为三个微服务和一个网关,还包括公共组件及部署文件等。如图: deploy:部署文件目录,包括Dockerfile、k8s yaml文件等。 library-apigateway:结合 Consul 实现的网关。 library-book-grpc-service:提供 rpc 接口调用的书籍管理微服务,用于微服务内部之间的调用。 library-book-service:提供 restful .原创 2021-09-08 22:03:31 · 311 阅读 · 2 评论 -
一,项目介绍与架构
项目介绍微服务架构实战系列实现一个简单的图书馆项目,只是为了验证、实现微服务的各项能力。此项目划分为三个微服务:如图: 用户管理服务:提供用户管理的 Restful 接口,主要实现用户注册、根据用户ID或者 email 查询用户、查询用户所借书籍等功能。 书籍管理服务:提供书籍管理的 Restful 接口,主要实现保存书籍、根据书籍名称查询、书籍列表、用户借书等功能。 书籍管理内部服务:提供书籍管理的 rpc 接口,由用户管理服务通过 GRPC 调用此服务接口,主要实现原创 2021-09-05 17:51:41 · 596 阅读 · 0 评论 -
预告:微服务架构实战
近期准备写关于微服务架构实战的系列文章,基于Go语言,结合Gin web框架和Go-kit微服务框架。内容包括限流、服务注册与发现、熔断降级、监控和分布式链路追踪、构建docker镜像,部署发布到k8s中。目录:一,项目介绍与架构二,基础框架搭建三,微服务library-user-service四,微服务library-book-service五,微服务library-book-grpc-service六,限流七,服务注册与发现八,熔断、降级九,网关library原创 2021-09-04 23:17:58 · 118 阅读 · 2 评论