zoukankan      html  css  js  c++  java
  • 微服务架构中如何解决连表查询的问题?

    明确的告诉你,没有,我曾经非常困惑这类问题,直到某次有幸去大厂交流了一下,才发现他们拿微服务基本都做的是OLTP(联机事务处理)类业务——最多涉及多个库的表事务性写入,通过最终一致性解决。而你说的这种联表查询,属于OLAP(联机分析处理)类业务,这类型业务,大厂的采取了两个办法解决:

    1.专门有一个微服务,背后有一个专门的数据库,通过某种同步机制。把客户信息和订单表的信息同步到这个库,然后这个微服务就专门提供这类联表查询,适合实时性要求不高的分析场合。

    2.实时要求高的场合,上大数据,流处理,同样也是把客户和订单表的数据以流的方式进行计算得到你用关系数据库必须联表才能得到的数据。这种现在应用开始变多了。

    从这点可以看出,微服务不是银弹,数据库拆分不是万能的,有不适应的场合,而解决这个问题的方式无非是“空间换时间”。所以我是真的认为微服务不适合一些并不复杂的小型场景,这类一开始就能预估出规模的场景,一开始就上微服务,那就看你舍不舍得投资上基础设施,来解决这种常见的OLAP需求了

  • 相关阅读:
    java运算符优先级
    快排
    dpkg
    BZOJ 4487 染色问题
    BZOJ 3530 数数
    XSY 2754 求和
    BZOJ 4559 成绩比较
    广义容斥-二项式反演-容斥系数
    线性基学习笔记及其相关证明
    BZOJ 2754 喵星球上的点名
  • 原文地址:https://www.cnblogs.com/xtjatswc/p/13445827.html
Copyright © 2011-2022 走看看