# RWS **Repository Path**: 634118906/RWS ## Basic Information - **Project Name**: RWS - **Description**: 数据库读写分离小组件,实现数据库读写分录,目前提供手动方式读写分离或者给予spring事物控制的读写分离 - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 8 - **Created**: 2016-02-01 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README #RWS 功能: 组件实现简单的读写分离功能,如果读库存在多个时,默认采用轮询的方式分摊压力,组件依赖于spring的事物控制功能。 灾备: 组件只是一个简单的功能实现,不提供灾备功能。使用者需自己设计灾备方案,例如keepalived,Amoeba等。 开发组件的原因: 开源社区里,已经存在了不少中间件组件,然后在对事物的支持上无法完全支持。因此在我开发项目过程中,希望能够找到一个能够实现事物,并且支持读写分离的组件,因此写下了此段代码。 组件的原理: 1,存在事物时,组件使用master数据库执行,此时,事物内的查询,修改,增加,删除都在master数据库节点上执行,因此不会有master-slave 同步数据延迟的问题。 2,不存在事物时,组件默认采用slaves执行数据,如果没有配置slaves,讲采用Master执行。 3,当slaves存在多个数据节点时(数据库方案可能出现master-双slave,或者master-slave-slaves方案时),默认采用轮询方式分摊压力。