RocketMQ Connect 简介
Last updated
Last updated
RocketMQ遵循Message Connector的设计理念,依托RocketMQ进行实现。
简单理解RocketMQ Connect就是借RocketMQ从其他系统获取数据发送到RocketMQ,然后从RocketMQ消费消息写入到其他系统。主要由Source Connector,Sink ConnectorRuntime组成。
Source Connector负责从其它系统获取数据,通过Producer发送到到RocketMQ。
Sink Connector负责从Producer中消费消息,将数据写入到另外的系统。
Runtime是Source ,Sink connector的运行时环境,负责加载Connector,提供RESTful接口,启动Connector任务,集群节点之间服务发现,配置同步,消费进度保存,故障转移,负载均衡等能力。
如上图所示,在两个RocketMQ集群区域之间传输数据,在Region A部分是一套RocketMQ集群环境,Region B同样也有一个RocketMQ集群环境。在两个集群中间是RocketMQ Connect的主要运行环境。
运行Connector实例和Task的线程,一个Worker进程代表来一个Connector Runtime 运行时环境进程,多个Worker进程组成了一个集群,支持更多的Connect 和 Task的并行运行工作。其中,Connector Runtime 还具备了配置管理、负载均衡和任务调度;
参考Message Connector中Worker的定义,RocketMQ在Runtime启动参数中实现Worker的命名,具体参考 Runtime 配置
Runtime为其上运行的各种类型Connector及其关联的Task任务提供统一的运行时环境(包括负载均衡,实例间的调度,配置管理以及集群管理)
业务只需要专注于数据拷贝
系统支持可伸缩性
提供易用的RESTful api
支持流和批处理
简单的集群管理