(随着企业寻求对其应用程序进行现代化改造,许多企业正在转向微服务架构,将传统的应用程序分解成松散耦合的服务集合。这种深刻的变化促使我们联系 Redis 用户,了解他们在微服务架构的各个阶段的历程。我们正在通过一系列博客文章分享他们的微服务故事,这些故事 始于 2019 年底。)
您在去杂货店的路上,手机响了。是一个您不认识的号码。您会接听吗?
如果您对无视来电,即使是陌生号码,都感到不安和担忧,那么恭喜您:您是一位正常的 21 世纪人类,也是骚扰电话的理想目标。
去年,美国普通消费者收到了 178 个骚扰电话。正如每位经历过骚扰电话的人所了解的那样,骚扰电话非常烦人,而且会带来真正的负面影响。例如,当消费者对不断出现的骚扰电话感到沮丧时,他们可能会完全停止接听他们不认识的号码的电话。这意味着他们可能会错过重要的联系,而合法企业也无法联系到他们的客户。
幸运的是,在骚扰电话战争第一线开展破坏性行动的公司正在开发旨在恢复我们对电话服务的信心的新技术。 Alec Fenichel,电信软件提供商 TransNexus的高级软件架构师,是其中一位超级英雄,致力于为全球消费者、企业和电话服务提供商现代化电信服务。在这个以复杂性著称的行业,TransNexus 的电话软件简化了关键功能,例如防止骚扰电话、拒绝服务攻击和收费欺诈,以及实现最低成本路由、呼叫身份验证等。
TransNexus 成立于 1997 年,为电信公司提供两款产品:NexOSS,本地部署的 VoIP 电信应用程序,以及 ClearIP,一个托管在云端的电信软件平台。消除骚扰电话的关键技术包括:
Redis 企业版是 TransNexus 成的关键,作为其云产品的实时数据库。Fenichel 说:“当我们接收到电话时,我们需要决定如何路由通话,例如是否允许或阻止。所有这些过程都是通过与 Redis 的交互来完成的,而且必须实时完成。”
Fenichel 解释说,ClearIP 的设计重点是可靠性、安全性以及高性能,这些也是微服务架构的固有特征。TransNexus 的呼叫处理通常在 20 毫秒内完成,其中包括大量工作。目标是快速完成工作,以便用户不会注意到。
从一开始,TransNexus 的 ClearIP 就被设计为在微服务架构中执行复杂的通话处理。他说:“微服务架构使得根据需要轻松扩展变得非常容易,而且维护和可靠性也变得非常容易。如果服务器发生故障,它会自动被替换,没有人会注意到。”
TransNexus 目前在 Redis 数据库中有数亿个键。TransNexus 的一些客户每秒进行数千次通话。由于性能对于 TransNexus 的运营至关重要,因此该团队一直在谨慎地限制 Redis 操作的范围。该团队几乎完全依赖于字符串和哈希,但在少数情况下使用列表,并针对一种特定用例使用有序集合。
Redis 企业版充当实时数据库,存储配置数据,并帮助确保 TransNexus 的服务能够立即响应,以满足公司激进的应用程序需求。Fenichel 说:“Redis 是我们在线执行通话处理所需的唯一数据库。它是最重要的数据库。我们的其他数据库用于为用户界面等提供支持。但是,当处理通话时,它永远不会触及除了 Redis 数据库之外的任何其他数据库。这是为了尽量减少任何其他数据库故障的影响。这使得 Redis 成为迄今为止最重要的数据库。”
但这还不是全部。Redis 还充当中间队列系统,将作业分配给云服务器:处理完记录后,它被放置在 Redis 中的队列中,然后被刷新到数据仓库中。Redis 也是呼叫历史记录和帐户的历史信息存储库。Fenichel 说:“例如,如果这些传入呼叫出于某种原因异常,Redis 会存储对从 异常检测的角度进行判断非常重要的信息。”
想要了解有关微服务的更多信息?查看 Mutualink如何将 Redis 用于生命拯救的微服务架构,以及软件代理机构 Z3 Works如何将其用于各种行业中的各种项目。聆听 Redis 开发者倡导者 Kyle Davis 和 Loris Cro 讨论他们新的免费电子书“面向初学者的 Redis 微服务”,以及他们在 The New Stack 播客上的讨论。