【转】微服务MySQL分库分表数据到MongoDB同步方案
需求背景 近年来,微服务概念持续火热,网络上针对微服务和单体架构的讨论也是越来越多,面对日益增长的业务需求是,很多公司做技术架构升级时优先选用微服务方式。我所在公司也是选的这个方向来升级技术架构,以支撑更大访问量和更方便的业务扩展。 发现问题 微服务拆分主要分两种方式:拆分业务系统不拆分数据库,拆分业务系统拆分库。如果数据规模小的话大可不必拆分数据库,因为拆分数据看必将面对多维度数据查询,跨进程之间的事务等问题。而我所在公司随着业务发展单数据库实例已经不能满足业务需要,所以选择了拆分业务系统同时拆分数据库的模式,所以也面临着以上的问题。本文主要介绍多维度数据实时查询解决方案。当前系统架构和存储结构如下: 解决思路 要对多数据库数据进行查询,首先就需要将数据库同步到一起以方便查询 为了满足大数据量数据需求,所以优先选择NOSQL数据库做同步库 NOSQL数据库基本无法进行关联查询,所以需要将关系数据进行拼接操作,转换成非关系型数据 业务多维度查询需要实时性,所以需要选择NOSQL中实时性相对比较好的数据库:MongoDB 根据以上思路,总结数据整合架构如下图所示: 解决方案 目前网上一些...
