以前
nginx + docker(grpc_svc) + 重启脚本
之前使用写了一些服务,通过nginx转发grpc请求转到这些服务上面。但是服务总会存在这样或者那样的问题,会崩掉。虽然是可以使用监控脚本监控服务,挂掉了自动拉起,但是总归会有一段时间服务不可用,因为nginx转发到了坏的服务上面。
- 要在每一台机器上面安装docker,安装重启脚本
nginx + docker(grpc_svc) + consul + consul-template
- consul服务注册与服务发现组件
- 用来做服务发现,consul可以用来监控grpc服务,如果服务挂了,可以通知consul集群
- 还可以暴露出来其他的服务
- consul-template: 配置同步组件
- 可以制作nginx的模板,这样的话,如果服务挂掉了,consul感知到之后,可以通过consul-template组件更新nginx的配置文件,从而改变nginx的路由
现在
k8s + docker
k8s帮你全干了,你只用关心docker部分。服务挂了k8s帮你起,服务增加k8s帮你平行扩展,服务发布,金丝雀发布。。。贴心的不要不要的。。。
参考文章
- 创建virtualbox虚拟主机
- nginx + grpc负载均衡
- Docker + consul + nginx + consul-template服务负载均衡
- 稍微有一些registor docker的介绍
- consul + nginx
- consul docker 官网(多看一下官方的dockerfile,大有裨益)
- consul-template模板的简单介绍
- nginx grpc负载均衡