微服务时代之网关及注册中心高可用架构设计

1. 微服务关系架构图

1727736-20190918153809217-1124572793.png

简要说明:

(1)所有应用或者服务要想对外提供服务(包括网关),必须首先到注册中心进行注册。

(2)所有访问通过服务网关进行访问,然后由服务网关路由到对应服务中心进行交互访问。

2. 网关及注册中心高可用架构图

2.1 springcloud eureka高可用方案

由上图可以看出,注册中心与路由很容易成为单点故障,软件老王以前使用springcloud eureka高可用架构方案:

(1)euraka部署成集群模式,相互注册,通过心跳策略同步注册信息;

(2)客户端注册的时候,可以写多个注册中心地址,假如第一个注册中心出问题,会自动到第二个中心去注册。

 defaultZone: http://10.192.168.12:8761/eureka/,http://10.192.168.13:8761/eureka/

当时网关没有做高可用方案。

2.2 网关高可用架构方案
2.2.1 软件老王采用的技术方案是:采用keepalived+nginx实现网关的高可用,架构图如下:

1727736-20190918153827148-1306345884.png

简要说明:

(1)通过nginx来实现gateway集群部署;

(2)通过keepalived虚拟ip,当服务器1宕机后,虚拟ip会自动切换到服务器2上,来保证nginx的高可用。

2.2.2 业务中台实际部署

因服务器资源有限,软件老王目前有3台服务器资源,分别为:10.192.168.11、10.192.168.12、10.192.168.13

1727736-20190918153845459-70815139.png

简要说明:

网关统一使用vip(10.192.168.21)进行访问,21默认会路由到10.192.168.11服务器上(11出故障的话,会自动谢欢到12服务器上),11上的nginx默认轮询调用gateway服务(11与12上启动了6个服务),进而实现高可用。

2.3 注册中心高可用方案
2.3.1 技术方案

软件老王经过技术选型后,这次的注册中心选择的是阿里巴巴的nacos,nacos官方已经给了高可用部署方案,nacos与cloud的euraka还有一个区别,客户端不能配置两个注册中心,官方给的架构图是:

1727736-20190918153959022-1380528836.png

2.3.2 软件老王实际部署的注册中心(nacos)架构图

1727736-20190918154007858-2007475172.png

其中10.192.168.22为vip,案例演示:gateway默认启动了demo服务(/demo),可进行演示使用。


I’m 「软件老王」,如果觉得还可以的话,关注下呗,后续更新秒知!欢迎讨论区、同名公众号留言交流!

转载于:https://www.cnblogs.com/ruanjianlaowang/p/11542747.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值