Salt选择了Linkerd实现gRPC负载平衡,同时获得多重效益

2022-03-28 14:08:58 浏览数 (1)

Salt Security[1]正在解决当今依赖于 API 的应用程序的安全挑战。API 请求可以表示每秒数以万计的攻击或 PII 暴露机会。为了应对这些风险,Salt 对客户的 API 元数据运行 AI 和 ML 来阻止威胁。随着流量的不断增加,平台效率的高低取决于工程师能否将停机时间最小化。

快速增长会引发向后兼容性问题

当 Salt Security 开始迅速发展时,服务之间的消息性质开始改变,从而引发向后兼容性问题。为了确保对 API 调用的更改不会导致系统问题,Salt 平台团队采用了gRPC[2],一个 CNCF 托管的 RPC 框架。然而,存在一个问题:gRPC 请求使用 HTTP/2,而 Kubernetes 的原生 TPC 负载平衡——Salt 的微服务是在 Kubernetes 上构建的——不能有效地平衡。Salt 的微服务被复制以实现负载平衡和高可用性;在副本之间分配跨服务通信是关键的。

Salt 采用 Linkerd 进行负载均衡,获得多重效益

该团队研究了解决方案,并倾向于Linkerd[3]——一个快速、轻量级的服务网,是另一个 CNCF 托管项目。他们惊叹于它的简单实现,在网上找到它的几个小时内就将它部署到他们的开发环境中。仅仅三天,它就投入生产。然后,他们开始将服务迁移到 gRPC,并将其添加到服务网格中。

至此,Salt 在实现 gRPC 负载平衡的同时,也实现了 Linkerd 的多重好处。例如,Linkerd 确保所有服务到服务的消息都是加密的,为集群提供更强的安全性。它还提供了对流量层的实时洞察,因此团队可以提前一步解决潜在的问题。此外,Linkerd 最新的 gRPC 重试功能可以确保短暂的网络错误不会看起来像硬故障,防止不必要的、耗时的调查。

事实上,该团队发现 Linkerd 不仅仅是一个生产工具。具有与日志记录、指标和跟踪平台相同的监控和可见性功能,它现在是 Salt 开发堆栈中的一个工具,以防止生产中出现的问题。

最近,当 Salt 顺畅地将流量提高了 10 倍时,Linkered 证明了自己的价值。最初采用 Linkerd 是为了解决一个单一的问题,但它提高了 Salt 的效率、可靠性、性能和安全性。

“仅仅一周的工作,我们就得到了实实在在的成果。”——Omri Zamir,Salt 高级软件工程师。

阅读案例研究[4]了解更多内容!

参考资料

[1]Salt Security: https://salt.security/

[2]gRPC: https://grpc.io/

[3]Linkerd: https://linkerd.io/

[4]案例研究: https://www.cncf.io/case-studies/salt-security/

0 人点赞