还是忍不住,开源了一个 Java 的 dubbo 网关,在众多网关使用者中寻找知音

2022-03-25 08:47:17 +08:00
 kalman03
https://github.com/jingxiang/dubbo-gateway
2865 次点击
所在节点    分享创造
16 条回复
apgmer
2022-03-25 10:16:43 +08:00
赞一个。顺带问一句老哥,有写 cookie 的场景貌似比较麻烦
monkeyWie
2022-03-25 10:50:30 +08:00
官方不是已经有了吗: https://github.com/apache/dubbo-go-pixiu
kalman03
2022-03-25 11:04:01 +08:00
@apgmer 这个没 get 到,你是指?
kalman03
2022-03-25 11:04:59 +08:00
@monkeyWie 是的。
但出发点,以及编程语言,扩拓展性等等都是不太一样点,相比使用 dubbo 的用户,直接上 Java 的项目各方面要更简单一些。
kalman03
2022-03-25 11:09:06 +08:00
我的出发点主要这几个方面:
kalman03
2022-03-25 11:10:58 +08:00
1 、简单易用,不要复杂的文档,像使用 springboot 一样;
2 、API 文档必须自动化,代码即文档;
3 、高度可拓展。

btw:这该死的 ctrl+enter
apgmer
2022-03-25 11:22:27 +08:00
@kalman03 如果下游服务想要操作 cookie 应该怎么弄呢
kalman03
2022-03-25 11:30:16 +08:00
@apgmer 可自行配置 header 中有哪些参数需要传递到下游,本框架已提供支持,走的是 Dubbo 的 RpcContext 。参考: https://github.com/jingxiang/dubbo-gateway/blob/master/gateway-core/src/main/java/com/kalman03/gateway/interceptor/RpcContextHandlerInterceptor.java
apgmer
2022-03-25 12:04:10 +08:00
@kalman03 如果下游需要写 cookie 呢,response header 如何从 dubbo 服务中传递到浏览器。
kalman03
2022-03-25 12:34:35 +08:00
@apgmer 一定要这样做的话,本框架也可以支持的,dubbo 接口的返回结果里面包装对应的 cookie 对象,实现 https://github.com/jingxiang/dubbo-gateway/blob/24d849e919b06c867f3eda3ed382981bcec36e13/gateway-core/src/main/java/com/kalman03/gateway/interceptor/HandlerInterceptor.java#L18 接口,在 flush 结果之前,设置 GatewayHttpResponse 的 headerMap ,重置 GatewayHttpResponse 对象。
kalman03
2022-03-25 12:37:55 +08:00
我可以提个 issue 我去支持下
zhazi
2022-03-25 13:33:38 +08:00
又是一个 starter man
eivenchan
2022-03-26 11:31:20 +08:00
除了路由转发外,会考虑扩展一些额外的功能吗?例如 Oauth2 认证,接口调用鉴权等
among
2022-03-27 14:56:52 +08:00
赞一个。
目前最大的需求就是 dubbo 的接口测试。
一直都想有个这样类似的中间件,能够把 dubbo 协议转换成 http ,这样测试调用方,用简单的协议接口实现 dubbo 协议的测试。
kalman03
2022-03-28 09:18:39 +08:00
@eivenchan 目前已经支持屏蔽内部服务间调用的 dubbo 服务,可配置只访问对外的 dubbo 服务。
更细颗粒度的接口调用鉴权或 Oauth2 认证,目前没有实现,但提供了非常灵活的扩展,完美支持自定义。
kalman03
2022-03-28 09:21:34 +08:00
@among 对的,这是一个需求。另外,内置了对外服务接口的 api 文档生成,http 调用更轻松。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/842760

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX