重磅消息:Dromara团队正式开源高性能异步API网关-Soul
原
荐
字数 944
阅读 26
收藏 0
RxJava Java Dubbo Zuul Spring Cloud
微服务为什么需要网关?
-
微服务的流行,服务之间的调用,需要统一的请求标准。
-
微服务接口,需要监控,限流,熔断,等等。
-
微服务接口需要统一的鉴权。
-
接口问题定位 A/B test等等。太多功能了,就不一一列举了。
Soul是什么? soul 是一款高性能,响应式的网关。我在参考Kong 的插件设计思想,高性能的webflux后,开发而来。
-
官网 : https://dromara.org 如果打不开,改成http即可.
-
github地址 : https://github.com/Dromara/soul
-
gitee地址: https://gitee.com/shuaiqiyu/soul
Soul架构设计
执行流程图
Soul功能:
-
支持各种语言,无缝集成Dubbo,SpringCloud,以及http服务。
-
丰富的插件支持,监控,鉴权,限流,熔断,代理,防火墙等等。
-
网关多种规则动态配置,支持各种策略配置。
-
插件热插拔,易扩展。
-
支持集群部署,支持A/B Test。
-
当然也有很多其他的功能,就不一一说了。
Soul 最大的亮点? 插件的热插拔,规则的动态配置。举个列子,比如一个接口你限流是1秒50次,但是你想调小点,像Springcloud-gateway 或者zuul 是不是还得改动配置 然后重启。 soul则不需要,直接在soul-admin找到对应的接口修改即可.
-
soul提供了比较丰富的插件功能,插件与插件规则,选择器,用户可以自由定义 不想用就停用或者删除就行。想用就开启或者新增。
-
soul 是基于webflux的, 依赖rxJava ,其实高性能的,响应式的网关。
-
soul 提供了dubbo ,springcloud rpc框架的支持。
Soul适合人群 是适合所有的微服务系统。
-
后端是java,使用了一些rpc框架(dubbo,springcloud), 然后前端或者其他系统是 .net php 然后需要对接? 然后你问 java 后端开发者,dubbo接口怎么调用? java 狗肯定不愿意给你提供http接口,或者直接回一句,你去找领导吧? 这个时候,你只需要告诉它,使用soul,你后端代码一句都不要动,只需要告诉我你zookeeper的地址就好!
-
当然也适合一些其他语言的系统,或者是老系统。 只要你是http服务就行,soul会进行代理请求调用。
Soul性能
- soul 天然支持集群部署,底层采用webflux。
- soul 所有的配置走的都是本地缓存。
- 双11,我们的高峰单台QPS 1W左右。
Soul VS java体系的Zuul,springcloud-gateway
- 性能上来说,soul和sc-gateway 都采用webflux,性能相当
- sc-gateway 或者zuul 基于配置的,接口很多很难集成,而且配置规则不是动态化的。
- soul是插件化的思想,插件热插拔,配置灵活并且是动态化的。
- soul还可以用来排除问题,A/B test。
- soul提供了监控插件来统计qps等等信息。
- soul提供了waf,sign插件,来阻止外来攻击
soul vs kong
- kong 也是非常优秀的框架,但是其实 lua 语言,开发维护成本高,但是soul完全是java,所以javaer你懂的。
篇幅原因,此文只是一个简单介绍,Soul有很大的价值,喜欢的朋友可以去官网详细介绍。也欢迎大家进行star 和fork
© 著作权归作者所有
共有人打赏支持
相关文章 最新文章
每周技术抢先看,总有你想要的! 开源资讯 开源中国安卓客户端 2.X 系列版本正式开源 为什么你说“就差一个 码农 了”,我们是拒绝的 2015年5月 TIOBE 编程语言排行榜单 微软全新的 Edge 浏览器...
OSC编辑部
2015/05/17
3.2K
1
1、引言 京东的京麦商家后台2014年构建网关,从HTTP网关发展到TCP网关。在2016年重构完成基于Netty4.x+Protobuf3.x实现对接PC和App上下行通信的高可用、高性能、高稳定的TCP长连接网关。 早期...
JackJiang2011
2017/12/01
0
0
消息队列调研 消息系统简介 本次主要调研业界使用广泛的两款消息队列——RabbitMQ, Kafka, 以及阿里云的提供的两个服务, MNS和ONS. RabbitMQ RabbitMQ 是使用Erlang编写的一个开源的消息队...
该如何是好
2016/08/16
272
0
HornetQ是一个支持集群和多种协议,可嵌入、高性能的异步消息系统。HornetQ完全支持JMS,HornetQ不但支持JMS1.1 API同时也定义属于自己的消息API,这可以最大限度的提升HornetQ的性能和灵活性...
红薯
2009/12/08
267
0
HornetQ 2.3.0.CR1 发布了,该版本修复了很多 bug,另外如果没有再发现其他问题,将在短时间内直接将 CR1 版本标注为 Final 正式版。 HornetQ是一个支持集群和多种协议,可嵌入、高性能的异步...
红薯
2013/01/31
663
1
没有更多内容
加载失败,请刷新页面
加载更多SpringBoot 1.Profiles Spring Profiles能够在不同的环境中使不同的应用配置生效。@Component和@Configuration两个注解都能够通过@Profiles来标记。下面是例子: @Configuration@Profile("b...
不学无数的程序员
5分钟前
1
0
在http 中添加如下 fastcgi_connect_timeout 300s; fastcgi_send_timeout 300s; fastcgi_read_timeout 300s;...
hansonwong
6分钟前
0
0
如题,升级了一下mybatis版本后出现循环引用的问题。 具体异常如下 ***************************APPLICATION FAILED TO START***************************Description:The depen...
HeyS1
7分钟前
0
0
最近在测试 MongoDB 4.0 分片集群 ,搭建好所有节点后,往mongos添加分片的时候,一直报错 Could not find host matching read preference { mode: \"primary\" } for set ,如下 mongos> sh...
xxj123gogo
11分钟前
0
0
# tar -zxvf jdk-8u144-linux-x64.tar.gz vi /etc/profile export JAVA_HOME="/usr/local/java/jdk1.8.0_144" export CATALINA_HOME="/usr/local/tomcat/apache-tomcat-9.0.0.M22" export PA......
八戒八戒八戒
12分钟前
0
0
没有更多内容
加载失败,请刷新页面
加载更多以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- 重磅!谷歌发布 Flutter 2
- Linkis 0.9.1 重磅发布
- 美颜重磅技术之 GPUImage 源码分析
- 360 重磅开源性能监控平台 ArgusAPM
- MLSQL v1.1.7 重磅发布
- 重磅!一文解读神策智能推荐
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Building Web Reputation Systems
Randy Farmer、Bryce Glass / Yahoo Press / 2010 / GBP 31.99
What do Amazon's product reviews, eBay's feedback score system, Slashdot's Karma System, and Xbox Live's Achievements have in common? They're all examples of successful reputation systems that enable ......一起来看看 《Building Web Reputation Systems》 这本书的介绍吧!
UNIX 时间戳转换
UNIX 时间戳转换
HEX HSV 转换工具
HEX HSV 互换工具