• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

RWS: 数据库读写分离小组件,实现数据库读写分录,目前提供手动方式读写分离或者给予s ...

原作者: [db:作者] 来自: 网络 收藏 邀请

开源软件名称:

RWS

开源软件地址:

https://gitee.com/lkclkc88/RWS

开源软件介绍:

#RWSRWS是一个非常小的组件,实现数据库读写分离的功能。

背景 :大多数项目中,为了避免数据库单节点故障,都会采用主从的方式来构建数据库高可用,在主从结构当中,主要的操作都在主库上执行,而从节点仅仅只实现数据备份的功能,是非常浪费的,因此可用将部分的查询请求放在从节点执行,达到缓解主节点查询压力的作用。另外,如果在一个读写比比较低的系统中,数据库的读写锁争用,会降低数据库的查询性能。

功能:组件实现简单的读写分离功能,通过ReadWriteRule接口,来判断获取数据库连接时采用写库还是读库。同时通过LoadRule接口实现多个读库的负载。ReadWriteDataSource : 实现读写分离的主类。提供一下属性。gloabCanWrite: 是否全局可写,默认为true,代表数据源可用执行写操作。writer : 写数据源,执行写操作时,将从写数据源获取数据库连接.readers : 读数据源,执行读操作时,将会从readers中根据规则获取数据源,如果readers为空,讲从write获取连接.loadRule : 负载规则,用于决定多个读节点时,各个节点的负载情况。readWriteRules: 读写规则,通过读写规则,决定获取连接时获取写库还是读库。

灾备:组件只是一个简单的功能实现,不提供灾备功能。使用者需自己设计灾备方案,例如keepalived,Amoeba等。

主从延迟问题:组件只是一个简单的功能实现,不解决数据库主从配置的延迟问题,如果需要实现强一致兴趣,可以自己实现组件设置,也能通过手段设置,讲代码使用写库做数据查询。

开发组件的原因:

开源社区里,已经存在了不少中间件组件,然后在对事物的支持上无法完全支持。因此在我开发项目过程中,希望能够找到一个能够实现事物,并且支持读写分离的组件,因此写下了此段代码,既可以手动控制读写分离,也能规矩规则控制读写分离。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap