zoukankan      html  css  js  c++  java
  • 微服务实战系列(九)-注册中心与网关高可用架构设计

    1. 微服务关系架构图

    简要说明:

    (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实现网关的高可用,架构图如下:

    简要说明:

    (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

    简要说明:

    网关统一使用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还有一个区别,客户端不能配置两个注册中心,官方给的架构图是:

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

    其中10.192.168.22为vip(虚拟ip)。


    更多知识请关注公众号:「软件老王」,IT技术与相关干货分享,回复关键字获取对应干货,java,送必看的10本“武功秘籍”;图片,送100多万张可商用高清图片;面试,送刚毕业就能月薪“20k”的java面试题,软考,送官方pdf书籍与通关论文,后续会不断更新,比如“工具”,“视频“等,已经在整理中。

    更多信息请关注公众号:「软件老王」,关注不迷路,IT技术与相关干货分享,回复关键字获取对应干货,本文版权归作者软件老王所有,转载需注明作者、超链接,否则保留追究法律责任的权利。
  • 相关阅读:
    codevs 3971 航班
    2015山东信息学夏令营 Day4T3 生产
    2015山东信息学夏令营 Day5T3 路径
    Tyvj 1221 微子危机——战略
    清北学堂模拟赛 求和
    NOIP2012同余方程
    NOIP2009 Hankson的趣味题
    bzoj1441 MIN
    国家集训队论文分类
    贪心 + DFS
  • 原文地址:https://www.cnblogs.com/ruanjianlaowang/p/13749767.html
Copyright © 2011-2022 走看看