完全披露:我是 Netifi 的联合创始人之一。
当使用 Netifi 代理部署 RSocket 服务时,服务将通过它们的 Netifi 服务名称进行通信,而不依赖于 K8s 服务发现。
Netifi 代理为您提供了许多优势,包括服务发现、预测性负载平衡和 RSocket 流量的动态路由。Netifi 代理提供的负载平衡考虑了下游延迟,并实时将流量路由到延迟最小的节点。服务发现也非常快,因为它不是基于 DNS 的,而是通过 Netifi 代理节点之间的 RSocket 传输的。
使用 Netifi 代理在 K8s 中部署 RSocket 服务的主要优点是:
- 更简单的 K8s 设置(不必使用负载均衡器或 dns 服务发现)
- 更复杂的负载平衡算法
- 路由流量的能力(RSocket 的核心是点对点)
- 在 K8s 服务和部署在 K8s 之外的服务之间轻松桥接。
当谈到 K8s 时,我们从客户那里看到的最大的一点实际上是让他们在 K8s 中的服务与他们的非 K8s 服务(裸机、PCF 等)进行交互。使用像 Netifi 这样的代理架构,这是一种非常简单、安全和高性能的方式来弥合这些差距。
编辑(回应关于弹性的问题):
Netifi Broker 从头开始设计了集群,以防止单点故障情况。我们通常鼓励客户在生产环境中部署至少 3 个代理。集群易于设置并使用多种发现机制。您实际上可以使用 K8s DNS 让代理找到自己的集群,然后使用 Netifi 的服务发现为您的服务。就 Netifi Broker 所需的盒子大小而言,它实际上非常小。Netifi Broker 是完全零拷贝的,只需很少的资源即可运行。我们在不到 100MB 的内存中运行了具有大量负载 (500K rps) 的代理。这当然是极端的。