支付域独立库拆分.pdf

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
支付域独立库拆分与分表分享 1丶独立库拆分实现 1.1 为什么要拆分 性能上看:随着客户的增多,数据量越来越大、数据库的查询QPS越来越高. 支付域与etbc逻辑无相关,故考 虑库独立.来分散查询连接压力。 从可用性上看:独立单独库后,其它不相干的库不会影响支付域的逻辑. 便利性看: 数据库方面出问题时,更方便定位问题.       1.2 如何独立为单独库 1、确定领域归属表 2 丶我方自检 排除所有其它领域的直接连表操作,改为rpc调用。 3、其它项目检查 其它项目有直接查询支付域表的操作,改为rpc调用。 4 丶删除外键约束 部分表,有外键约束在其它领域表。实际上业务不相干,故排除。 1.3如何测试. 1丶 数据库连接测试 假设独立库为:eslink_paycenter,分配userName:eslink_paycenter,旧库为: eslink_etbc,分配 userName:eslink_etbc 若:1.2执行完毕. 在旧的数据库实例中执行命令: show PROCESSLIST 若eslink_paycenter 不存在连接旧库的信息,则说明 项目拆分完成. 2丶项目rpc测试 这个需要细心一点,对所有更改的sql写测试用例进行测试. 容易出错与遗漏,建议: 有条件下分批次上线. 例如一次发布只切换个别的rpc接口. 尽量不要一次全部发布 上线 1.4正式发布 0丶分批次发布 1丶先发布rpc改动.生产稳定后. 2 丶建立新库.进行数据源配置的修改 注意点:订单表一秒可能有5-15条的插入语句. 要保证旧库-新库 在发布期间实时同步. 1丶数据实时同步问题 1丶支持datax,直接使用datax工具即可. 需要开启binlog,阿里云提供的同步工具 2 丶使用触发器同步,单实例内有效. 3 丶其它工具... 如yugong 注意点:写入数据多的表,在新库主键初始值要预留足够的区间. 避免在发布期间,旧库服务写的与新库主键 冲突.   若影响很大,则在发布完C后,将节点A/B停机. 然后重新启动连接为新数据源. 若保证稳定性,则需要开发,在旧库查不到时,去新库查询.(自行评估) 2丶发布失败回滚方案(需评估是否需要停机一段时间) 新库服务有异常,但发布的节点,已经在写库写入数据了,需要评估这部分数据,短暂查询不到是否有业务影 响. 1丶无影响 ①,回滚所有服务,为连接旧库的方式. ②,将发布时间点,新库多的数据,复制到旧库 2丶有影响,但是可恢复

文档评论(0)

159****5066 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档