<返回更多

Java 界最好的 API 网关 Soul

2019-12-27    
加入收藏

soul网关发布2.1.0版本 (做JAVA界最好的API-Gateway)

 

快速启动 soul-admin

> wget https://yu199195.github.io/jar/soul-admin.jar

> java -jar soul-admin.jar --spring.datasource.url="jdbc:MySQL://你的url:3306/soul?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=CONVERT_TO_&failOverReadOnly=false&autoReconnect=true&useSSL=false"
--spring.datasource.username='you username' --spring.datasource.password='you password'

 

快速启动 soul-bootstrap

> wget https://yu199195.github.io/jar/soul-bootstrap.jar

> java -jar soul-bootstrap.jar

 

springMvc服务接入

参考文档: https://dromara.org/zh-cn/docs/soul/joinUp-mvc.html

 

dubbo服务接入

参考文档: https://dromara.org/zh-cn/docs/soul/joinUp-dubbo.html

 

springCloud服务接入

参考文档: https://dromara.org/zh-cn/docs/soul/joinUp-springcloud.html

 

代码与文档

github : https://github.com/Dromara/soul

gitee : https://gitee.com/shuaiqiyu/soul

文档: https://dromara.org/zh-cn/docs/soul/soul.html

 

Soul网关发布2.1.X之后,它到底有多方便?

Soul网关自从去年10月我开源以来,经历了一年的事情,接受到了来自社区很多朋友的建议,并进行持续不断的优化,已经提供了非常丰富的功能,很多功能都是高度自定义,可视化,高度可扩展的,现在做一个归纳总结。

插件

数据同步

对于用户

对于开发者(程序员)

说了这么多,吹了这么多牛逼,那么我们来看看 soul网关到底可以在什么场景下能发挥大作用。

后台管理web

首先随便微服务的流行,我们的后台都划分成很多的微服务,我相信你们每个公司都有一个后台管理系统吧,如果我没猜错的话,他们大体上是如下架构

Java 界最好的 API 网关 Soul

很简单对吧,就是有个运营管理平台的web项目,去调用每个微服务,来进行后台的查看等等。随着你们业务需要的加大,可能这里需要调用的微服务越来越多,你的 controller越来越多,现在比如你修改了 商品模块的 接口,你要发版会造成所有其他的模块也操作不了(就是你发版影响了其他模块的使用,别杠这里只是比方,不要整蓝绿发版啥的,明白意思吧)。

如果有运营人员在操作其他模块,会不会吐槽你?

假如你是公司架构师,我说的是假如,那么你要怎么解决这个问题呢?当然,我们把这样一个大的web系统,拆分成很多小web系统,单独的进行发布,但是这样会引入一个问题,怎么统一登陆,鉴权?(很多后台管理系统还有权限的划分) ,这个时候,soul网关 就能发挥重要的作用了,下面我只是列举了一下简单的调用图。

Java 界最好的 API 网关 Soul

这样多方便,集成了网关,每个微服务注册到网关,网关根据路由规则来进行调用。自动发现服务,连运维配置 Nginx的工作都省了,把运维的工资给你,美滋滋。

公司入口网关(开放平台)

如果一个公司要做开放平台或者入口网关,鉴权,限流,监控,熔断肯定少不了。

如果贵公司是dubbo体系,开发人员写了dubbo服务后,还要傻乎乎的新增一个web项目,来提供接口给别人调用吗?

如果一个接口被攻击,你怎么处理呢?如果被大流量攻击,你怎么处理呢?

不巧,soul设计之初就是来干这种事情的,我们来看一下整体的架构图。

Java 界最好的 API 网关 Soul

 

零零总总还有很多其他功能

 

最后最后

声明:本站部分内容来自互联网,如有版权侵犯或其他问题请与我们联系,我们将立即删除或处理。
▍相关推荐
更多资讯 >>>