consul集群
前面我们用consul注册发现服务,这里的弊端显而易见,单机版如果挂掉,就无法正常使用。
consul的集群是复制模式,每个节点的信息一致。当其中一个挂掉,其他正常运行。
consul官网建议最好是3个节点,其实consul不存储数据,只是服务信息,所以不用过多。
consul有client和server模式,详细内容大家自己了解。
集群建立
网上很多是放在不同机器上,默认启动即可,但是我这里自己学习,只能一个机器,所以需要修改端口,启动多个实例即可。
需要强调是最新版,增加新端口grpc_tls,折腾了一下,没有配置启动多实例报端口占用。
具体参数大家自己了解,我使用了配置文件配置端口。最后是如此情景:
将配置文件放在配置文件夹即可。
我不详细讲这里了,推荐已有文章。
windows 的 Consul 单机集群搭建_wang_peng的博客-CSDN博客_consul grpc windows
使用集群
有了consul集群,webapi注册时可以向不同consul节点注册。
如果向单独的方式向节点注册,有一点问题,向一个注册,那么一旦节点挂了,服务也需要再次注册时,就会有问题。但是实际中不影响。另外就是每个consul节点都注册一次。
除以上方案外,还有补偿方案,就是集群节点通过Nginx代理,搭建一个nginx一个服务代理consul集群节点,webapi服务注册时使用Nginx代理。
这样我就解决了服务注册的瑕疵。