连接器
EMQX 连接器是数据集成的关键概念,它作为 Sink/Source 的底层连接通道,用于连接到外部数据系统。
基本概念
连接器仅关注与外部数据系统的连接,用户可以为不同的外部数据系统创建不同的连接器,一个连接器可以为多个 Sink/Source 提供连接。
以 MySQL Sink 为例,连接器与规则、Sink 的关系如下图所示:
特性与优势
在创建 Sink/Source 时,用户选择一个已经创建好的连接器即可,而不必关心底层连接的细节。这种设计带来的好处是:
- 将连接配置从数据处理和数据映射配置中分离出来,数据处理流的设计更加模块化和灵活。
- 连接器的创建和配置不会影响到数据处理流的设计,如果需要更改连接信息,只需在连接器中修改,这有助于简化配置和维护工作。
- 对于一些需要连接到多个 Sink/Source 的外部数据系统,可以通过创建一个连接器来实现,避免了重复配置的工作。
创建连接器
当您创建数据集成时,您必须为 Sink/Source 创建一个连接器来使集成正常工作。您可以通过 Dashboard 创建并管理连接器。同一个连接器可以被不同的 Sink/Source 复用。
TIP
您也可以在创建 Sink/Source 的过程中创建连接器,这将会自动进入连接器创建流程。
在 Dashboard 页面,点击左侧导航目录中的集成 -> 连接器。
点击页面右上角的创建按钮,进入连接器创建流程。
在连接器类型选择页面,选择所需的连接器,点击下一步填写连接参数。支持的连接器参考此处。
TIP
在 EMQX 开源版中,仅支持 HTTP 与 MQTT 连接器。 :::
在连接器配置信息页面,填写连接器的基本信息,包括连接器名称、描述,以及连接器的连接参数,此处内容请参考各个 Sink/Source 使用文档中的连接器参数部分,不在此处赘述。
查看和管理连接器
在连接器创建完成后,您可以在连接器页面中查看连接器的基本信息。您还可以启用或停用连接器,并且通过连接器列表的操作列管理连接器,包括编辑连接器的设置参数、创建规则、复制连接器或删除连接器。
如果连接器被 Sink/Source 使用,更新连接器配置会导致 Sink/Source 重新加载,可能会造成数据处理中断,建议在业务低峰期进行更新。
正在使用的连接器无法删除。要删除连接器,需先删除使用该连接器的 Sink/Source。当您删除连接器时,会弹出一个警告对话框,显示与该连接器关联的 Sink/Source。点击 Sink/Source 将带您进入规则设置页面,在那里您可以删除 Sink/Source。
连接器状态
您可以在 Dashboard 上查看连接器运行状态,以进行故障排查和监控。
连接器具有以下状态:
- 连接中(connecting):在进行任何健康检查之前的初始状态,连接器仍在尝试连接到外部数据系统。
- 已连接(connected):连接器已成功连接到外部数据系统。在此状态下,如果健康检查失败,桥接可能会转换为 connecting 或 - disconnected 状态,具体取决于故障的严重程度。
- 已断开(disconnected):连接器未通过健康检查,处于不健康状态。根据其配置,它可能会定期尝试自动重新连接。
- 不一致(inconsistent):集群节点之间的连接器状态不一致。例如连接器在某些节点上处于连接状态,而在其他节点上处于断开状态。
注意事项 - 连接池
部分连接器提供了连接池的概念,连接池是一组可重用的连接对象。通过连接池,用户无需在为每个请求重新创建连接,有助于降低资源消耗,提高连接效率和并发能力。
连接池的大小表示的是每个 EMQX 节点上的大小,EMQX 会在每个节点创建一个单独的连接池。鉴于 EMQX 通常以集群方式部署,这可能导致实际的连接数量超出外部数据系统的限制。
例如,一个包含 3 个节点的 EMQX 集群,如果连接器的连接池大小设置为 8,那么 EMQX 将创建 3 x 8 = 24 个连接。