Hi  RocketMQ Community,

    This is a discuss for a new feature which called Message Connector.The 
content of this RIP is as following.You can look at it.If you have any question 
about this rip,you can discuss it with me in the email.

1、Status
Current State: Discuss
Authors: HuZongTang, WangShaoJie
Shepherds: DuHeng
Mailing List discussion: [email protected];[email protected]
Pull Request:
Released: <5.0.0>

2、Background & Motivation
    What do we need to do
                       In current version of rocketmq project, different 
cluster can't exchange messages each other. Although dLedger structure improves 
availability of rocketmq much more, it still can't implement backuping messages 
for different cluster.
So, we need a mechanism to implement backuping messages for different cluster. 
It can improve availability of multiple rocketmq cluster. Here, we called it 
Message Connector.

3、Goals
    What problem is this proposal designed to solve?
        We plan to design a component call Message Connector for RocketMQ. User 
can define the topic message routing rule by configing file, such as source 
topic, targe topic, filter tag , source cluster and targe cluster info.
    To what degree should we solve the problem?
    (1)Define some rules in configing files;
    (2)Better availability for messages in multiple cluster enviroment.
    (3)Monitering some parameters in the process of message replication;

4、Non-Goals
    What problem is this proposal NOT designed to solve?
     In this phase, this rip only support starting message replication from the 
latest message position currently in the message queue.
    Are there any limits to this proposal?
    If users want to use this feature, they will deploy Message Connector 
Component. It will add a little complexity for operation and maintenance.

5、Changes
    If users want to use this feature, they will deploy Message Connector 
Component. 

6、Architecture

We plan to design the function of Message Connector as a new component. The 
total architecture is as below:




Enahncement 1: Sub-project: Implement full messages synchronous replication
We will implement the basic feature for this rip. In this phase, Users can use 
the Message Connector Component for message replication basicly.


Enhancement 2: Sub-project: Monitering some parameters in the process of 
message replication 
This phase we will collect some parameters in the process of message 
replication, such as message tps, delay, latest synchronous time and so on.User 
can show this parameters in their own monitering system.


Enhancement 3: Sub-project: Implement exactly once replication 
This phase we will implement message idempotency to meet the exactly once 
demand.


Reply via email to