盐业安全公司正在应对当今依赖API的应用程序的安全挑战。API请求可以代表每秒数万次的攻击或PII暴露机会。为了应对这些风险,Salt针对其客户的API元数据运行AI和ML,以阻止威胁。随着流量的不断摄入,平台的有效性取决于工程师最大限度地减少停机时间的能力。
快速增长引发后向兼容问题
当Salt Security开始快速增长时,服务之间的信息性质开始改变,引发了向后兼容的问题。为了确保API调用的变化不会导致系统问题,Salt平台团队采用了CNCF托管的RPC框架gRPC。然而,问题仍然存在:gRPC请求使用HTTP/2,而Kubernetes的原生TPC负载平衡--Salt的微服务器就是在此基础上建立的--无法有效平衡。Salt的微服务是通过复制来实现负载平衡和高可用性的;在副本之间分配跨服务通信是至关重要的。
盐业公司采用Linkerd进行负载平衡,解开了多种好处。
该团队研究了一些解决方案,并倾向于Linkerd--一个快速、轻量级的服务网,也是另一个CNCF项目。他们对Linkerd的简单实施感到惊奇,在网上找到它后的几个小时内就在他们的开发环境中部署了它。仅仅三天时间,它就在生产中运行。然后,他们开始将他们的服务迁移到gRPC,并将它们添加到服务网中。
从这一点上,Salt意识到Linkerd除了gRPC的负载平衡外,还有多种令人高兴的副作用。例如,Linkerd确保所有服务与服务之间的消息都是加密的,为集群提供更强的安全性。 它还提供了对流量层的实时洞察,因此团队可以领先一步解决潜在问题。此外,Linkerd的最新gRPC重试功能确保短暂的网络错误不会看起来像硬故障,从而防止不必要的、耗时的调查。
事实上,该团队发现,Linkerd不仅仅是一个生产工具。它具有与日志、指标和跟踪平台相同的监控和可见性功能,现在是Salt公司开发堆栈中的一个工具,以防止生产中的问题。
最近,当Salt的流量增加了10倍而没有问题时,Linkered证明了它的价值。最初采用Linkerd是为了解决一个问题,它提高了Salt内部的效率、可靠性、性能和安全性。
"仅经过一周的工作,我们就体验到了实实在在的效果"。- Omri Zamir,Salt公司的高级软件工程师
在案例研究中阅读更多内容!