You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
代理所需的信息即一个${appName}/${className}/${method} + group + version 即三元组应该被路由到哪个Cluster,最后从Cluster中选择一个Ip后,借助dgp.filter.http.directdubboproxy即可完成一次代理。
这部分信息可以从注册中心拿到,其中${appName}/${className}/${method} + group + version作为路由,即Router(三元组)->Cluster(EndPoints)。
What would you like to be added:
背景
现有dgp.filter.http.dubboproxy通过泛化调用代理dubbo,注册发现/路由/负载均衡均内置在dubbo-go的泛化调用中,无法利用到Pixiu现有的Router和Cluster的能力。
另一方面,triple代理目前不支持应用级服务发现,而且仍需要adapters+api_config来路由
目标
How to
代理所需的信息即一个${appName}/${className}/${method} + group + version 即三元组应该被路由到哪个Cluster,最后从Cluster中选择一个Ip后,借助dgp.filter.http.directdubboproxy即可完成一次代理。
这部分信息可以从注册中心拿到,其中${appName}/${className}/${method} + group + version作为路由,即Router(三元组)->Cluster(EndPoints)。
以Nacos为例
配置文件:registry/nacos/go-server/conf/dubbogo.yml(https://github.com/apache/dubbo-go-samples)
元数据
接口级
服务列表
服务详情
应用级
应用详情
服务映射
服务映射详情(应用名)
myApp,myApp2,myApp3
实现
对于接口级,考虑将${appName}/${className}/${method} + group + version拼接起来做为一个Router项,并将EndPoints生成一个Cluster
对于应用级,则更为简单,以${appName}做为Router项,并将EndPoints生成一个Cluster即可。
接口级注册则可利用协议元数据中protocol=dubbo/triple自动选择dubbo/triple client调用。
Why is this needed:
The text was updated successfully, but these errors were encountered: