Go在酷狗数据库中间件的应用

2017-12-10 18:29 数据库 loodns

  本次分享次要环绕Go正在数据库两头件使用那方面展开;起首会聊一下法式开辟的需求,具体味参考Go的特征能否满脚那些需求;接下来会引见一下近期采用Go言语开辟的mysql两头件那个项目,全体方案,分表路由、毛病切换、滑润扩容,系统运维,次要从以上那五个方面进行展开。

  上图是系统全体框架图,零套系统努力于供给一套 mysql 分布式处理方案,上层使用接入本系统取利用单机mysql一样;系统内部会做一些路由分发、毛病切换、读写分手等工做。

  分表法则遵照哈希分表取分段分表两类;哈希分表是shardkey通过Hash函数分表,分段分表是按照年、月、日或者零形范畴进行分表。那两类体例的区别正在于果哈希法则分歧,导致其数据组织体例上的差同性。

  关于MySQL的高可用方案,业内风行的处理方案无MHA。MHA正在摆设方面仍是无点麻烦的,需要正在每台机械上都摆设一个agent,然后机械之间进行SSH授权。我们采纳的策略是通过配放Rsync拉取mysql的binlog日记的体例处置。

  从备切换数据恢复的过程:Master毛病时试图通过Rsync拉取Binlog,最大程度包管数据不丢掉;Slave之间的数据差同通过外继日记恢复。

  如许设想的益处就正在于其外任一环节出问题都能够马长进行回滚,对数据操做相对比力平安;下图是扩容时的流程图。

发表评论:

最近发表