ws-cloud-gateway轻量级网关服务
基于 openresty + etcd 实现的轻量级网关服务。
目前市面上已经有很多网关组件,ws-cloud-gateway 的定位是比更加轻量,只保留在实践中经常使用到的组件,同时可以自定义插件,针对不用业务,定制化个性功能。
项目中参考了 incubator-apisix,同时有部分代码直接引用了 apisix 源码。
为什么选择 ws-cloud-gateway
-
高性能:底层使用 nginx 异步事件驱动的网络通信模型
-
轻量、灵活:将多个微服务组件整合到一起,对服务器开销小(节省服务器成本),适合初创业务,同时后期业务规模扩大后也容易调整
-
上手简单学习曲线低,支持自定义插件,可灵活定制个性化功能
-
上游服务节点使用 etcd 管理,可以通过推模式更新节点配置
-
无需重启服务,可实时修改参数配置
-
支持控制面板管理
架构
服务启动时,将自己的节点信息注册到 etcd,包括:服务名称、ip、端口
网关服务从 etcd 监听服务节点信息,保存到缓存中,从客户端请求的 url 中提取服务名称,通过服务名称查找节点信息,将请求转发到后端服务
todo
-
[x] 服务发现,动态路由
-
[x] 自动生成 requestId,方便链路跟踪
-
[x] 控制面板
-
[ ] gRPC 代理
-
[ ] 动态ip防火墙
-
[ ] 限流器
-
[ ] 用户登录认证
-
[ ] 接口协议加解密
-
[ ] 统一配置管理
控制面板
鸣谢
评论