apache / incubator-seata

:fire: Seata is an easy-to-use, high-performance, open source distributed transaction solution.
https://seata.apache.org/
Apache License 2.0
25.21k stars 8.76k forks source link

Raft cluster mode #2720

Open slievrly opened 4 years ago

slievrly commented 4 years ago

Proposal:Raft cluster mode Seata currently supported a stateless cluster based on DB mode, this mode need to add additional DB maintenance costs. We are exploring the Raft based clustering mode, and we hope you will be able to complete Seata Raft cluster mode with us. • design, code, and verify the Raft cluster schema. You can use third-party component libraries.


Raft 集群模式 目前Seata 支持基于DB的无状态集群模式,这种模式需要增加额外的DB维护成本。我们正在探索基于 Raft 的集群模式,希望你能够与我们一起完成 Seata 的 Raft 集群模式。 • 完成 Raft 集群模式的设计、编码和验证工作,可使用第三方组件库。

mentor: Ji Min @slievrly , Seata project Maintainer

NitishGadangi commented 4 years ago

Hey @slievrly I would like to work on this, Can you guide me with a few initial steps which will help me to get on with the project

slievrly commented 4 years ago

@NitishGadangi I will email you the initial steps later.

satjd commented 4 years ago

@NitishGadangi There are some Raft protocol open source implementations written in Java, which one do you think is better for seata? You can find one and implement replicated state machine for multiple TC processes based on it. TC is a component of seata. It provides global transation status management service. You can find more information of it in What Is Seata? :) Alternatives: Apache Ratis sofa-jraft

NitishGadangi commented 4 years ago

Thanks @satjd , I will check it out 😊

slievrly commented 4 years ago

@NitishGadangi apply: https://page-intl.aliyun.com/form/act1587253096/index.htm

zongtanghu commented 4 years ago

@NitishGadangi There are some Raft protocol open source implementations written in Java, which one do you think is better for seata? You can find one and implement replicated state machine for multiple TC processes based on it. TC is a component of seata. It provides global transation status management service. You can find more information of it in What Is Seata? :) Alternatives: Apache Ratis sofa-jraft

Hi @slievrly, I'm a committer of SOFA-JRaft.If you choose SOFA-JRaft as seata's Paft protocol tools, I can provide some help which intergate seata with SOFA-JRaft.

SOFA-JRaft's introduction is as below: SOFAJRaft is a production-level, high-performance Java implementation based on the RAFT consistency algorithm that supports MULTI-RAFT-GROUP for high-load, low-latency scenarios. With SOFAJRaft you can focus on your business area. SOFAJRaft handles all RAFT-related technical challenges. SOFAJRaft is very user-friendly, which provides several examples, making it easy to understand and use.

funky-eyes commented 4 years ago

please give me