You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@dubbo.apache.org by GitBox <gi...@apache.org> on 2020/05/25 03:07:18 UTC

[GitHub] [dubbo-go] sxllwx opened a new issue #540: Dubbo-go API-Gateway

sxllwx opened a new issue #540:
URL: https://github.com/apache/dubbo-go/issues/540


   # dubbo-go API-Gateway
   
   基于[1.14.0](https://github.com/apache/dubbo-go/tree/v1.4.0) 版本发布的应用级服务发现与注册模型,实现 dubbo-go API-Gateway 。
   
   ## 背景
   
    API-Gateway 是整个服务集群的唯一入口点,它类似于面向对象设计模式中的 Facade 模式。API-Gateway对客户端隐藏了服务集群的具体实现,给客户端提供了一个唯一的接入点。 API-Gateway 可完成的众多功能大多都建立在以下两点:
   
   * 可以劫持所有客户端的所有流量,并对流量进行处理以及路由。
   * API-Gateway 可以对接服务注册中心,并通过注册中心获得所有最终服务进程的 IP/Port 的信息。
   
   基于以上两点, 我们期望以下特性(至少三个):
   
   * 动态的发现服务
   * 以及路由请求
   * 负载均衡
   * 协议转换
   * TLS加解密
   * 监控
   * 追踪
   * 限流
   
   
   ## 实现方案(目标)
   
   对接已实现的任何一个已有的注册中心( zookeeper , consul , nacos , etcd , kubernetes ) 实现 API-Gateway 。


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@dubbo.apache.org
For additional commands, e-mail: notifications-help@dubbo.apache.org


[GitHub] [dubbo-go] pantianying edited a comment on issue #540: ASOC: dubbo-go API-Gateway

Posted by GitBox <gi...@apache.org>.
pantianying edited a comment on issue #540:
URL: https://github.com/apache/dubbo-go/issues/540#issuecomment-667090004


   本质上第一期可以实现x协议到dubbo协议的网关。使得应用可以用通用协议调用dubbo-go-proxy来访问dubbo集群中任意的接口。客户端不需要接入dubbo的任何组件。像上面说的“能够配合ZK,或NACOS 动态发现服务。”目前已经实现。
   1.代码模块化,打好基础。入口流量协议解析,中间filter、metric层以及调用层解耦。
   2.入口流量协议解析(http,http2,grpc),先把代码解耦,先实现http,把接口预留出来以后实现其他协议。
   3.filter层框架搭,并建实现一个(限流 熔断,统计都可)
   4.优化目前调用dubbo-go的能力。在目前基础上增加动态路由、配置指定dubbo-url访问接口。
   5.首次调用动态加载目前需要sleep一段时间(几百毫秒),把这个fix掉。(需要优化dubbo-go)


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@dubbo.apache.org
For additional commands, e-mail: notifications-help@dubbo.apache.org


[GitHub] [dubbo-go] chai2010 commented on issue #540: ASOC: dubbo-go API-Gateway

Posted by GitBox <gi...@apache.org>.
chai2010 commented on issue #540:
URL: https://github.com/apache/dubbo-go/issues/540#issuecomment-667112484


   1. 描述rest:name,req结构,resp结构,args和req结构对应
   2. 根据api描述生成路由代码
   
   https://github.com/chai2010/pbgo#example-rest-api
   


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@dubbo.apache.org
For additional commands, e-mail: notifications-help@dubbo.apache.org


[GitHub] [dubbo-go] jack15083 edited a comment on issue #540: ASOC: dubbo-go API-Gateway

Posted by GitBox <gi...@apache.org>.
jack15083 edited a comment on issue #540:
URL: https://github.com/apache/dubbo-go/issues/540#issuecomment-666892307


   暴露出的网关接口希望可以做到动态配置 
   
   - 可以支持动态配置网关接口的上下线
   
   - 可以支持动态配置网关接口的限流、熔断
   
   - 可以支持动态配置网关接口的参数、路由
   
   - 增加网关中间件支持,方便对网关自定义鉴权
   
   后期可以考虑做一个网关配置管理界面,来配置管理及监控网关服务接口。 
   
   


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@dubbo.apache.org
For additional commands, e-mail: notifications-help@dubbo.apache.org


[GitHub] [dubbo-go] judong commented on issue #540: ASOC: dubbo-go API-Gateway

Posted by GitBox <gi...@apache.org>.
judong commented on issue #540:
URL: https://github.com/apache/dubbo-go/issues/540#issuecomment-666892988


   1. 能够配合ZK,或NACOS 动态发现服务。
   2. 能够根据发现的服务,自动生成rest,grpc 等其它服务。
   3. 动态分析出服务的接口名,参数等配置。
   


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@dubbo.apache.org
For additional commands, e-mail: notifications-help@dubbo.apache.org


[GitHub] [dubbo-go] pantianying commented on issue #540: ASOC: dubbo-go API-Gateway

Posted by GitBox <gi...@apache.org>.
pantianying commented on issue #540:
URL: https://github.com/apache/dubbo-go/issues/540#issuecomment-667090004


   本质上第一期可以实现x协议到dubbo协议的网关。使得应用可以用通用协议调用dubbo-go-proxy来访问dubbo集群中任意的接口。客户端不需要接入dubbo的任何组件。像上面说的“能够配合ZK,或NACOS 动态发现服务。”目前已经实现。
   1.代码模块化,打好基础。入口流量协议解析,中间filter、metric层以及调用层解耦。
   2.入口流量协议解析(http,http2,grpc),先把代码解耦,先实现http,把接口预留出来以后实现其他协议。
   3.filter层实现一种(限流 熔断都可)
   4.优化目前调用dubbo-go的能力。在目前基础上增加动态路由、配置指定dubbo-url访问接口。


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@dubbo.apache.org
For additional commands, e-mail: notifications-help@dubbo.apache.org


[GitHub] [dubbo-go] sanxun0325 commented on issue #540: ASOC: dubbo-go API-Gateway

Posted by GitBox <gi...@apache.org>.
sanxun0325 commented on issue #540:
URL: https://github.com/apache/dubbo-go/issues/540#issuecomment-667106772


   1:流量染色进行灰度发布
   2:分组隔离
   3:可以参考spring-cloud-gateway filter 链。
   4:全局filter,路由filter
   5:动态路由
   6:   统一认证/鉴权


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@dubbo.apache.org
For additional commands, e-mail: notifications-help@dubbo.apache.org


[GitHub] [dubbo-go] jack15083 edited a comment on issue #540: ASOC: dubbo-go API-Gateway

Posted by GitBox <gi...@apache.org>.
jack15083 edited a comment on issue #540:
URL: https://github.com/apache/dubbo-go/issues/540#issuecomment-666892307


   暴露出的网关接口希望可以做到动态配置 
   
   - 可以支持动态配置网关接口的上下线
   
   - 可以支持动态配置网关接口的限流、熔断
   
   - 可以支持动态配置网关接口的参数、路由
   
   - 增加网关中间件支持,方便对网关自定义鉴权、错误报警等
   
   后期可以考虑做一个网关配置管理界面,来配置管理及监控网关服务接口。 
   
   


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@dubbo.apache.org
For additional commands, e-mail: notifications-help@dubbo.apache.org


[GitHub] [dubbo-go] pantianying edited a comment on issue #540: ASOC: dubbo-go API-Gateway

Posted by GitBox <gi...@apache.org>.
pantianying edited a comment on issue #540:
URL: https://github.com/apache/dubbo-go/issues/540#issuecomment-667090004


   本质上第一期可以实现x协议到dubbo协议的网关。使得应用可以用通用协议调用dubbo-go-proxy来访问dubbo集群中任意的接口。客户端不需要接入dubbo的任何组件。像上面说的“能够配合ZK,或NACOS 动态发现服务。”目前已经实现。
   1.代码模块化,分层设计,打好基础。大致可以分为入口流量协议解析层、中间filter、metric层以及调用层。
   2.入口流量协议解析(http,http2,grpc),先把代码解耦,先实现http,把接口预留出来以后实现其他协议。
   3.filter层框架搭,并建实现一个(限流 熔断,统计都可)
   4.优化目前调用dubbo-go的能力。在目前基础上增加动态路由、配置指定dubbo-url访问接口。
   5.首次调用动态加载目前需要sleep一段时间(几百毫秒),把这个fix掉。(需要优化dubbo-go)


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@dubbo.apache.org
For additional commands, e-mail: notifications-help@dubbo.apache.org


[GitHub] [dubbo-go] jack15083 commented on issue #540: ASOC: dubbo-go API-Gateway

Posted by GitBox <gi...@apache.org>.
jack15083 commented on issue #540:
URL: https://github.com/apache/dubbo-go/issues/540#issuecomment-666892307


   暴露出的网关接口希望可以做到动态配置 
   
   - 可以支持动态配置网关接口的上下线
   
   - 可以支持动态配置网关接口的限流、熔断
   
   - 可以支持动态配置网关接口的参数、路由
   
   后期可以考虑做一个网关配置管理界面,来配置管理及监控网关服务接口。 
   
   


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@dubbo.apache.org
For additional commands, e-mail: notifications-help@dubbo.apache.org


[GitHub] [dubbo-go] YuzeZhang commented on issue #540: ASOC: dubbo-go API-Gateway

Posted by GitBox <gi...@apache.org>.
YuzeZhang commented on issue #540:
URL: https://github.com/apache/dubbo-go/issues/540#issuecomment-646580612


   HI!
   I've finished my proposal on this.


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@dubbo.apache.org
For additional commands, e-mail: notifications-help@dubbo.apache.org


[GitHub] [dubbo-go] AlexStocks closed issue #540: ASOC: dubbo-go API-Gateway

Posted by GitBox <gi...@apache.org>.
AlexStocks closed issue #540:
URL: https://github.com/apache/dubbo-go/issues/540


   


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@dubbo.apache.org
For additional commands, e-mail: notifications-help@dubbo.apache.org


[GitHub] [dubbo-go] AlexStocks closed issue #540: ASOC: dubbo-go API-Gateway

Posted by GitBox <gi...@apache.org>.
AlexStocks closed issue #540:
URL: https://github.com/apache/dubbo-go/issues/540


   


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@dubbo.apache.org
For additional commands, e-mail: notifications-help@dubbo.apache.org