Does RocketMQ support master-slave auto switch? - rocketmq

Does RocketMQ support master-slave auto switch?
I have try it in v3.5.8, but it does not work. So, i just want ask someone who can gave accuracy answer

No, Rocketmq does not support this for sending messages.
Howerver, slave can take the position for pulling messages when master is out of service. And auto switch to slave for reading has been implemented.
So problems only exist in the scenario of sending messsages, if you need to have high-availability on writing, please put more master with diffrent group name in service.

you can use Rocketmq Version 5.0.0

Related

how to sync two rocketmq cluster which are in different networks

I got rocketmq clusters named A and B, they are in network net-A and net-B separately. How could I sync their topics and messages.
You should define them in the same broker groups, say master is in net-A and slave is in net-B.
Thanks for your attention to RocketMQ.
Sorry for your inconvenience. We are still working on the replicator of RocketMQ. The improvement would be released soon in the next few versions.
At the moment, we recommend you make them a master-slave mode and define them in the same broker group. This enables the slave node to sync its topics and messages with the master node.

ruby-kafka: is it possible to publish to two kafka instances at the same time

Current flow of the project that I'm working on involves pushing to a local kafka using ruby-kafka gem.
Now the need arose to add producer for the remote kafka, and duplicate also messages there.
And I'm looking for a better way, than calling Kafka.new(...) twice...
Could you please help me, and do you happen to have any ideas?
Another approach to consider would be writing the data once from your application, and then asynchronously replicating the message from one Kafka cluster to another. There are multiple ways of doing this including Apache Kafka's MirrorMaker, Confluent's Replicator, Uber's uReplicator etc.
Disclaimer: I work for Confluent.

MassTransit's PublisherConfirmation option no longer exists

Upgrading to MassTransit 4.x, overtop RabbitMQ. My application configuration was using PublisherConfirmation set to true, to ensure message delivery without the overhead of transactions. (In least, that was what the docs used to say.)
In MT 4.x., it appears that PublisherConfirmation no longer exists.
I haven't found any info (yet) on why this went away, or what replaces it moving forward. Essentially, I don't want fire-and-forget; if the message doesn't reach the queue I want an exception.
Any guidance would be appreciated.
To configure PublisherConfirmation using MT 4.x or later, that option is now configured on the host, instead of the bus.
https://github.com/MassTransit/MassTransit/blob/develop/src/MassTransit.RabbitMqTransport/Configuration/IRabbitMqHostConfigurator.cs#L24

Is possible to schedule a method to run everyday?

I have a service with only one method inside. I would like to schedule this method to run everyday at 01:00am. Can I do this using only IBM Integration Bus?
You can use a TimeoutNotification Node in IBM Integration Bus.
Yes , you should be able to do it quite eazily using timer nodes available in IIB. The timeout control and timeout notification nodes permit you to schedule reccuring events or time based events. The link is slightly old , but gives a really good idea of going about this.

how to communicatie rocketmq and rocketmq directly?

I have two network envionments (such as NETWORK -A and NETWORK -B). Now, I deployed rocketmq-a in the NETWORK-A and deployed rocketmq-b in the NETWORK-B, how to communicate rocketmq-a and rocketmq-b directly?
According to your comment, you have two rocketmq clusters and one message should replicate to another rocketmq cluster.
So this is a message replication.
you have two choices:
Implement a send message hook
Use a messageStore plugIn that extend AbstractPluginMessageStore and load it using broker configuration
Both of them needs to implement replication by yourself.
However, if you make them the same broker group, it is very easy.
Just make rocketmq-b as a slave of rocketmq-a, and deploy them in different machine room.
Then rocketmq-b will only provide read operations and always replicate the data from master

Resources