Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implementing Distributed Lock Based on Common Middleware like MySQL and Redis #4

Open
aospace-admin opened this issue Apr 27, 2023 · 3 comments
Labels

Comments

@aospace-admin
Copy link
Contributor

aospace-admin commented Apr 27, 2023

Description:

Familiar with the open source projects, imitate RedisReentrantLock to implement distributed locks based on MySQL, distributed read-write locks based on MySQL, and Redis; Write relevant test cases; Write relevant design and usage documents

Project output requirements:

  • Implement a distributed lock based on Mysql, which has the following characteristics: reentrant; lock expiration mechanism to prevent deadlock; non-blocking lock feature.
  • Implement a distributed read-write lock based on MySQL and Redis, which has the following characteristics: reentrant read and write locks; lock expiration mechanism to prevent deadlock; non-blocking lock feature.
  • Write corresponding unit and integration tests.
  • Write corresponding design and usage documents.
  • Code meets the following standards: https://google.github.io/styleguide/javaguide.html

Project Technical Requirements:

  • Familiarity with Java language.
  • Familiarity with Quarkus framework.
  • Familiarity with middleware such as MySQL and Redis.
  • Proficient in multithreaded programming.

Open Source Summer Official Website

实现基于 MySQL、Redis 等常用中间件的分布式锁

描述

熟悉已发布的开源项目 ,模仿 RedisReentrantLock 实现基于 MySQL 的分布式锁、基于 MySQL、Redis 的分布式读写锁;编写相关的测试用例;撰写相关设计、使用文档

项目产出要求

  • 实现基于 MySQL 的分布式锁(互斥锁):具备可重入特性;具备锁失效机制,防止死锁;具备非阻塞锁特性。
  • 实现基于 MySQL、Redis 的分布式读写锁:具备读锁可重入、写锁可重入特性;具备锁失效机制,防止死锁;具备非阻塞锁特性。
  • 编写相应的单元测试和集成测试。
  • 编写相应的设计、使用文档。
  • 代码符合规范: https://google.github.io/styleguide/javaguide.html

项目技术要求

  • 熟悉 Java 语言
  • 熟悉 Quarkus 框架
  • 熟悉 MySQL、Redis 等中间件
  • 熟悉多线程编程

开源之夏官网

@aospace-admin aospace-admin added Summer of Open Source 开源之夏 good first issue Good for newcomers labels Apr 27, 2023
@jianminww jianminww removed the good first issue Good for newcomers label Apr 28, 2023
@gatsby068
Copy link
Collaborator

您好,来自开源之夏。我已经实现issue要求,实现了基于mysql和redis的分布式锁。请问社区支持提前PR吗,项目申请书完成了,还未再开源之夏官网提交。具体可以查看我个人仓库中fork的项目。辛苦!

同学你好,之前你有跟我联系过吗?叫什么名字?咨询人数比较多,对不上人。你是否在开源之夏的官网报名了傲空间的这个项目? @huahuoao

另​:欢迎参加开源之夏傲空间项目,目前我们已创建微信群“傲空间开源之夏交流群”,可邮件导师获取群二维码、Slack讨论组(https://slack.ao.space),可以加入其中咨询相关问题。

@aospace-admin aospace-admin changed the title Implementing Distributed Lock Based on Common Middleware like Mysql and Redis Implementing Distributed Lock Based on Common Middleware like MySQL and Redis May 18, 2023
@huahuoao
Copy link

您好!我参加了开源之夏这个项目。在这之前也在此issue发表过是否可以提前pr的评论。很遗憾我没有中选,查看了中选者的文档过后,写的简洁明了。但是我仍然觉得我的文档更加详细用心,并且我已经写完了绝大多数代码包括测试类,我希望和导师一起继续学习改进。可是可能没这个机会了,最后我还是想咨询一下,很想知道自己不足的地方在哪里,这样下次才能进步。这边附上中选者与我的申请书,尊重开源精神。即使没有中选,还是希望自己写的代码能为该项目带来帮助。希望能得到一个回答。
我的申请书:https://github.com/Huahuoao/platform-base/blob/dev/%E9%99%88%E5%BB%BA%E8%BE%89-23c570277-%E9%A1%B9%E7%9B%AE%E7%94%B3%E8%AF%B7%E4%B9%A6_.pdf
中选者申请书:https://summer-ospp.ac.cn/previewPdf/2007

@aospace-admin
Copy link
Contributor Author

aospace-admin commented Jun 29, 2023

感谢陈同学积极参与开源之夏,关注傲空间项目。

首先陈同学是很优秀的,思路、代码能力导师还是认可的,排序也是很靠前,排在第2位,当初导师也是做了下纠结。排序时主要参考项目申请书、个人简历情况综合排序,项目申请书主要考量设计思路,项目申请阶段对代码完成度暂时还不会做太多考虑;还会考虑个人简历情况,个人履历也会是考量部分。另外也会考量前期跟导师的沟通情况,如果对于题目要求、设计思路、后续的开发计划,做了更加充分沟通的话,排名相对会更靠前些。

对于这次没有中选,也不需要太过纠结,名额只有一个,各位同学都挺优秀的,综合实力差距不大,这种事情本身也会具备偶然性。陈同学的思路、代码能力导师还是认可的,而且还很年轻,未来机会也会更多,这次没中选希望也不要灰心,开源之夏下次可以继续参加,也可以持续为开源做贡献,傲空间也会经常发布任务 issue ,可以通过其他方式继续合作。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

4 participants