用微服务的思想做ToB的SaaS,你没开始其实就已经错了

本文探讨了微服务架构在SaaS系统中的应用局限性,指出微服务的纵向分割与SaaS所需的横向用户分割相冲突,尤其是在用户迁移、服务扩展及运维复杂性方面。建议SaaS系统采用面向应用的架构,以更好地适应业务需求。

在大型系统或者大数据系统处理中,微服务模式是有一定的优势的,因为微服务的模式本质上就是对要处理的数据进行纵向划分,也就是按功能模块(按服务)划分,需要注意的是,每个微服务背后的数据库应该是独立存储的,也可以异构,这个可以根据自己的需要来进行选择。

但做SaaS系统,一般都是多用租赁模式,对于分割的基本需求就是按”用户“来分割,这种分割是横向的,这和微服务的思想是违背的。多用户租赁,以用户为视角是第一视角,很多操作都会发生在这个视角上。比如”用户“迁移。如果是微服务模式,一个用户数据的迁移会非常复杂,每个微服务都需要响应。如何保证在微服务模式的复杂调用关系下实现”用户“的整体迁移本身就是个非常复杂和困难的事情。

微服务模式虽然对功能的扩展有一定的支持,但如果功能涉及到的服务比较多,其扩展能力就会大打折扣。微服务的关联扩展能力是随着服务数的增多极速下降的。

用微服务开发SaaS对于运维来说其实市场噩梦,如果服务过多,而对于ToB的应用服务之间的调用关系又比较复杂,加上负载均衡的需要,每个服务可能有很多的运行实例,一个业务发生改变可能会导致其它服务都要改,就会使得发布和更新变得非常复杂。

因此,用微服务的思想做SaaS本质就是整体和局部的关系倒转,是不适合的。

当然,做SaaS系统不应该局限于一种架构,而应该是一种综合的或者多种架构的融合。另外就是我所主张的,SaaS服务必须和业务适应。即:面向应用架构。

这篇文章是我转发的,我觉得写的比较实在,大家可以看看:https://mp.youkuaiyun.com/console/editor/html/105549663

评论 5
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值