Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

关于mosn代理websocket、keepalive机制、重试的问题 #2342

Open
zzqCh opened this issue Aug 22, 2023 · 7 comments
Open

关于mosn代理websocket、keepalive机制、重试的问题 #2342

zzqCh opened this issue Aug 22, 2023 · 7 comments

Comments

@zzqCh
Copy link

zzqCh commented Aug 22, 2023

Your question

您好,有以下几个问题:
1.mosn支持代理websocket的么?如果支持,是否支持多路复用的呢?
2.mosn的keepalive机制是否可看出服务端的健康状态?有接口提供的么?目前看到/api/v1/stats中无健康状态
3.mosn在选取上游服务的时候是否支持重试机制?或者说访问出错后,是否支持重试机制?

Environment

  • MOSN Version. 1.5
@taoyuanyuan
Copy link
Contributor

  1. 目前不支持,有个pr还没合
  2. 有 health check机制,可以做upstream的健康检查 https://mosn.io/docs/products/configuration-overview/clustermanager/#HealthCheck
  3. 支持的,route就可以配置的 https://mosn.io/docs/products/configuration-overview/server/router/#retry_policy

@zzqCh
Copy link
Author

zzqCh commented Aug 22, 2023

pr合并后就能支持websocket的代理么?也能支持多路复用的么?另外支持时间打制是在什么时候呢?

@taoyuanyuan
Copy link
Contributor

你有兴趣可以测试完善,#1832
websocket对于代理来说就是tcp了,这儿的多路复用是什么意思?
时间打制是什么意思?

@zzqCh
Copy link
Author

zzqCh commented Aug 22, 2023

#1832

抱歉,打错字了。请问这个有支持计划么?大致什么时间能支持?
关于多路复用您可以看看这篇文章,这个是之前看到的文章:https://ckousik.github.io/gsoc/2017/06/16/WebSocket-Multiplexer-Overview.html

另外,关于重试:
image

@taoyuanyuan
Copy link
Contributor

  1. 需要有需要的同学一起来测试完善,光等是等不来的,自己动手,丰衣足食~
  2. 对于代理来说,直接透传的,不感知多路复用了。
  3. 后端的挂了,你想要怎么重试?换一个cluster?

@zzqCh
Copy link
Author

zzqCh commented Aug 22, 2023

  1. 需要有需要的同学一起来测试完善,光等是等不来的,自己动手,丰衣足食~
  2. 对于代理来说,直接透传的,不感知多路复用了。
  3. 后端的挂了,你想要怎么重试?换一个cluster?
  1. 这个我们也抽空研究下
  2. 还是有问题的吧?如果是透传,那client和server的连接就是一对一的吧?假设client到mosn的连接1W,那mosn到server的连接也是1W。
  3. 我理解一个cluster是有多个ip的呢,其中一个挂了,应当主动尝试连接另外一个ip的吧?

@taoyuanyuan
Copy link
Contributor

  1. 是的,一般proxy对ws的支持就是直接tcp透传,不会去解析ws的协议。
  2. 这个是支持的

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants