开源高性能异步网关:Soul

作者:xiaoyu

来源:Dromara分布式事务

微服务为什么需要网关?

  • 微服务的流行,服务之间的调用,需要统一的请求标准。
  • 微服务接口,需要监控,限流,熔断,等等。
  • 微服务接口需要统一的鉴权。
  • 接口问题定位 A/B test等等。太多功能了,就不一一列举了。

Soul是什么?

* soul 是一款高性能,响应式的网关。我在参考Kong 的插件设计思想,高性能的webflux后,开发而来。

* 官网 : https://dromara.org 如果打不开,改成http即可.

* github地址 :https://github.com/Dromara/soul

* gitee地址: https://gitee.com/shuaiqiyu/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有很大的价值,喜欢的朋友可以去官网详细介绍。

-END-

原文发布于微信公众号 - 程序猿DD(didispace)

原文发表时间:2018-11-24

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏IT技术精选文摘

从Java视角理解系统结构(一)CPU上下文切换

在高性能编程时,经常接触到多线程. 起初我们的理解是, 多个线程并行地执行总比单个线程要快, 就像多个人一起干活总比一个人干要快. 然而实际情况是, 多线程之间...

2469
来自专栏Java架构

2018年一线互联网公司Java高级面试题总结JVM分布式专题架构福利

4104
来自专栏云之翼

在虚拟机上容器环境性能--动态测试问题分析总结(二)

在上一篇中,介绍了静态测试场景,本文介绍动态性能测试的差异分析,希望大家可以借鉴。

1280
来自专栏Java帮帮-微信公众号-技术文章全总结

01.WebService_基础知识

01.WebService_基础知识 WebService基础学习(一)—基础知识 一、WebService 1.什么是WebService Web ...

3829
来自专栏Golang语言社区

[Go语言]一种用于网游服务器的支持多路复用的网络协议处理框架

简介: 本文描述了使用Go语言实现的、适应于Go语言并发模型的一种支持多路复用的网络协议处理框架,并提供了框架的代码实现。作者将这种框架用于网络游戏服务器中的协...

37210
来自专栏SDNLAB

DLUX组件扩展下篇-实践

作者: M.S-Group.皮皮熊,M.S-Group组织主要成员之一,数通行业老兵,精通传统数通网络技术,SDN/NFV新技术的狂热拥护者!

1304
来自专栏何俊林

美团猫眼电影Android模块化实战总结

首先一句话概括:我想把这几个月做的事情记录下来,并且希望尽量详细,希望读者读了这篇文章能够知道项目进行模块化,项目改业务框架可能会遇到哪些问题,具体每个步骤都做...

3002
来自专栏架构师之路

90行代码,搞定日志监控框架

上一篇《100行代码,搞定http监控框架》介绍了通用+可扩展的http监控平台的架构: 监控平台层:调度监控项,通过后台管理监控项 信息管理层:通过服务和后台...

8737
来自专栏编程

教你从零开始搭建一款前端脚手架工具

本文系原创,转载请注明:作者:Jrain Lau(https://segmentfault.com/u/jrainlau)项目地址:https://github...

4277
来自专栏Java后端技术栈

为什么说Redis是单线程的?

近乎所有与Java相关的面试都会问到缓存的问题,基础一点的会问到什么是“二八定律”、什么是“热数据和冷数据” ,复杂一点的会问到缓存雪崩、缓存穿透、缓存预热、缓...

1362

扫码关注云+社区

领取腾讯云代金券