Skip to content

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

@aospace-admin

Description

@aospace-admin

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 等中间件
  • 熟悉多线程编程

开源之夏官网

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions