![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Soul
油炸小波
虚心若愚 求知似渴
展开
-
6.什么是API网关
在前面5章节,我们详细论述了如何在一个SpringBoot应用中,搭建Dubbo+Zookeeper,同时在此基础之上,引入了API GateWay-Soul(Soul只是API网关的一种,并非唯一也并非一定最优)。至少在使用层面上,我们有了基础的认知,在此基础之上,我们再回过头来看下,什么是API GateWay,以及他帮我们实现了什么?为什么现在越来越多的架构中都开始引入了API网关。1.什么是API网关可以简单理解为:他更像是一种思想,而不是一种具体的架构,在很多框架中都有体现,如国产的K.原创 2020-07-12 14:23:04 · 521 阅读 · 0 评论 -
5.数据同步原理
下图展示了 Soul 数据同步的流程,Soul 网关在启动时,会从从配置服务同步配置数据,并且支持推拉模式获取配置变更信息,并且更新本地缓存。而管理员在管理后台,变更用户、规则、插件、流量配置,通过推拉模式将变更信息同步给 Soul 网关,具体是 push 模式,还是 pull 模式取决于配置。关于配置同步模块,其实是一个简版的配置中心。 在 1.x 版本中,配置服务依赖 zookeeper 实现,管理后台将变更信息 push 给网关。而 2.x 版本支持 webosocket、http、zookeep原创 2020-07-12 14:22:30 · 889 阅读 · 0 评论 -
4.Soul数据库设计
插件采用数据库设计,来存储插件,选择器,规则配置数据,以及对应关系。 数据库表UML类图:设计详解: 一个插件对应多个选择器,一个选择器对应多个规则。 一个选择器对应多个匹配条件,一个规则对应多个匹配条件。 每个规则在对应插件下,不同的处理表现为handle字段,这个一个不同处理的json字符串。具体的可以在admin使用过程中进行查看。 说明:meta_data:对dubbo泛化调用使用,每条记录对应一个dubbo接口的方法,http协议不会保存,而springcloud协议,原创 2020-07-12 14:20:57 · 537 阅读 · 0 评论 -
3.Soul网关接入与验证
此章节将基于上一章节基础之上,引入Soul网关,至于Soul网关是干什么的,怎么做的,我们会在后续章节讲解,1-3章节侧重于搭建应用。本章节的Soul网关接入,如果你1,2章节都是和我保持一致,那么只需要直接启动Soul网关即可,但是对应的provider,consumer应用是需要额外的代码接入的。开发环境和第二章保持一致。3.1 提供者接入Soul3.1.1 pom<dependency> <groupId>org.dromara</group.原创 2020-07-12 14:19:59 · 1627 阅读 · 6 评论 -
2.搭建dubbo-zk应用
springboot:2.2.2alibaba.dubbo:2.0.0zkclinet:0.10JDK:1.81.创建父工程Idea或Eclipse创建普通Maven工程,GAV定义随意,也可以参考我的G:com.youzhaA:Dubbo_SoulV:1.0-SNAPSHOT父pom完整文件(该文件包括三个子module,在之后创建)<?xml version="1.0" encoding="UTF-8"?><project xm..原创 2020-07-12 14:16:54 · 288 阅读 · 0 评论 -
1.入门运行Soul
Git地址:https://github.com/Dromara/soul运行环境:MySQL 5.* JDK 1.8+ MAVEN 3.2.* Git更多原理性知识可以参考官网API:https://dromara.org/zh-cn/docs/soul/induction.html前言Soul 是基于 WebFlux 实现的响应式的 API 网关,具有异步、高性能、跨语言等特点。目前 Soul 功能列表如下:支持各种语言,无缝集成到 Dubbo、Spring Clou.原创 2020-07-12 14:11:57 · 709 阅读 · 0 评论