V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
kalman03
V2EX  ›  分享创造

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

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

    btw:这该死的 ctrl+enter
    apgmer
        7
    apgmer  
       2022-03-25 11:22:27 +08:00
    @kalman03 如果下游服务想要操作 cookie 应该怎么弄呢
    kalman03
        8
    kalman03  
    OP
       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
        9
    apgmer  
       2022-03-25 12:04:10 +08:00
    @kalman03 如果下游需要写 cookie 呢,response header 如何从 dubbo 服务中传递到浏览器。
    kalman03
        10
    kalman03  
    OP
       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
        11
    kalman03  
    OP
       2022-03-25 12:37:55 +08:00
    我可以提个 issue 我去支持下
    zhazi
        12
    zhazi  
       2022-03-25 13:33:38 +08:00
    又是一个 starter man
    eivenchan
        13
    eivenchan  
       2022-03-26 11:31:20 +08:00
    除了路由转发外,会考虑扩展一些额外的功能吗?例如 Oauth2 认证,接口调用鉴权等
    among
        14
    among  
       2022-03-27 14:56:52 +08:00
    赞一个。
    目前最大的需求就是 dubbo 的接口测试。
    一直都想有个这样类似的中间件,能够把 dubbo 协议转换成 http ,这样测试调用方,用简单的协议接口实现 dubbo 协议的测试。
    kalman03
        15
    kalman03  
    OP
       2022-03-28 09:18:39 +08:00
    @eivenchan 目前已经支持屏蔽内部服务间调用的 dubbo 服务,可配置只访问对外的 dubbo 服务。
    更细颗粒度的接口调用鉴权或 Oauth2 认证,目前没有实现,但提供了非常灵活的扩展,完美支持自定义。
    kalman03
        16
    kalman03  
    OP
       2022-03-28 09:21:34 +08:00
    @among 对的,这是一个需求。另外,内置了对外服务接口的 api 文档生成,http 调用更轻松。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5097 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 05:45 · PVG 13:45 · LAX 21:45 · JFK 00:45
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.