RocketMQ – Open source distributed messaging and streaming data platform
rocketmq.incubator.apache.org
rocketmq.incubator.apache.org
On the comparison of queues, wrt ordering, it states:
Ensure strict ordering of messages, have no hot spot problem,and can scale out gracefully
And slates Kafka with: Ensure ordering of messages within a partition
But then on the "core concept" page it states: Topic is partitioned into one or more sub-topics, “message queues”.
And: Consuming messages orderly means messages are consumed the same order they are sent by producers for each message queue. If you are dealing with scenario that global order is mandatory, make sure the topic you use has only one message queue.
Which amounts to exactly the same as Kafka, albeit with "partitions" renamed "message queues".So you can have one topic, partitioned to 5 consumers, and each consumer storing the received events. Each consumer will see their own messages in-order, but if you merge the 5 it is not guaranteed to be ordered.
I'd guess this is what RocketMQ means by "scale out gracefully"
That's exactly the same semantics provided by RocketMQ's "message queues", from what I can tell - except perhaps that these message queues are explicitly subscribed to? If that's the case, you can do that in Kafka too, but it's generally discouraged, as it can lead to performance problems.
There is nothing about `rename`, RocketMQ has different storage architecture than Kafka. see https://rocketmq.incubator.apache.org/rocketmq/how-to-suppor...
This is by no means a criticism, rather amusement when looking at all the projects within the epic Apache ecosystem.
The model is dump the core on Apache and try to make money by value added services like management, monitoring, clustering etc if it is created by software vendor or try to defray the maintenance cost if it is done by non-software company.
Meaning, where all cool libraries were being developed.
Edit: Found something https://rocketmq.incubator.apache.org/docs/motivation/
But is this a re-implementation or something else? Wasn't apollo also a re-implementation?
Whether or not Artemis becomes the new version of ActiveMQ, RedHat have recently released a new version of their AMQ and it is based on Artemis. It supports AMQP 1.0, MQTT, STOMP, OpenWire, and HornetQ Core.
Plus for the majority of distributed applications on the enterprise level, using a programming language with GC support isn't an issue.
Finally, there are plenty of languages available on the JVM, straight Java isn't the only option, just like (luckily) C isn't the only option on UNIX.
It's already a quite different language for someone as me coming from a C89 and Python background, I need as many helpers as I can to ease in eehehe. intellij-rust edits code, but does not debug (clion does as beta, but clion is paid). vscode+rust debugs code, but the whole integration feels fragile. I have yet to try RustDT but this whole time I am trying different toolkits I could be building code....
So yes, Rust guys please make this happen as fast as you can, we are thirsty to dive in!
I'm going to try to get involved in the Rust community, translate docs or work shit they need and that I can help. "x.py" is a joke right now.
Could you say more about this?
> "x.py" is a joke right now.
This too.
I get why a startup might not like Java, but for large scale software projects its not a bad choice.
* Its stable
* Highly Supported
* Easy to find developers
* Fast (compared to other popular programming languages)
* Has a great package library
* Old code will just `work` for years if not decades. New java versions are generally non breaking
A project can become Apache project if it follows their governance rules - they define management, decision process, minimum number of organisations and such.
[1] https://rocketmq.incubator.apache.org/docs/motivation/#rocke...