同步操作将从 Apache ShenYu/shenyu 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
可扩展,高性能,响应式的 API 网关
English | 简体中文
soul-admin : 插件和其他信息配置的管理后台
soul-bootstrap : 用于启动项目,用户可以参考
soul-client : 用户可以使用 Spring MVC,Dubbo,Spring Cloud 快速访问
soul-disruptor : 基于disruptor的封装
soul-register-center : 为soul-client提供各种rpc接入注册中心的支持
soul-common : 框架的通用类
soul-dist : 构建项目
soul-metrics : prometheus(普罗米修斯)实现的 metrics
soul-plugin : Soul 支持的插件集合
soul-spi : 定义 Soul spi
soul-spring-boot-starter : 支持 spring boot starter
soul-sync-data-center : 提供 ZooKeeper,HTTP,WebSocket,Nacos 的方式同步数据
soul-examples : RPC 示例项目
soul-web : 包括插件、请求路由和转发等的核心处理包
无论请求何时进入,Soul 会通过响应链执行所有已打开的插件。
插件是 Soul 的灵魂,并且插件也是可扩展和热插拔的。
不同的插件实现不同的功能。
当然,用户也可以定制化插件去满足他们自己的需求。
如果你有定制化插件的需求,请参看这里:custom-plugin
选择器和规则会根据 HTTP 的请求头来路由你的请求。
选择器是你的第一个路由,它是粗粒度的,举个例子,模块级别。
规则是你的第二个路由,即你认为你的请求应该做什么,举个例子,模块中的方法级别。
选择器和规则只匹配一次,然后返回匹配。因此,最粗粒度应排在最后。
所有的数据都被缓存在 JVM 的 ConcurrentHashMap 中,所以它非常快。
当用户在后台界面改变配置信息时,Soul 通过监听 ZooKeeper node,WebSocket push,HTTP longPull 来动态更新缓存。
Soul 已在我们的生产环境中使用,它的性能和灵活性使我们用起来非常方便。
在双 11 中,我们部署了 6 个集群,这些集群支持了我们的大量业务。
为了便于登记,欢迎已经使用了 Soul 的公司在 https://github.com/Dromara/soul/issues/68 注册。(仅适用于开源用户)
#贡献者列表
Soul
遵循 Apache-2.0
开源协议,欢迎大家提交 PR
或 Issue
。
如果要为项目做出贡献,请查看 贡献指南。
感谢每一位为 Soul
贡献代码的朋友。
微信公众号 | QQ 交流群 | 芋道源码 | JetBrains |
---|---|---|---|
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。