Soul 源码阅读 01|数据同步
网关是流量请求的入口,在微服务架构中承担了非常重要的角色,网关高可用的重要性不言而喻。在使用网关的过程中,为了满足业务诉求,经常需要变更配置,比如流控规则、路由规则等等。因此,网关动态配置是保障网关高可用的重要因素。那么,
Soul
网关又是如何支持动态配置的呢?
让我们一起带着问题,去查看 Soul 源码,探寻数据同步的实现。
一、Soul 网关数据同步有几种方式?
从代码中可以看到,目前支持 4 种同步方式:
WebSocket
Http 长轮询
Zookeeper
Nacos
二、数据同步方式配置
参见官方文档
三、同步流程
Soul 网关在启动时,会从从配置服务同步配置数据,并且支持推拉模式获取配置变更信息,并且更新本地缓存。而管理员在管理后台,变更用户、规则、插件、流量配置,通过推拉模式将变更信息同步给
Soul
网关,具体是push
模式,还是pull
模式取决于配置。关于配置同步模块,其实是一个简版的配置中心。
评论