视频

了解更多
如果您仍然怀疑 微服务架构 正在主导当今的应用程序开发,那么现在该摒弃这种想法了。根据 IDC 关于 应用程序现代化对数据层的影响 的新信息简报(由 Redis 赞助),在 300 家北美企业受访者中,有 89% 的企业已经使用微服务。这建立在 IDC 2019 年的预测 之上,预测“到 2022 年,90% 的新应用程序将采用微服务架构”。
微服务的势头现在已不可阻挡,这是由企业需要更快速地开发、部署和更新高质量应用程序和服务以满足不断增长的客户和业务需求所推动的。根据信息简报,“微服务应用程序已经在业务关键角色中使用,其中 24% 的微服务应用程序被认为是业务关键型”。例如,对于将近一半的微服务应用程序 (42%) 来说,停机会导致收入损失。
但这并不意味着微服务革命已经完成。实际上,它才刚刚开始。根据 IDC 的调查,所有拥抱微服务的企业中,只有 17% 的应用程序组合已经从单体架构迁移出去。信息简报的作者 Carl W. Olofson 和 Gary Chen 简明扼要地解释了这种情况:“虽然基于微服务的应用程序的开发仍处于早期阶段,但其在未来开发中的重要性是显而易见的。”
了解更多: 阅读 Redis 微服务入门 电子书
那么,如何实现微服务架构的承诺,以及企业在拥抱微服务时面临哪些挑战?微服务采用会增加相当大的复杂性,尤其是在数据层方面。根据调查,将近一半的企业微服务应用程序 (47%) 依赖于数据库,但近三分之一的受访者 (31.5%) 指出数据库管理是他们面临的三大挑战之一。“应用程序的分解会成倍地增加需要管理的逻辑组件数量,”作者指出。
这会导致数据孤岛化,变得更加复杂和昂贵,导致许多企业得出结论:编排对于部署微服务至关重要。因此,大约三分之一的受访者将降低管理成本和提高运营效率 (35.6%) 以及支持新的现代云原生或微服务应用程序 (33.2%) 列为编排部署的三大驱动因素并不奇怪。
例如,一个电子商务解决方案可能会使用许多服务——应用程序服务器、内容缓存、会话存储、产品目录、搜索和发现、订单处理、订单履行、分析等等——并且每个服务可能都有自己的数据库,如下图所示。
那么,如何选择和构建具有正确架构的应用程序呢?您需要寻找哪些特征?研究表明,应重点关注四个关键要素。让我们更详细地看一下。
正如 IDC 指出的,“超过 95% 的受访者将数据库类型或性能作为标准”,并且将近一半的调查受访者 (45%) 将性能列为选择数据库时的三大因素之一(仅次于数据库类型)。性能如此重要并不奇怪,因为在微服务环境中,您需要实时性能以及扩展能力才能充分发挥分布式架构的承诺。
Redis 被连续四年评为 最受欢迎的数据库,以提供亚毫秒级性能而闻名。凭借 Redis Enterprise 的 低延迟数据库,您可以在保持较小占用空间的同时创建即时用户体验或执行实时分析,并且能够按需扩展。正如信息简报中提到的,“这表明数据库的工作方式和性能对于微服务应用程序开发的成功至关重要。”
了解更多: 查看我们新的 延迟就是新的停机 白皮书
IDC 的调查显示,将近四分之一 (24%) 的企业微服务应用程序已经在业务关键角色中使用,在这些角色中,高可用性至关重要。更一般地来说,“对于 42% 的微服务应用程序来说,停机会导致组织直接损失收入,”信息简报指出,而停机在剩余的 58% 的应用程序中会导致生产力损失。
这是一个潜在的大问题,因为即使微服务架构包含许多相互连接的服务,它也面临着与其他开发方法相同的性能和可靠性要求。例如,确保您的数据在全球范围内始终可用是另一个挑战。要确保您的应用程序始终可用,您需要一个在所有级别都具有容错能力的数据库。
了解更多: 查看 Redis Enterprise 如何通过 高可用性技术 保证四九 (99.99%) 的正常运行时间——以及在 主动-主动 地理分布式部署中实现五九 (99.999%) 的正常运行时间。
开发人员利用微服务架构来构建更好的应用程序。选择正确的数据模型对于加快上市时间至关重要,更重要的是它优化了数据访问模式和性能要求。这样,每个服务都可以使用专门为其数据模型而构建的数据库。
一个微服务可能会采用基于 键值、JSON、时间序列 和 搜索引擎 等的数据模型。但这意味着“许多微服务将使用每个服务一个数据库,”信息简报指出,“这会增加数据库的数量、访问数据库的软件组件数量以及在现代工作流中包含数据库的必要性。” 正如上面提到的,对于近三分之一 (32%) 的受访者来说,微服务应用程序的数据库管理是他们面临的三大挑战之一。
为了最大限度地减少这种复杂性,您的数据库应支持 多种数据模型。这使企业架构师能够轻松地为每个服务选择最适合的数据模型,而不会牺牲性能,也不必学习和维护多个不同的数据库,从而简化操作并帮助限制技术蔓延。
了解更多: 查看我们关于 战略性数据灵活性 的白皮书
即使 DBaaS 势头强劲,但企业中仍有大量数据驻留在本地,导致许多企业使用多个云和混合基础设施,如 IDC 的调查所示。在微服务环境中,您需要能够优化数据层,以便在没有孤岛或数据丢失的情况下灵活地运行您的数据库。
但是,正如 IDC 的作者指出的,“许多数据库并非设计为云原生、与容器兼容或由 Kubernetes 编排的。” 例如,仅仅将数据库打包到容器中并不能使其适合微服务架构;数据库必须轻量级且可调整,以满足您的数据需求。
企业需要一个数据库平台,该平台提供灵活的部署模型,以便能够在任何需要的地方运行,无论是本地还是任何云、多云或混合云架构、容器还是 Kubernetes Pod。
了解更多: 查看 Redis Enterprise 软件部署选项
根据报告,微服务架构的兴起极大地影响了用于支持这些服务的底层数据层架构,因此希望使用微服务架构开发应用程序的企业应特别注意技术卓越性和适用性。这正是 Redis Enterprise 闪耀的地方。
Redis Enterprise 提供微服务规模的性能,为所有 Redis 数据类型和模块提供亚毫秒级延迟,以及 即时线性扩展的能力,以满足几乎任何所需的吞吐量。Redis Enterprise 专为容错和弹性而设计,使用 无共享集群架构,并提供针对进程级别、单个节点甚至跨基础设施可用性区域的自动故障转移,以及可调的持久性和灾难恢复。Redis Enterprise 还使开发人员能够轻松地选择最适合其微服务架构部署的性能和数据访问要求的数据模型,同时保留统一的操作界面,以限制技术蔓延并简化操作。至关重要的是,Redis Enterprise 可以在任何地方部署——任何云平台、本地或多云或混合云架构。
要详细了解数据层在微服务部署中的重要性,请下载完整的 IDC 信息简报——应用程序现代化对数据层的影响。此外,请查看以下微服务架构资源,以深入了解 Redis Enterprise 为微服务部署提供的众多独特优势: