> For the complete documentation index, see [llms.txt](https://rocketmq-1.gitbook.io/rocketmq-connector/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://rocketmq-1.gitbook.io/rocketmq-connector/rocketmq-connect/rocketmq-runtime/sheng-ming-zhou-qi.md).

# Connector生命周期

一个Connector的运行周期

## Connector生命周期

### 生命周期总览

![Connector生命周期总览](https://1190388593-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Lm4-doAUYYZgDcb_Jnz%2F-LtZtPRJLcYrvxE_1p31%2F-Lt_EhDiFK_DIoxH-8Nj%2Fconnector%E7%94%9F%E5%91%BD%E5%91%A8%E6%9C%9F3.png?alt=media\&token=ca6ed570-c102-4704-a86c-a5ac8dbe0618)

一个connector的生命周期主要分为三个阶段：**启动、运行、停止**

* **启动**

&#x20;       设置connector实例配置，同步配置，然后触发负载均衡启动connector和task。

* **运行**

&#x20;       运行task的具体任务，依据topic和不同的connector运行具体任务。

* **停止**

&#x20;      停止task任务，删除connector的配置信息。

### 创建并启动connector

![创建connector过程](https://1190388593-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Lm4-doAUYYZgDcb_Jnz%2F-Lt_IDwjaFXMyhYQKzra%2F-Lt_IHA1wYlCJOVuuBQ6%2Fconnector%E7%94%9F%E5%91%BD%E5%91%A8%E6%9C%9F1.png?alt=media\&token=38de9993-6737-4f07-958d-8b2c9b6c08ca)

创建并启动connector过程大致可以分为以下几个阶段：

* **RESTful阶段**

1. 发送创建connector请求
2. 处理请求，调用configManagementService进行参数配置

* **configService阶段**

1. 添加配置信息
2. 加载connector实现的类文件
3. 同步connector配置和task配置
4. 触发connector配置更新，从而触发负载均衡

* **负载均衡阶段**

1. 获取集群信息，消费进度、connector、task等信息
2. 先对connector进行创建
3. 重新计算task并启动对应的task任务

### 运行Task任务

{% hint style="success" %}
**每种connector的具体任务过程不一样，具体参照对应的connector的Source Task与Sink Task**
{% endhint %}

### 停止并删除connector

![停止connector过程](https://1190388593-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Lm4-doAUYYZgDcb_Jnz%2F-Lt_IOy-SFAPIhDGmKN8%2F-Lt_J5VoXGdRgHWdhHpp%2Fconnector%E7%94%9F%E5%91%BD%E5%91%A8%E6%9C%9F2.png?alt=media\&token=bf3a76fc-4abb-444e-a83f-ec25e0a877fd)

停止并删除connector过程大致可以分为以下几个阶段：

* **RESTful阶段**

1. 发送停止connector请求
2. 处理请求，调用configManagementService进行参数配置

* **configService阶段**

1. 设置对应的connector的config状态为**DELETED**
2. 同步设置
3. 等待负载均衡

* **负载均衡阶段**

1. 获取集群信息，消费进度、connector、task等信息
2. 获取要删除的所有connector实例，并删除
3. 重新计算task并停止不在列表的task

{% hint style="warning" %}

### 注意事项

1. 负载均衡阶段对**创建和删除两种操作是同时进行的，**&#x4E0A;面分开是为了表达方便。
2. 创建新的connector会立即触发负载均衡，而删除操作只能等待定时负载均衡。
3. **集群信息变化也会引起负载均衡，同样也会进行connector的创建和删除。**
   {% endhint %}
