写点什么

Soul 源码阅读 01|数据同步

用户头像
哼干嘛
关注
发布于: 2021 年 01 月 21 日

网关是流量请求的入口,在微服务架构中承担了非常重要的角色,网关高可用的重要性不言而喻。在使用网关的过程中,为了满足业务诉求,经常需要变更配置,比如流控规则、路由规则等等。因此,网关动态配置是保障网关高可用的重要因素。那么,Soul 网关又是如何支持动态配置的呢?


让我们一起带着问题,去查看 Soul 源码,探寻数据同步的实现。

一、Soul 网关数据同步有几种方式?

从代码中可以看到,目前支持 4 种同步方式:

  • WebSocket

  • Http 长轮询

  • Zookeeper

  • Nacos

二、数据同步方式配置

参见官方文档

三、同步流程

Soul 网关在启动时,会从从配置服务同步配置数据,并且支持推拉模式获取配置变更信息,并且更新本地缓存。而管理员在管理后台,变更用户、规则、插件、流量配置,通过推拉模式将变更信息同步给 Soul 网关,具体是 push 模式,还是 pull 模式取决于配置。关于配置同步模块,其实是一个简版的配置中心。



用户头像

哼干嘛

关注

早日自由! 2018.09.30 加入

本职工作是后端开发,偶尔也写写前端和小程序

评论

发布
暂无评论
Soul 源码阅读 01|数据同步