dhiaayachi / temporal

Temporal service
https://docs.temporal.io
MIT License
0 stars 0 forks source link

ringpop deprecation discussion #311

Open dhiaayachi opened 2 months ago

dhiaayachi commented 2 months ago

Context

I have a small hope that there will one day be support for an active-active Temporal configuration across datacenters, even though I have seen statements from Maxim such as, “Temporal doesn’t support active-active. A namespace is active in one cluster at a time.”

I have experience building and running active-active applications on top of Cassandra, and I believe that there is the possibility of Temporal growing to support such a configuration with the right underlying DB, consistency tuning, and sharding strategy.

Question

As part of my effort to understand the momentum vector of Temporal as an open-source project, I would like to know if anyone can enlighten me about the deprecation of ringpop. I see that membership is pretty nicely abstracted now, so I wonder if there is a long-term strategy for replacing ringpop?

dhiaayachi commented 1 month ago

Thank you for reporting this question.

Ringpop was deprecated as a membership protocol as it was becoming difficult to maintain. It was also difficult to scale to meet the needs of Temporal. Now membership is abstracted and uses the Temporal Server's membership protocol.

Please let me know if you have any other questions.

dhiaayachi commented 1 month ago

Thank you for the question!

Ringpop is a gossip-based membership protocol that was originally used in Temporal to provide service discovery and fault tolerance. However, it has been deprecated in favor of a more flexible and efficient membership abstraction that is currently being developed. This abstraction provides a more robust and reliable way to manage service membership and is better suited for Temporal's evolving architecture.

Unfortunately, there is no publicly available documentation on the exact long-term strategy for replacing Ringpop. It is an ongoing development effort, and specific details may be confidential. However, you can stay informed by following the project on GitHub https://github.com/temporalio/temporal and participating in community discussions. You can also reach out to Temporal's developers through the Temporal community forum https://community.temporal.io/ for more information.