V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Recommended Services
Amazon Web Services
LeanCloud
New Relic
ClearDB
myrfy001
V2EX  ›  云计算

2019 年,多租户系统的数据隔离技术、架构是怎样的?

  •  
  •   myrfy001 · 2019-02-14 10:14:34 +08:00 · 8441 次点击
    这是一个创建于 2133 天前的主题,其中的信息可能已经有所发展或是发生改变。
    • 2019 年到了,云计算、容器化已经普及,越来越多的企业在喊着要做 ToB,与之而来的是各种 PaaS、SaaS 系统。

    • PaaS、SaaS 一定涉及到多租户技术,涉及到数据隔离

    • 希望在这里请教、讨论一下,在容器化、云计算普及的时代,大家都是怎么做数据隔离的?多租户系统的架构是什么样子的? 有什么相关的设计资料可以分享吗?

    17 条回复    2019-02-15 10:29:12 +08:00
    Livid
        1
    Livid  
    MOD
       2019-02-14 10:19:11 +08:00   ❤️ 1
    myrfy001
        2
    myrfy001  
    OP
       2019-02-14 10:32:18 +08:00
    kata 需要裸机安装部署,对于初创企业,一般还是在现有的云虚拟机上,这样的场景下想做隔离,有没有什么好的架构或者方案呢
    jetbillwin
        3
    jetbillwin  
       2019-02-14 10:42:32 +08:00
    有一种方案是 PostgreSQL 的 schema
    janwen
        4
    janwen  
       2019-02-14 10:42:51 +08:00
    这个跟云计算关系不大,主要还是要考虑成本,
    ieiayaobb
        5
    ieiayaobb  
       2019-02-14 10:52:22 +08:00
    SaaS 很多是逻辑隔离吧,真正做到物理隔离的,除非是大客户或者对安全性极为敏感的
    laxenade
        6
    laxenade  
       2019-02-14 10:54:26 +08:00 via Android
    最起码也要有 kernel 级别的隔离 比如在 vm 这个层次上 物理机隔离成本太高了
    abmin521
        7
    abmin521  
       2019-02-14 12:35:43 +08:00
    @Livid #1 https://github.com/google/gvisor 我感觉 kata 有点不稳定
    seven777
        8
    seven777  
       2019-02-14 12:39:05 +08:00 via Android
    一直在关注这件事。
    paw
        9
    paw  
       2019-02-14 12:57:16 +08:00
    @abmin521 #7 kata 稳定性可以的;就是定制化的 qemu。

    反而 gvisor 性能很成问题。
    dot2017
        10
    dot2017  
       2019-02-14 12:59:07 +08:00
    计算资源可以公用,网络和存储资源分开。
    heaunter
        11
    heaunter  
       2019-02-14 13:03:12 +08:00
    多租户架构:
    1,应用共享+数据库共享(完全逻辑隔离)
    2,应用共享+数据库独享
    3,应用独享+数据库独享(多 POD 部署架构)
    其中 3 多 POD 后,在某个 POD 中,也可能混合有 1 或者 2
    heaunter
        12
    heaunter  
       2019-02-14 13:05:00 +08:00
    #11 创业公司,一般都是按着 1->2 -> 3 的节奏上去,毕竟成本要控制
    xuanbg
        13
    xuanbg  
       2019-02-14 13:41:27 +08:00
    几种方案:
    1、一户一库,库名采用 xxx_租户编码形式。适用数据量较大的大型系统
    2、多户一库,所有业务表全都有一个 tenant_id 字段。适用数据量较少的小型系统
    xuanbg
        14
    xuanbg  
       2019-02-14 13:43:56 +08:00
    @xuanbg 服务现在都是微服务架构了,就没必要搞独享服务了。
    janxin
        15
    janxin  
       2019-02-14 13:58:26 +08:00 via iPad
    先做逻辑隔离控制,然后进行数据库拆分,后面收益可以支撑的前提下进行虚拟化或者容器权限控制
    abmin521
        16
    abmin521  
       2019-02-15 09:57:09 +08:00
    @paw #9 但是 qemu ( vm) 会导致性能损失 应该也不支持嵌套虚拟化(公有云)
    paw
        17
    paw  
       2019-02-15 10:29:12 +08:00
    @abmin521 qemu 带来的性能损失比 gvisor 小多了。嵌套虚拟化不是问题,主流 azure/gce/aws 等是支持的,国内百度云咨询过不行,其他不知道。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5730 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 36ms · UTC 01:47 · PVG 09:47 · LAX 17:47 · JFK 20:47
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.