
soul
张天启
这个作者很懒,什么都没留下…
展开
-
soul网关源码解析-waf插件的使用
在soul-bootstrap项目pom文件引入jar包<dependency> <groupId>org.dromara</groupId> <artifactId>soul-spring-boot-starter-plugin-waf</artifactId> <version>${project.version}</version></dependency>后台启原创 2021-02-05 23:33:18 · 166 阅读 · 0 评论 -
soul网关源码解析-sign插件的使用
在soul-bootstrap项目pom文件引入jar包 <dependency> <groupId>org.dromara</groupId> <artifactId>soul-spring-boot-starter-plugin-sign</artifactId> <version>${project.version}</versi原创 2021-02-05 00:06:45 · 234 阅读 · 0 评论 -
soul网关源码解析-resilience4j插件的使用
在soul-bootstrap项目pom文件引入jar包 <dependency> <groupId>org.dromara</groupId> <artifactId>soul-spring-boot-starter-plugin-resilience4j</artifactId> <version>${project.version}</v原创 2021-02-03 22:07:21 · 152 阅读 · 0 评论 -
soul网关源码解析-sentinel插件的使用
首先在插件管理中开启插件配置.然后再添加相关的配置信息.添加pom文件<dependency> <groupId>org.dromara</groupId> <artifactId>soul-spring-boot-starter-plugin-sentinel</artifactId> <version>${project.version}</version></dependenc原创 2021-02-01 22:57:46 · 764 阅读 · 0 评论 -
soul网关源码解析-Hystrix插件
首先在插件管理中开启插件配置.然后再配置需要加入限流的信息.然后我们再请求的话如果有其他情况就会出现以下信息好下面我们看下限流插件方法的执行 @Override protected Mono<Void> doExecute(final ServerWebExchange exchange, final SoulPluginChain chain, final SelectorData selector, final RuleData rule) { //获取请原创 2021-01-31 02:20:49 · 143 阅读 · 0 评论 -
soul网关源码解析-http长轮询(soul-bootstrap)
我们看到这个项目soul-sync-data-http上次文章中可以看到主要实现2个接口(获取数据 监听)bootstrap主要通过 private void start() { // It could be initialized multiple times, so you need to control that. if (RUNNING.compareAndSet(false, true)) { // fetch all group co原创 2021-01-30 02:32:35 · 159 阅读 · 0 评论 -
soul网关源码解析-http长轮询(soul-admin)
我们看下soul-admin的类ConfigControllerpublic class ConfigController { @Resource private HttpLongPollingDataChangedListener longPollingListener; /** * Fetch configs soul result. * * @param groupKeys the group keys * @return the原创 2021-01-29 00:53:07 · 114 阅读 · 0 评论 -
soul网关源码解析-sofa插件
路径如何注册到数据库中在soul-spring-boot-starter-client-sofa这个项目中可以发现类SoulSofaClientConfiguration有2个Bean的方法 @Bean public SofaServiceBeanPostProcessor sofaServiceBeanPostProcessor(final SofaConfig sofaConfig) { return new SofaServiceBeanPostProcessor原创 2021-01-28 00:06:34 · 144 阅读 · 0 评论 -
soul网关源码解析-divide插件
项目配置信息和请求路径的读取在soul-soul-client-http项目中我们可以找到2个子项目1.soul-client-springmvc2.soul-client-springcloud我们先看springmvc项目的init包下的2个类SpringMvcClientBeanPostProcessorContextRegisterListener我们可以看到这个类继承自BeanPostProcessorBeanPostProcessor主要初始化针对初始化方法前后做一些逻辑处理原创 2021-01-27 01:04:54 · 201 阅读 · 0 评论 -
soul网关源码解析-数据同步
数据同步策略简单描述soul如何实现同步soul发布事件soul事件的实现soul监听者实现监听者如果注册的soul如果通过配置yml文件实现不同注册监听者简单描述soul的数据同步分为2种方式Soul 网关在启动时会从从配置服务同步配置数据,并且支持推拉模式获取配置变更信息,并且更新本地缓存管理后台发生变更通过推拉模式同步数据到网关.soul如何实现同步soul为了实现解耦采用的是spring事件监听机制 也就是观察者模式的一种实现.Spring实现机制的主要相关类1.Applica原创 2021-01-24 15:06:18 · 271 阅读 · 0 评论 -
soul网关源码解析-数据同步-nacos同步
nacos同步配置源码配置soul: sync: nacos: url: localhost:8848 namespace: 1c10d748-af86-43b9-8265-75f487d20c6c acm: enabled: false endpoint: acm.aliyun.com namespace: accessKey: secretKey:soul-bootst原创 2021-01-24 01:33:15 · 194 阅读 · 0 评论 -
soul网关源码解析-数据同步-http同步
http同步配置源码配置更新soul-admin和soul-bootstrap的yml文件配置如下soul : sync: http: url : http://localhost:9095soul : sync: http: enabled: truepom文件依赖(加入依赖后网关需要重启) <dependency> <groupId>org.dr原创 2021-01-23 00:06:33 · 169 阅读 · 0 评论 -
soul网关源码解析-数据同步-zookeeper同步
zookeeper同步配置源码配置更新soul-admin和soul-bootstrap的yml文件配置如下soul : sync: zookeeper: url: localhost:2181 sessionTimeout: 5000 connectionTimeout: 2000soul : sync: zookeeper: url: localhost:2181原创 2021-01-22 00:16:38 · 141 阅读 · 0 评论 -
soul网关源码解析-数据同步-weboscket同步
weboscket数据同步配置weboscket原理数据如何同步日志源码soul-spring-boot-starter-sync-data-websocketsoul-admin配置引入pom文件<dependency> <groupId>org.dromara</groupId> <artifactId>soul-spring-boot-starter-sync-data-websocket</artifactId&原创 2021-01-21 01:14:17 · 167 阅读 · 0 评论 -
soul网关源码解析-springcloud接入-springcloud插件
文章目录运行 soul-examples-springcloud demo配置pom文件项目的注册管理后台运行结果运行 soul-examples-springcloud demo配置pom文件 <dependency> <groupId>org.dromara</groupId> <artifactId>soul-spring-boot-starter-plugin-springcloud</artifa原创 2021-01-19 21:18:47 · 126 阅读 · 0 评论 -
soul网关源码解析-sofa接入-sofa插件
文章目录运行soul-examples-sofa demo配置代码管理后台运行结果遇到的问题依赖未加入带参的请求出错运行soul-examples-sofa demo配置需要启动一个zookeeper(单机就行了)代码检查下 soul-bootstrap 的pom文件下是否存在以下配置 <dependency> <groupId>com.alipay.sofa</groupId> <artifactId原创 2021-01-19 00:17:10 · 187 阅读 · 0 评论 -
soul网关源码解析-dubbo接入-dubbo插件
soul-examples demo下的soul-examples-apache-dubbo-service实例配置增加 @SoulDubboClient 注解在方法服务的实现类方法上加上注解,把服务注册到网关启动一个zk服务首先启动一个**zookeeper**服务(这里的不用集群单个的服务就可以了)你也可以注册nacos中 如果你注册nacos中相对应的配置插件配置也需要更改管理后台配置首先开启插件配置(并注册服务到我们开启的zk服务中,启动的是nacos就注册到nacos中)原创 2021-01-16 16:41:31 · 167 阅读 · 0 评论 -
soul网关源码解析-http协议接入-divide插件
这里的demo 都是soul-examples中的不同用户的test代码divide插件此插件主要针对http请求的接入接入方法pom 添加依赖(Springboot用户)<dependency> <groupId>org.dromara</groupId> <artifactId>soul-spring-boot-starter-client-springmvc</artifactId> <version&g原创 2021-01-16 04:15:38 · 605 阅读 · 1 评论 -
soul网关源码解析-环境搭建
项目功能简介支持各种语言(http协议),支持 dubbo,springcloud协议。插件化设计思想,插件热插拔,易扩展。灵活的流量筛选,能满足各种流量控制。内置丰富的插件支持,鉴权,限流,熔断,防火墙等等。流量配置动态化,性能极高,网关消耗在 1~2ms。支持集群部署,支持 A/B Test, 蓝绿发布。项目地址github https://github.com/dromara/soulgitee https://gitee.com/shuaiqiyu/soul(建议)需要的环境j原创 2021-01-15 00:48:55 · 251 阅读 · 0 评论