【问题标题】:Spring RSocket Kubernetes server - Side car to convert http requests from client?Spring RSocket Kubernetes 服务器 - 侧车转换来自客户端的 http 请求?
【发布时间】:2021-11-07 08:33:21
【问题描述】:

关于如何将http请求转换为RSocket的小问题。

服务器设置是一个非常简单的 RSocket 服务器。 服务器被 dockerized 并部署在 Kubernetes 中。

现在有很多客户,我无法控制他们。客户端想与这个 RSocket 服务器通信。客户端发送的 JSON 有效负载都与 RSocket 服务器兼容。但是,所有客户端都只是使用 http 客户端,而不是 RSocket。

请问转换客户端发送的 https 请求最简单的解决方案是什么?

我尝试过:在两者之间构建一个层,使用 Spring Cloud Gateway 将 http 请求作为输入,并使用 RSocket 客户端转发它。

这个解决方案的缺点是图片中现在有另一个应用程序。需要完全实现和维护另一台 Web 服务器,而不是维护一个业务 RSocket 应用程序。

请问是否有某种 sidecar 模式使用可能的 ngnix、istio、Kubernetes 服务,可以执行相同的操作,而无需完全开发另一个 Web 应用程序?

请问转换客户端发送的 https 请求最简单的解决方案是什么?

谢谢

【问题讨论】:

  • 为什么要将HTTP请求转换为rsocket?
  • 客户端都只发送http请求。你是说客户端,所有只发送http请求,仍然可以到达RSocket服务器吗?(因为到目前为止,我试过了,不幸的是,它不起作用(客户端http->服务器RSocket)
  • 不,我不知道——我想知道,为客户端公开一个简单的 HTTP 端点是否就足够了,因为我认为转换它没有任何好处。 (额外的复杂性、延迟、不太健壮,...)

标签: spring-boot kubernetes spring-cloud rsocket


【解决方案1】:

请问是否有某种 sidecar 模式使用可能的 ngnix、istio、Kubernetes 服务,可以执行相同的操作,而无需完全开发另一个 Web 应用程序?

不,这个概念可能称为代理网关,但不是边车模式。您应该实现一个代理网关来转换协议,例如 HTTP(Rest)、GraphQL、gRPC。您可以参考示例项目alibaba-rsocket-broker

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-10-24
    • 2018-03-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-07
    相关资源
    最近更新 更多