微服务大量数据的跨库(跨微服务)表关联查询有没有实用的解决方案 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
DaeDaluS
V2EX    数据库

微服务大量数据的跨库(跨微服务)表关联查询有没有实用的解决方案

  •  
  •   DaeDaluS 2018-11-25 20:42:53 +08:00 10123 次点击
    这是一个创建于 2526 天前的主题,其中的信息可能已经有所发展或是发生改变。

    多个微服务都有独立的 DB 作为数据存储, 现在个别微服务需要查询展示的数据为多个微服务的汇总数据; 也就是需要跨微服务跨库的联表查询; 我知道这样设计是有问题的, 但是现实的业务已经有这种问题需要去解决了。 尽量不干扰数据写入, 只考虑数据读取过程就可以,如果实在没办法,需要扰数据写入过程的也可以

    不知道各位大佬有没有什么好的解决方案, 或者想法的?

    13 条回复    2018-11-26 13:25:13 +08:00
    zollum
        1
    zollum  
       2018-11-25 20:53:34 +08:00
    定时任务吧,将汇总数据处理好存表。
    DaeDaluS
        2
    DaeDaluS  
    OP
       2018-11-25 21:09:04 +08:00 via iPhone
    @iamaprin 现在做的类似于云平台,比如查一个用户最近三个月的订单,分别在用户系统和订单系统两个服务模块里;这样的数据没办法做预先的统计。
    最好的是能实时高效的查询那种
    anyele
        3
    anyele  
       2018-11-25 21:57:02 +08:00 via Android
    还是只有不同微服务提供接口查
    HuHui
        4
    HuHui  
       2018-11-25 21:59:40 +08:00 via Android
    redis
    jimages
        5
    jimages  
       2018-11-25 22:29:09 +08:00
    再写一个微服务,去调用这两个微服务,做联表查询,并且做成定时任务。
    megachweng
        6
    megachweng  
       2018-11-25 22:30:21 +08:00 via iPhone
    我的想法是再起个 Quartz 服务,定时调一下基础服务的接口,缓存一段时间
    ghos
        7
    ghos  
       2018-11-26 09:37:50 +08:00
    存的时候多存一份统计数据
    DaeDaluS
        8
    DaeDaluS  
    OP
       2018-11-26 09:43:01 +08:00 via iPhone
    @HuHui 具体怎么个思路呢?要把所有其他库的表都缓存起来?
    DaeDaluS
        9
    DaeDaluS  
    OP
       2018-11-26 09:44:15 +08:00 via iPhone
    @jimages 这个当前微服务想要做的就是这个;但是代码处理麻烦,还可能处理不了,所以才想找一个有效的方案
    DaeDaluS
        10
    DaeDaluS  
    OP
       2018-11-26 09:45:04 +08:00 via iPhone
    @megachweng 数据量大,尤其是业务数据,会经常变,这种做法只能满足基础数据,
    DaeDaluS
        11
    DaeDaluS  
    OP
       2018-11-26 09:45:50 +08:00 via iPhone
    @ghos 存储数据都是其他部门的事情啊……,而且不止一个
    specture
        12
    specture  
       2018-11-26 11:06:19 +08:00
    ETL+OLAP。ETL 过程可以用开源的组件或者商业组件或者自己实现。个人觉得设计上按照你说的没有特别大的问题。
    DaeDaluS
        13
    DaeDaluS  
    OP
       2018-11-26 13:25:13 +08:00 via iPhone
    @specture 能不能具体指导一下;需要哪些组件完成设计;
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2598 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 30ms UTC 14:47 PVG 22:47 LAX 07:47 JFK 10:47
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86