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.38k stars 8.79k forks source link

distributed locking needs to be added for the server Redis mode #3429

Open funky-eyes opened 3 years ago

funky-eyes commented 3 years ago

Why you need it?

Is your feature request related to a problem? Please describe in details

since tc is stateless and lock-free at present, there may be a scramble for the same resource, causing some uncertain factors

How it could be?

A clear and concise description of what you want to happen. You can explain more about input of the feature, and output of it.

Other related information

Add any other context or screenshots about the feature request here.

litianyu1992 commented 3 years ago

I want to contribute,What should I do

funky-eyes commented 3 years ago

I want to contribute,What should I do

利用jedis的pipeline 通过setnx和expire,及自己的设计,达到竞争锁,解锁,防止死锁,锁续期(第一版可不做续期),实现https://github.com/seata/seata/pull/3427 此pr的lock接口。

funky-eyes commented 3 years ago

I want to contribute,What should I do

抱歉,我误认为你要认领,刚才指派给你了,如果你感兴趣的话,可以在这进行进一步沟通,确认要认领就联系我@litianyu1992

lightClouds917 commented 3 years ago

Please assign to me ,thanks .I am coding on it now. @a364176773

litianyu1992 commented 3 years ago

给楼上吧,他已经coding了 @a364176773

funky-eyes commented 3 years ago

给楼上吧,他已经coding了 @a364176773

@litianyu1992 非常抱歉,后续社区会继续将更多的任务发布在issues,欢迎继续参与到我们的社区贡献中