构建具有实时数据访问功能的实时流数据管道
通过其扩展的生态系统,Kafka 用于构建实时流数据管道——一切都与运动中的数据有关。 实时数据管道是将数据从其来源或多个异构来源(源)移动到可以实时处理数百万个事件的destination(目标)的一种手段。 它结合了消息传递、存储和流处理,以允许存储和分析历史数据和实时数据。
Redis Enterprise(目标),以及其他数据模型(如时间序列和 JSON),是一个内存数据库,能够轻松地从多个来源提取和管理各种数据模型,提供实时分析和数据访问。 实时访问是指数据存储呈现最新数据并实时响应查询的地方。 使用 Kafka Streams 的 Redis Enterprise 和 Kafka 为异构数据源提供实时访问和分析。
Kafka 社区依靠 Kafka Connect 与其他应用程序和数据系统集成,因此我们制作了连接器。 Redis Enterprise 为 Kafka Connect 提供预构建的、Confluent 认证的连接器,以帮助您快速可靠地集成 Redis Enterprise 和 Kafka。 Kafka-Redis Sink Connector 将数据从 Kafka 导出到 Redis Enterprise。 Kafka-Redis Source Connector 使用 Redis Streams 订阅 Redis Enterprise 通道,并将收到的消息写入 Kafka。
如下图所示,这是 Redis Enterprise 和 Kafka 之间的桥梁,Sink Connector 将数据移动到 Redis Enterprise 中,Source Connector 用于从 Redis Enterprise Streams 复制数据到 Kafka。 Redis Streams 是一种 Redis Enterprise 数据类型,表示按时间顺序排列的日志,因此您可以在仅附加模式下添加新消息。 下载 Kafka 连接器以开始连接您的数据。
Redis Enterprise 和 Kafka 有三个主要用例
在这个实时库存用例中,Kafka 作为实时数据管道,收集和分发来自多个不同来源的事件:仓库、订单管理系统和销售预测系统,并将此信息提供给库存管理员。 Redis Enterprise 是内存数据库,可以实现实时数据访问,并通过被跟踪商品的即时更改来维护库存状态。 然后,库存状态被发回给 Kafka,Kafka 将此信息分发给营销、商店和履行部门。 Kafka 和 Redis Enterprise 共同确保在整个组织中实时跟踪和传递库存; 它们通过实时数据管道提供实时数据访问。
以下用于欺诈检测的微服务用例是 Redis Enterprise 支持的微服务之间进行服务间通信的绝佳示例。 此架构使用 Redis Enterprise 作为信息的来源和目标,事件由 Kafka 管理。 Kafka 在各种微服务之间提供基于订阅的消息,充当一个中继,通过将生产者与消费者分离来提高应用程序的灵活性。 微服务通过使用 Redis Enterprise 和各种数据模型作为其分析引擎来验证数字身份、交易评分、支付历史等。 Redis Enterprise 将事件和信息发送到 Kafka,Kafka 根据订阅将这些事件和信息分发给其他微服务。 使用 Kafka Streams 的 Redis Enterprise 和 Kafka 共同提供微服务之间的实时服务间通信。
缓存预取是一种技术,其中数据从较慢的内存(旧数据库)中的原始存储中读取,然后在需要之前写入速度更快的内存数据库 Redis Enterprise。 Kafka Connect 会在源(旧数据库)上发生更改数据事件时传播这些事件,因此 Redis Enterprise 缓存始终与旧系统保持一致。
CQRS(命令查询职责分离)是一种应用程序架构模式,通常用于缓存预取解决方案。 CQRS 是微服务架构中的一个关键模式,它将读取(查询)和写入(命令)分离。 以 Kafka 作为事件日志,Redis Enterprise 作为记录系统,通过使用 CQRS,您可以避免缓慢的查询。
Kafka Connect 提供从本地旧数据库到 Redis Enterprise 的无缝复制,在各种平台之间实现实时复制和一致性。 对于单个迁移,可以使用 Kafka Connect 同步数据,直到切换到 Redis Enterprise 的日期。 对于更长的迁移,有时需要数年时间,公司正在从单体环境迁移到微服务,Kafka Connect 可用于在整个期间维护同步数据库。
立即免费开始使用 Redis Cloud Essentials
下载 Redis Enterprise 6.4.2