你三个节点组成的集群,挂也是这三个节点种的一个挂,但是consul还是好的,只要不是三个都挂,还能用
你没有明白我的意思,consul任意一个节点挂掉,是不会影响整个集群,问题是网关ocelot对应服务发现consul配置的节点只能一个,如果这个节点挂掉了,网关不就瘫痪了
如果网关配置consul的地方:
集群本身consul 出问题,相当于系统直接挂了,如果是节点挂了,服务提供一个心跳检测的方法,用于consul定时检测服务实例是否健康,polly。
consul集群挂掉一个节点,是不会有什么影响,问题是网关依赖于consul,且配置节点只有一个,这个节点挂掉,网关不就挂掉了,你consul集群还在有什么用?
@調調: Consul的集群通过Nginx代理出一个端口,Ocelot网关这里配置是这个代理的端口,通过代理端口和Consul集群通信,其中, 集群的服务内部均衡机制由Consul自身维护
@調調: 我目前就是通过这样处理的,但是发现压力测试的时候,吞吐量上不去,我也是个水手,学习中。。
很简单啊,你一个Consul下面集群了多个服务,你如果有一个服务挂了,其他服务会顶上去,同理,你Consul只有一个你怕不稳地怕挂了系统没法用,那你就把Consul做主从集群,只要主的挂了,会自动从其他从的Consul中再推举一个做为主的,我现在纠结的是要是我Ocelot网关挂了怎么办,用Nginx做主从集群反向代理网关?
我这个问题最好就是不用网关了,直接Consul做主从集群,既保证了高可用,又保证了伸缩性