多数据库 主从同步问题

zy5651768 2018-11-22 02:26:04
目前的需求是
底下有500个局域网web服务器 在跑项目,各自连接自己的内网数据库。代码和数据库结构都一样。子项目平均1-10秒有操作产生。
还要有个云服务器。可以实时控制,监控这500个子项目。子项目断网也能正常运行,重新联网后继续接受云的监控。 云服务器要保障数据一致性。可以看到所有记录。
我的有两个想法
1. 子项目和云项目用websocket通讯。子项目客户创建了一条数据。云数据库同步也创建一条数据。云端客户修改了一些记录 。子项目也同时修改对应的这些表数据。
2. 通过数据库同步工具 定时双向同步。 但是可能会出现问题,云数据库选择性同步到子项目如何解决。各自子项目同步到云数据库,各自自动生成的主键重复怎么办。

寻求一些解决方案 谢谢
...全文
518 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
zy5651768 2018-11-22
  • 打赏
  • 举报
回复
反馈下。。局域网内的子项目可注册到外网的数据中心,但是服务消费者 访问不到子项目。估计是内网的缘故。那内网的数据库要会碰倒同样的问题,外网访问不到内网数据库。
zy5651768 2018-11-22
  • 打赏
  • 举报
回复
是 springcloud 子项目当client
zy5651768 2018-11-22
  • 打赏
  • 举报
回复
好的 谢谢 那主键就用guid自动生成解决了。还有个问题 怎么部分同步。我打算用springboot 云端操作子项目直接操作子项目service。子项目修改自己对应的表。子项目数据库定时单向同步到云数据库。先这么做,过几天反馈下可行性。
吉普赛的歌 2018-11-22
  • 打赏
  • 举报
回复
或者所有 id (长整型)均由应用服务器生成, 不关数据库的事, 但那就得应用服务器保证 id 的不重复性。不过, 这种 id 生成器网上一大把, 你自己随便找一个就是了, 没什么难度。
吉普赛的歌 2018-11-22
  • 打赏
  • 举报
回复
双向同步, 最简单的办法是 用 guid, uuid 之类的随机 id . 用 自增长, 那就得起始id 一个单数一个双数。
zy5651768 2018-11-22
  • 打赏
  • 举报
回复
子项目 用springcloud 是否能解决 注册中心放到云端
Redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,redis支持各种不同方式的排序。与memcached一样,为了保证效率,数据都是缓存在内存中。区别的是redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。 Redis的出现,很大程度补偿了memcached这类key/value存储的不足,在部分场合可以对关系数据库起到很好的补充作用。它提供了Java,C/C++,C#,PHP,JavaScript,Perl,Object-C,Python,Ruby,Erlang等客户端,使用很方便。 Redis支持主从同步。数据可以从主服务器向任意数量的从服务器上同步,从服务器可以是关联其他从服务器的主服务器。这使得Redis可执行单层树复制。存盘可以有意无意的对数据进行写操作。由于完全实现了发布/订阅机制,使得从数据库在任何地方同步树时,可订阅一个频道并接收主服务器完整的消息发布记录。同步对读取操作的可扩展性和数据冗余很有帮助。   本课程主要讲解以下内容:1. Redis的基本使用2. Redis数据库的数据类型3. Redis数据库数据管理4. Redis的主从复制5. Redis数据库的持久性6. Redis的高可靠性和集群7. Redis的优化和性能测试8. Redis服务器的维护和管理9. Redis服务器的常见问题排错 

56,679

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧