Closed someview closed 1 year ago
envoy提供了插件式的filter开发,这个filter开发基于ttheader协议文档做下encode/decode即可实现. Kitex也通过了proxyless的方式,可以通过xDS协议服务istio做服务治理。
envoy提供了插件式的filter开发,这个filter开发基于ttheader协议文档做下encode/decode即可实现. Kitex也通过了proxyless的方式,可以通过xDS协议服务istio做服务治理。 有现成的例子吗,envoy有点小复杂 同时,当前kitex没有各种协议下的传输格式,比如protobuf编码时的传输格式
envoy提供了插件式的filter开发,这个filter开发基于ttheader协议文档做下encode/decode即可实现. Kitex也通过了proxyless的方式,可以通过xDS协议服务istio做服务治理。 相当于让kitex的协议对接的云原生网关
pb只是payload的编解码格式,传输格式还是可以走ttheader的
@GuangmingLuo 你来看下?
相当于让kitex的协议对接的云原生网关
pb只是payload的编解码格式,传输格式还是可以走ttheader的 kitex的文档上还是看不出来是个什么样的传输结构,从tcp包开始的整体结构,一个tcp包中是否可以存在多个request这样的消息。 这个问题相当于有没有类似于kitex对接metaprotocol这样的案例
类似于MetaProtocol Proxy这样的结构,相当于rpc通信 和服务网格结合的视角接入传输协议
一个tcp包中是否可以存在多个request这样的消息
这句话的意思是是否支持多路复用?
TTHeader目前没有对接开源的数据面产品,如果对接envoy需要自行开发接入。另外proxyless的方案可以关注下
一个tcp包中是否可以存在多个request这样的消息
这句话的意思是是否支持多路复用?
TTHeader目前没有对接开源的数据面产品,如果对接envoy需要自行开发接入。另外proxyless的方案可以关注下
好像问得有点多余了。一个tcp包中是否携带多次rpc请求,还是只能携带一个rpc请求,也算是“传输链路”的多路复用吧。
@fengyeall111 请问你们是不是在公司内部有相关需求,可以通过飞书群联系我们聊聊需求细节。
服务 A (hertz http) -> 服务 B (kitex grpc) :正常。 使用 istio 给这两个服务注入 sidecar,再调用,就会报类似的错:
{"Code":3,"Msg":"remote or network error: invalid payload (first4Bytes=0x48545450, second4Bytes=0x2f312e31)"}
解决办法:
在调用 grpc 服务里,需要显示声明协议:
hertz-api 的client code
return []client.Option{
client.WithHostPorts([]string{"kitex-rpc:8001"}...),
client.WithTransportProtocol(transport.GRPC),
}
kitex在使用TTHeader时,针对service mesh时,有没有具体的参考案例。 比如使用envoy作为代理,如何提取TTheader这样的类型