apache / servicecomb-mesher

A high performance service mesh implementation written in go

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

自定义incoming handler chain覆盖原本default handler chain

yiliuchen opened this issue · comments

我自定义了一个handler将其配置到 配置文件中。但是这导致了,chassis那边的restful服务器获取到了 provider-incomming链。这段逻辑在server_manger.go里面。
没有配置自定义handler时,restful服务器获取的是默认的 provider-default链,mesher自定义的协议如dubbo,http,grpc是获取的provider-incomming链,本来互补影响。
但是自定义后,现在restful被换成了provider-incomming链(rest-admin协议会使用chassis自带的restful)。

目前我想到的解决方案是
1.暴力的去掉 server_manager中的,for name := range providerMap逻辑,默认server都从default链中获取,这样我们只需要配置文件中同时配置default和incomming 链就可以解决问题。
2.根据不同协议获取不同 链,如incomming 这个可以当成协议名
如:

handler:
   chain:
       Provider:
           rest:
           http:
           default:

如果没有在配置文件配置则获取default链。
ps:我是不是该把issue提到chassis那边去。

commented

你没用mesher的话肯定是提到chassis那边

commented

我建议你复写一遍mesher的配置文件就可以解决这个问题了

复写没用,要改逻辑