作者:zpy7005434 | 来源:互联网 | 2023-08-22 11:02
gRPC请求使用HTTP2,而Kubernetes的原生TPC负载平衡(Salt的微服务是在Kubernetes上构建)不能有效地平衡。Salt的微服务被复制以实现负载平衡和高可用
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/
点击【阅读原文】阅读网站原文。
CNCF概况(幻灯片)
扫描二维码联系我们!
CNCF (Cloud Native Computing Foundation)成立于2015年12月,隶属于Linux Foundation,是非营利性组织。
CNCF(云原生计算基金会)致力于培育和维护一个厂商中立的开源生态系统,来推广云原生技术。我们通过将最前沿的模式民主化,让这些创新为大众所用。请长按以下二维码进行关注。