初探Soul网关week02_03

295 阅读1分钟

前言

昨天swtich刚到货,立马切换到🎮模式,插上了塞尔达的卡,肝到1:30,今天7点醒的,好困啊

Soul 网关的数据同步

Soul 是是一个异步的,高性能的,跨语言的,响应式的API网关。Soul 的官网是如此介绍自己的,撇开其他的不谈,今天梳理一下Soul的高性能。

图:Soul的整体架构图

Soul又一个很好的地方在于,插件都是热插拔的,并且所有插件的选择器、规则都是动态配置的,立即生效,不需要重启服务。

问题是Soul的用户是在admin项目下进行操作,数据会保存到数据库中,跟soul网关核心--bootstrap看起来好像没啥关系,其实不然,admin项目对于配置(插件、选择器、规则)的操作,都会同步到bootstrap项目的JVM内存中

至于为什么要同步到bootstrap项目的JVM内存中:如果每次访问网关都要去数据库拿数据,那网关的瓶颈一定会出现在数据库上,而把数据保存在JVM内存中,就可以很快的获取配置信息,在获取配置上实现高性能

图:我们可以看到现在Soul有4种数据同步方式

官方参考文档:dromara.org/zh-cn/docs/…

注:官方文档上没有更新nacos的同步方式