![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Soul 网关源码阅读
文章平均质量分 83
lq9616
这个作者很懒,什么都没留下…
展开
-
Soul网关源码阅读18-解析context-path插件
context-path插件可以帮我们重新请求的URL,这样对外可以屏蔽实际的请求地址。我们来解析一下如何使用一、环境搭建soul-admin开启 context-path 插件:系统管理 --> 插件管理soul-bootstrapsoul-bootstrap/pom.xml网关中 rewrite 依赖默认是没有的需要手动添加<dependency> <groupId>org.dromara</groupId> <原创 2021-02-04 22:14:12 · 376 阅读 · 0 评论 -
Soul网关源码阅读17-解析rewrite插件
rewrite插件可以帮我们重新请求的URL,这样对外可以屏蔽实际的请求地址。我们来解析一下如何使用一、环境搭建soul-admin开启 rewrite 插件:系统管理 --> 插件管理soul-bootstrapsoul-bootstrap/pom.xml网关中 rewrite 依赖默认是没有的需要手动添加<dependency> <groupId>org.dromara</groupId> <artifactI原创 2021-02-03 20:51:01 · 663 阅读 · 0 评论 -
Soul网关源码阅读16-hystrix插件使用
hystrix插件是网关用来对流量进行熔断的核心实现,今天尝试使用一下。一、配置环境1、soul-admin登录soul-admin 打开 hystrix插件2、soul-bootstrap<!-- soul hystrix plugin start--><dependency> <groupId>org.dromara</groupId> <artifactId>soul-spring-boot-starter-p原创 2021-02-01 21:50:16 · 118 阅读 · 0 评论 -
Soul网关源码阅读15-解析rate_limiter限流插件
rateLimiter 是soul网关的限流插件,是网关对流量管控的核心,今天来尝试使用一下,并结合源码解析原理。一、环境配置1、soul-admin系统管理 > 插件管理 > 打开rate_limiter插件开关redis选择的是单机部署standalone,填入 redis的,url,password,然后点击确定我代理的服务是通过http请求,所以还要打开devide插件2、soul-bootstrapsoul-bootstrap/pom.xml 加入ratelim原创 2021-01-30 19:05:29 · 744 阅读 · 0 评论 -
Soul网关源码阅读14-tars插件使用
soul网关支持tars,尝试跑通tars插件1、环境搭建soul-admin登录soul-admin打开tars插件开关soul-bootstrapsoul-bootstrap/src/main/resources/application-local.yml 增加如下依赖<dependency> <groupId>org.dromara</groupId> <artifactId>soul-spring-boot原创 2021-01-29 23:45:00 · 241 阅读 · 0 评论 -
Soul网关源码阅读13-理解HTTP请求处理
Soul 是一个异步的,高性能的,跨语言的,响应式的API网关,主要基于Spring WebFlux 和 Netty 来实现。来看下一些基础类的作用,对理解soul网关请求处理过程将有帮助。org.springframework.http.server.reactive.HttpHandlerorg.springframework.http.server.reactive.ReactorHttpHandlerAdapterorg.springframework.web.server.adapter原创 2021-01-28 22:13:36 · 423 阅读 · 0 评论 -
Soul网关源码阅读12-使用websocket同步数据
使用websocket同步数据到网关一、配置环境1、soul-adminsoul-admin/src/main/resources/application.ymlsoul: sync: websocket: enabled: true2、soul-bootstrapsoul-bootstrap/src/main/resources/application-local.ymlsoul: sync: websocket :原创 2021-01-27 20:07:53 · 253 阅读 · 3 评论 -
Soul网关源码阅读11-使用Nacos同步数据(02)
根据上一篇文章,我们知道soul-admin启动后不会自动向nacos同步数据,需要手动操作。本篇文章分析一下soul-admin,nacos,soul-bootstrap同步数据的过程。一、soul-admin 如何同步网关数据?1、插件信息更新后会发布一个DataChangedEvent事件/** * create or update plugin * @param pluginDTO {@linkplain PluginDTO} * @return rows */@Override原创 2021-01-26 21:09:08 · 124 阅读 · 0 评论 -
Soul网关源码阅读10-使用Nacos同步数据(01)
本篇分析一下Nacos同步数据原理1、先配置一下环境soul-adminsoul-admin/src/main/resources/application.ymlsoul: sync: nacos: url: localhost:8848 namespace: 1c10d748-af86-43b9-8265-75f487d20c6c # acm: # enabled: false # endpoin原创 2021-01-25 18:30:45 · 169 阅读 · 0 评论 -
Soul网关源码阅读09-使用http长轮询同步数据(02)
接着上一篇,继续解析一下 HttpLongPollingDataChangedListener 类。org.dromara.soul.admin.listener.http.HttpLongPollingDataChangedListener1、提供给网关测,负责长轮询调用。// 执行http长轮询public void doLongPolling(final HttpServletRequest request, final HttpServletResponse response) {原创 2021-01-23 20:27:51 · 174 阅读 · 0 评论 -
Soul网关源码阅读08-使用http长轮询同步数据(01)
前面两篇文章分析了zookeeper的数据同步原理,今天看一下体验http长轮询同步数据一、环境配置1、soul-admin 网关配置管理服务soul-admin/src/main/resources/application.yml打开http长轮询配置。还有 soul-admin–>pom.xml 中的 websocket、zookeeper、nacos 等依赖无需删除,否则服务无法启动,仅需要把相应配置注释即可。soul: sync:# websocket:#原创 2021-01-22 22:09:52 · 222 阅读 · 0 评论 -
Soul网关源码阅读07-使用zookeeper同步数据(02)
启动admin,与网关。 admin操作,使用zookeeper同步数据到网关上一篇,通过soul-admin启动过程为入口,分析了soul-admin 启动就会同步网关数据 rule、metaData、selector、plugin 等到 zookeeper。数据变化会发布 DataChangedEvent事件,监听事件将数据同步至zookeeper。本篇接着上一篇继续跟踪源码分析zookeeper同步数据到网关原理:soul-admin 变更网关数据,跟踪数据同步过程。soul-bootst原创 2021-01-21 20:48:05 · 137 阅读 · 0 评论 -
Soul网关源码阅读06-使用zookeeper同步数据(01)
启动 soul-admin、soul-bootstrap, 使用zookeeper同步数据到网关一、配置环境1、soul-admin 服务配置,需要重启服务soul-admin/src/main/resources/application.ymlsoul: sync: zookeeper: url: localhost:2181 sessionTimeout: 5000 connectionTimeout: 20002、原创 2021-01-20 21:43:05 · 173 阅读 · 1 评论 -
Soul网关源码阅读05-体验springcloud代理
结合springcloud插件,发起http请求soul网关,体验springcloud代理一、环境准备1、soul-bootstrap 引入网关springCloud的插件支持在网关的 pom.xml 文件中引入如下依赖<!--soul springCloud plugin start--> <dependency> <groupId>org.dromara</groupId> <artifactId>原创 2021-01-19 23:23:45 · 186 阅读 · 0 评论 -
Soul网关源码阅读04-体验sofa代理
结合sofa插件,发起http请求soul网关,体验sofa代理一、启动服务:soul-adminsoul-bootstrapsoul-examples-sofasoul-examples-sofa 启动报如下错误,同时会影响网关测的服务调用,导致服务无法调通。解决方式:这里的 bolt-port: 8888 可能被占用,修改一下这个端口soul/soul-examples/soul-examples-sofa/src/main/resources/application原创 2021-01-18 17:54:26 · 529 阅读 · 0 评论 -
Soul网关源码阅读03-体验dubbo代理
结合dubbo插件,发起http请求soul网关,体验dubbo代理1、启动网关服务1) soul-admin:启动网关管理后台,打开dubbo插件配置2) soul-bootstrap:启动网关入口3)启动zookeeper,使用zookeeper作为 Dubbo 服务的注册中心zookeeper ./bin/zkServer.sh start/usr/bin/javaZooKeeper JMX enabled by defaultUsing config: /Documents/原创 2021-01-16 21:33:57 · 229 阅读 · 0 评论 -
Soul网关源码阅读02-体验http代理
本次将结合divde插件,发起http请求soul网关,体验http代理1、启动服务soul-admin:启动网关管理后台,打开divde插件配置soul-bootstrap:启动网关入口soul-examples->soul-examples-http:启动http请求测试用例2、通过soul网关进行访问:http://127.0.0.1:9195/http/order/findById?id=1可以看到 soul bootstrap 日志打印如下信息。当前开启的插件是divi原创 2021-01-16 00:45:25 · 362 阅读 · 0 评论 -
Soul网关源码阅读01-网关入门
1、clone fork的源码```git clonehttps://github.com/SpaceEmpire/soul.git```2、编译,编译完成大概需要2分多钟:```➜soulgit:(master)mvn clean package install -Dmaven.test.skip=true -Dmaven.javadoc.skip=true -Drat.skip=true -Dcheckstyle.skip=true[I...原创 2021-01-14 20:32:36 · 344 阅读 · 2 评论