dot Redis 8 已推出——并且它是开源的

了解更多

微服务与数据层——IDC 新版 InfoBrief 报告

如果您仍然对微服务架构在当今应用开发中的主导地位抱有任何疑虑,那么是时候消除这些疑虑了。根据由 Redis 赞助的 IDC 关于应用现代化对数据层的影响的新版 InfoBrief 报告显示,约 300 家北美企业受访者中,有 89% 已在使用微服务。这与 IDC 在 2019 年的预测不谋而合,即“到 2022 年,90% 的新应用将采用微服务架构”。 

微服务的发展势头如今不容置疑,其驱动力在于企业需要更快速地开发、部署和更新高质量的应用及服务,以满足不断提升的客户和业务需求。根据 InfoBrief 报告,微服务应用已在业务关键型角色中使用,其中 24% 的微服务应用被认定为业务关键型。例如,对于近半数(42%)的微服务应用而言,停机会导致收入损失。 

但这并不意味着微服务革命已经完成。事实上,它才刚刚开始。根据 IDC 的调查,所有拥抱微服务的企业中,只有 17% 的应用组合已从单体架构迁移出来。InfoBrief 报告的作者 Carl W. Olofson 和 Gary Chen 简洁地解释了这种情况:“尽管基于微服务的应用开发仍处于早期阶段,但其在未来发展中的重要性显而易见。” 

了解更多: 阅读 Redis 微服务傻瓜书 电子书

数据层加剧了微服务架构的复杂性

那么,如何才能实现微服务架构的承诺?企业在拥抱微服务时面临哪些挑战?微服务的采用会增加显著的复杂性,尤其是在数据层方面。根据调查,近半数企业微服务应用(47%)依赖于数据库,但近三分之一的受访者(31.5%)将数据库管理列为前三大挑战之一。作者指出:“将应用分解会呈指数级增加必须管理的逻辑组件数量。” 

这可能导致数据孤岛化,变得更加复杂和昂贵,从而使许多企业得出结论:编排对于部署微服务至关重要。因此,不足为奇的是,约三分之一的受访者将降低管理成本和提高运营效率(35.6%)以及支持新的、现代的云原生或微服务应用(33.2%)列为编排部署的前三大驱动因素。 

为您的微服务架构选择合适的数据库 

例如,一个电子商务解决方案可能使用多种服务——应用服务器、内容缓存、会话存储、产品目录、搜索与发现、订单处理、订单履行、分析等等——每项服务都可能有自己的数据库,如下图所示

一个示例电子商务解决方案中的微服务架构。

那么,您如何选择和构建具有正确架构的应用呢?您需要寻找哪些特性?研究表明应重点关注四个关键要素。让我们仔细看看

1. 性能的重要性

正如 IDC 指出,“超过 95% 的受访者倾向于将数据库类型或性能作为标准”,近半数(45%)的受访者在选择数据库时将性能列为前三大因素(仅次于数据库类型)。性能如此重要不足为奇,因为在微服务环境中,您需要实时性能和扩展能力,才能充分实现分布式架构的承诺。

连续四年被评为最受欢迎的数据库,Redis 以提供亚毫秒级性能而闻名。借助 Redis Enterprise 的低延迟数据库,您可以创建即时用户体验或执行实时分析,同时保持较小的占用空间,并具备按需扩展的能力。正如 InfoBrief 报告所指出的,“这表明数据库的工作方式和性能对于微服务应用开发的成功至关重要。”

了解更多: 查看我们的新白皮书 延迟就是新的宕机

2. 始终可用

IDC 调查显示,近四分之一(24%)的企业微服务应用已用于业务关键型角色,其中高可用性至关重要。更普遍地说,InfoBrief 报告指出,“对于 42% 的微服务应用而言,遭遇停机会直接导致组织收入损失”,而其余 58% 的应用停机则会导致生产力损失。

这是一个潜在的重大问题,因为尽管微服务架构包含许多相互连接的服务,但它面临着与其他开发方法相同的性能和可靠性要求。例如,确保您的数据在全球各地始终可用是另一个挑战。为了确保您的应用始终可用,您需要一个在各个层面都具有容错能力的数据库。 

了解更多: 了解 Redis Enterprise 的高可用性技术如何保证四个九(99.99%)的正常运行时间,以及在活跃-活跃地理分布式部署中实现五个九(99.999%)的正常运行时间。

3. 利用多种数据模型构建现代应用

开发人员利用微服务架构来构建更好的应用。选择正确的数据模型对于加快上市时间至关重要,更重要的是,它优化了数据访问模式和性能要求。这样,每个服务都可以使用专门为其数据模型构建的数据库。 

微服务可能采用基于键值对JSON时间序列搜索引擎等数据模型。但这正如 InfoBrief 报告所指出,这意味着“许多微服务将每个服务使用一个数据库”,这“增加了数据库的数量、访问数据库的软件组件数量,以及将数据库纳入现代工作流的需求”。这就是为什么如上所述,对于近三分之一(32%)的受访者来说,微服务应用的数据库管理是前三大挑战之一。

为了最大限度地降低这种复杂性,您的数据库应该支持多种数据模型。这使得企业架构师可以轻松为每个服务选择合适的数据模型,而无需牺牲性能或学习和维护多个不同的数据库,从而简化了操作并有助于限制技术蔓延。 

了解更多: 查看我们关于战略性数据灵活性的白皮书

4. 随处部署

尽管 DBaaS 势头强劲,但大量企业数据仍保留在本地,导致许多企业使用多个云和混合基础设施,IDC 调查也印证了这一点。在微服务环境中,您需要优化数据层的能力,以便灵活地运行数据库,避免数据孤岛和数据丢失。 

但正如 IDC 作者所指出的,“许多数据库设计时并非云原生,与容器不兼容,也无法由 Kubernetes 编排。”例如,仅仅将数据库打包到容器中,并不能使其适合微服务架构;数据库必须轻量且可调,以满足您的数据需求。 

企业需要一个提供灵活部署模型的数据库平台,以便在任何需要的地方运行,无论是本地、任何云、多云或混合云架构、容器中,还是作为 Kubernetes Pod。 

了解更多: 查看 Redis Enterprise 软件部署选项

Redis Enterprise 和微服务

报告称,微服务架构的兴起显著影响了支持这些服务所使用的数据层架构,因此希望使用微服务架构开发应用的企业应特别关注技术卓越性和适用性。这正是 Redis Enterprise 的优势所在。 

Redis Enterprise 在微服务规模下提供高性能,为所有 Redis 数据类型和模块提供亚毫秒级延迟,并且能够即时且线性扩展到几乎任何所需的吞吐量。Redis Enterprise 采用共享无关集群架构,设计用于容错和弹性,提供进程级别、单个节点甚至跨基础设施可用区的自动故障转移,以及可调的持久化和灾难恢复。Redis Enterprise 还让开发人员可以轻松选择最适合其微服务架构部署的性能和数据访问需求的数据模型,同时保留统一的操作界面,以限制技术蔓延并简化操作。最关键的是,Redis Enterprise 可以随处部署——在任何云平台、本地或多云或混合云架构中。

要了解有关数据层在微服务部署中的重要性的更多信息,请下载完整的 IDC InfoBrief 报告——应用现代化对数据层的影响。并查看下面的微服务架构资源,以更深入地了解 Redis Enterprise 如何特别适合微服务部署: