# edu-async-request **Repository Path**: yangzhen94/edu-async-request ## Basic Information - **Project Name**: edu-async-request - **Description**: edu-async-request模块是异步请求模块,例如通过浏览器访问controller接口,接口层将参数封装到 CommonRequest实体中,使用RequestAsyncProcessService(spring注入)发送请求到线程池中。注意,使用此方式操作数据库时,没有事务。 此模块不仅限于浏览器访问接口,postman、mq、单元测试等任何可以主动发送请求的方式,都可以使用此模块异步执行请求。 优势: 1. 一定程度上解决同一时刻的高并发 2. 一定程度上减轻数据库负担 3. 路由具有同一属性的请求到同一个队列,保证顺序消费 4. 不考虑请求丢失的情况下,去重请求在一定程度上可以减少数据库死锁的概率 5. 提供并发控制的接口,方便开发者测试并发请求(不仅限于测试此模块的异步请求) 劣势: 1. 服务宕机会导致内存消息丢失 2. 去重队列可能丢失最新的数据 3. 模块提供了通用型请求、自定义请求和去重请求3种,目前仅支持使用其中的一种,当然可以通过重写配置文件使用多种(尚未测试) 4. 去重请求虽然在一定程度上可以减少数据库死锁的概率,但是仅限于一个服务节点,如果多个服务 - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 2 - **Created**: 2019-11-11 - **Last Updated**: 2022-06-23 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README No README documentation available for this project.