![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
soul网关学习
文章平均质量分 56
xu123pt
这个作者很懒,什么都没留下…
展开
-
soul网关限流插件rate_limiter(1)
限流是微服务网关的一个常用功能,本篇我们先简要介绍下限流的技术方案和管理后端配置。技术方案在soul官网中有介绍,soul采用redis令牌桶算法进行限流,其在soul中的方案流程图如下:管理后端配置在插件管理界面开启限流插件添加选择器添加规则,主要是设置一下容量和速率。由于时间关系,今天不能整理代码的分析,等后续再补充。...原创 2021-02-06 02:25:47 · 377 阅读 · 1 评论 -
soul网关对http服务性能影响的压测对比
之前学习soul代理http服务的时候,没有对http服务被代理前后进行对比,本文对此进行补充,使用sb工具进行压测,步骤如下。分别启动admin, bootstrap, http example。http无代理情况压测:$ sb -u http://127.0.0.1:8188/test/findByUserId?userId=1 -c 10 -N 20Starting at 2021/2/6 0:58:58[Press C to stop the test]85564 (RPS: 3原创 2021-02-06 01:35:00 · 1583 阅读 · 0 评论 -
soul网关数据同步之http长轮询同步方式探究——流程图
以下为http长轮询配置数据同步流程图原创 2021-02-03 22:10:14 · 371 阅读 · 0 评论 -
soul网关数据同步之http长轮询同步方式探究
soul网关的配置数据同步由三种方式,前面我们已经介绍了websocket同步和zookeeper同步方式,本文继续探究最后一种同步方式——http长轮询。启动前网关启动前,需要修改admin和bootstrap的配置,将两者的数据同步方式都改成http,具体如下(依旧注意缩进问题):admin端yml配置修改soul: database: dialect: mysql init_script: "META-INF/schema.sql" init_enable: t原创 2021-02-02 01:37:18 · 167 阅读 · 1 评论 -
soul网关数据同步之zookeeper同步方式探究(2)——bootstrap端同步
在《soul网关数据同步之zookeeper同步方式探究(1)——admin端同步》一文中,我们分析了admin端元数据同步到zk服务端的大致原理,本文继续分析bootstrap端与zk的元数据同步原理(zk版本为3.5.9),bootstrap的yml配置修改如下:soul : file: enabled: true corss: enabled: true dubbo : parameter: multi sync:# w原创 2021-01-30 03:19:17 · 198 阅读 · 0 评论 -
soul网关学习之bootstrap启动报错-问题初步解决
上一篇记录了bootstrap启动时系统报如下异常:No such application config! Please add <dubbo:application name="..." /> to your spring config试了四种方式,还是没能解决这个报错问题,今天突然想到会不会跟zookeeper版本有关,之前测试alibaba dubbo用例的时候,就出现过zookeeper版本不对,导致alibaba dubbo用例的dubbo服务未能注册成功,后面把用例里面的zoo原创 2021-01-30 01:35:43 · 899 阅读 · 1 评论 -
soul网关学习之bootstrap启动报错(问题记录)
今天原本打算继昨天的步骤,继续探究bootstrap端的zookeeper数据同步机制,不过今天却在启动bootstrap的过程中,报了如下错误:Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.2021-01-29 02:14:11.088 ERROR 59332 --- [ main] o.s.boot.S原创 2021-01-29 02:29:47 · 523 阅读 · 2 评论 -
soul网关数据同步之zookeeper同步方式探究(1)——admin端同步
上一篇(soul网关数据同步之websocket同步方式探究)我们分析了soul网关的websocket同步方式,准备一鼓作气,把三种数据同步方式都了解一遍,本篇我们探讨zookeeper admin端同步方式。数据同步方式配置在官网介绍中有说明,admin和bootstrap必须配置成一样的同步方式,才可以正常进行数据同步,这里我们修改admin的yml配置如下(注意缩进格式,否则可能导致zookeeper监听其不能初始化):soul: database: dialect: mysql原创 2021-01-28 00:48:06 · 133 阅读 · 0 评论 -
soul网关数据同步之websocket同步方式探究
昨天在跑springCloud测试用例过程中,后面有一些疑惑,就是元数据那边已触发元数据更新,但是bootstrap没有同步过来,元数据中没有看到springCloud的,不过今天重新测试,又没有复现出该问题,今天的主要目的是想了解soul的配置数据从admin同步到bootstrap的过程。 按照官网介绍,soul配置数据有三种同步方式,分别是websocket、zookeeper以及http长轮询,本文仅研究websocket同步。过程如下:分别启动admin和bootstrap,bootst原创 2021-01-27 02:27:40 · 268 阅读 · 0 评论 -
soul网关springcloud用例学习:springcloud用例运行与问题分析
今日目标soul网关作为springcloud网关的用例学习,对应用例工程 soul-examples-springcloud艰难的过程今天应该算是自己第一次从代码层面接触springcloud,在黑暗中摸索springcloud和soul网关的结合,中间遇到不少问题,且慢慢道来。根据之前测试http代理和dubbo代理的经验,先是无脑地启动 admin、bootstrap,然后启动soul-examples-springcloud,从admin前端界面看,springcloud对应的选择器和规则原创 2021-01-26 02:20:11 · 247 阅读 · 0 评论 -
soul网关dubbo学习(2):dubbo测试用例测试过程分析
前言今天主要内容是学习了soul网关代理dubbo服务的过程,在讲述主要内容之前,先回顾下上回遇到的问题,上回在启动了alibaba dubbo example之后,发现dubbo服务无法调用,但是今天启动却没发现该问题,dubbo服务可以正常代理,中间没有改过什么代码或配置,倒是有一次电脑重启,也许是重启大法的功效,上次出问题的具体原因暂时也无法追溯。另外,soul-examples-alibaba-dubbo-service启动报如下异常(暂未影响到我测试的功能,未细查):2021-01-24 00原创 2021-01-24 02:46:00 · 238 阅读 · 0 评论 -
soul网关dubbo学习(1):测试用例运行
今天计划是学习使用soul网关进行dubbo服务代理。dubbo是一个远程服务调用框架,具体的内容已经有点模糊了,这块另外再去补。今天单单运行测试用例也没有成功,由于时间太晚了,不能再研究下去,先对过程进行记录。example中有alibaba dubbo和appache dubbo两个例子,本次使用alibaba dubbo进行测试,过程如下。分别启动 admin, bootstrap,在admin中打开dubbo插件开关;启动alibaba dubbo example,然后发生如下问题;问原创 2021-01-22 02:19:53 · 402 阅读 · 2 评论 -
soul网关学习-一些感想
今日目标理解soul网关中的一些响应式编程学习情况由于之前响应式编程不了解,代码看起来总觉得别捏,今天看了一些响应式编程的资料,稍微了解了一点,大致能看懂soul中的一些写法,但是还没实际动手实践,下手估计还有困难。另外,在看http入口的SoulWebHandler时,看到有度量系统的埋点,于是也颇有兴趣地看了下代码,发现这也就是soul的monitor插件,对soul的插件式实现更有感触,各种不同功能都能采用一个同样的插件框架来实现,想到自己手头的一些业务,之前也一直在想怎样搞出一个比较统一的框原创 2021-01-21 02:06:15 · 145 阅读 · 0 评论 -
soul网关案例学习:http代理大致流程
今日目标了解http代理过程。探索过程启动admin, bootstrap和http example,用postman发起如下GET请求:http://127.0.0.1:9195/http/test/findByUserId?userId=1bootstrap打印如下日志:INFO 42752 --- [-work-threads-9] o.d.soul.plugin.base.AbstractSoulPlugin : divide selector success match , sel原创 2021-01-20 02:30:08 · 692 阅读 · 0 评论 -
soul网关案例学习(3):http代理和divide插件(问题记录,非干货)
原计划目标了解网关http代理的过程,进行压测。结果目标没达成。过程今天起了admin和bootstrap,然后起了http example,调用网关代理接口时,发现网关在实际转发到http example时,请求的IP是一个不认识的IP,于是查看下自己的网络配置情况,发现确实有一个网卡(TAP-Windows Adapter V9)对应这个ip,这应该是一个虚拟网卡,不知道PC什么时候多了这个,也很疑惑http example为什么会用这个IP,这个下一步自己再另外了解具体机制。INFO 34原创 2021-01-19 02:34:06 · 826 阅读 · 1 评论 -
soul网关案例学习(2):http代理和divide插件
前文疑惑1. ConditionTransfer无法初始化是啥回事?2. 代理的服务具体是如何注册上去的?本篇先解答下上述两个问题。1. ConditionTransfer无法初始化ConditionTransfer无法初始化在后台还发现如下日志:Caused by: java.lang.RuntimeException: java.lang.ClassNotFoundException: Cannot find implementation for org.dromara.soul.admi原创 2021-01-17 02:21:15 · 232 阅读 · 0 评论 -
soul网关案例学习(1):http代理和divide插件
学习收获今天最初目的是要完成http代理的测试跑通以及了解相关过程,不过整体进展还不太顺利,由于时间太晚了,现在先记录下今天所做的一些,未完成的需要明天继续。所做如下:看猫大人soul视频的http服务相关部分;本地eclipse启动soul-test-http,相关选择器未能注册到soul-admin,后面发现yaml端口配成soul-bootstrap的9195端口,改成soul-admin的9095端口,依旧不能注册上去疑惑和需要补充的代理的服务具体是如何注册上去的?mapstruc原创 2021-01-16 03:53:56 · 417 阅读 · 0 评论 -
soul网关安装
soul网关简介soul 是基于 WebFlux 实现的响应式的开源API 网关(源码链接),具有异步、高性能、跨语言等特点。作者:我希望能够有一样东西像灵魂一样,保护您的微服务。在参考了 Kong、Spring Cloud Gateway 等优秀的网关后,站在巨人的肩膀上,Soul 由此诞生!目前 soul 功能列表如下:支持各种语言,无缝集成到 Dubbo、Spring Cloud、Spring Boot 中。Soul 是极其少支持 Dubbo 的 API 网关,通过 Dubbo 泛化原创 2021-01-15 02:17:47 · 485 阅读 · 2 评论