在过去几年中,数据领域变得越来越苛刻和拥挤,许多平台竞相提供最佳的处理和存储选项。科技消费者希望公司提供 高速数据处理,同时提供各种可适应的解决方案,这些解决方案可以与传统应用程序一起使用,也可以为现代架构(如微服务)构建。
与单体框架不同,微服务结构使公司能够更快地将新应用程序或更新推向市场。凭借微服务的轻量级设计和敏捷性,公司可以将他们提供的每项单独服务分配到其自己的独立数据库。但是,单体框架确实保证了微服务可能无法保证的东西:数据一致性。在采用 微服务架构 时,务必考虑微服务之间如何共享数据,以防止任何特定服务造成瓶颈并使整个系统崩溃。
这就是 Redis Enterprise 的作用。Redis Enterprise 构建在开源 Redis 之上,并且是 基于 CRDT(无冲突复制数据类型)的活跃-活跃数据库。Redis Enterprise 为公司提供两种数据同步选项:他们可以跨微服务共享数据集,或者在微服务之间传输数据。
在第一种情况下,公司可以通过依靠 Redis Enterprise 作为无冲突数据库的功能来跨微服务共享数据集。Redis CRDT 考虑了微服务多个实例的可能性,允许每个微服务连接到分布式 Redis Enterprise 数据库的本地实例。这种 CRDT 技术确保了强最终一致性,这意味着所有数据副本最终将跨所有微服务实现相同的一致状态。
公司可以选择的另一个选项是为微服务创建基于事件的架构。Redis Enterprise 提供多种实现此目的的方法——Pub/Sub、列表、排序集或流。该 Pub/Sub 实现 采用了一种简单且内存高效的异步通信形式,它要求订阅者处于活动状态才能接收数据。同时,该 列表数据结构 支持对异步数据传输的阻塞调用,并且特别高效,因为它即使在接收微服务失败的情况下也能持久化数据。
第三种技术,排序集,非常适合传输时间序列数据,但与 Pub/Sub 和列表不同,它不支持异步数据传输。尽管 Pub/Sub、列表和排序集都提供了可行的传输数据方式,但 流 有效地是其他三种方法的集大成者,因为它结合了所有其他方法的优点,同时还支持多个客户端的连接器,并对连接丢失保持弹性。
鉴于公司拥有所有这些选项来确保跨微服务的数据一致性,如果您问我,我毫无疑问地说,Redis Enterprise 是任何微服务架构的理想数据库解决方案。Redis Enterprise 具有高可用性和持久性,提供多租户和 Kubernetes 支持,提供云和本地选项,并且——也许最重要的是——非常易于使用。但是,您不必相信我的话。免费注册免费的 Redis Enterprise 数据库 并亲自试用,或者阅读我们的 文档 中了解更多信息。
如果您仍然有任何关于如何使用 Redis Enterprise 操作您的微服务产品或如何实现跨微服务的数据一致性的问题,请随时通过 product@redis.com 与我们联系。