背景:由于国外访问部署在国内的web服务以及接口慢,公司想要多节点部署项目。
遇到的问题:
1.数据库必然要多数据库,数据库同步怎么搞?
DTS,自己写接口,主主复制,写触发器
DTS:太贵了
主主复制:要自行处理延时问题,万一有并发很有可能出现两个数据库有同一个主键的情况(主键自增)
自己写接口同步:工作量太大了
写触发器:和主主复制一样会出现同一个主键的情况
于是乎想到了全局主键,因为项目主键都采用long类型的,所有想到了雪花算法来生成主键,在接口主主复制或者触发器
2.redis缓存同步问题
还在寻找解决方案
关于雪花算法网上已经有好多大佬写过了,传送门:
https://blog.csdn.net/linghuanxu/article/details/78896317
https://gitee.com/yu120/sequence