单体在早期能解决我们的业务问题,但是随着用户量,设备量的增长,并发量的上升,已经不足以支撑整个业务系统。

这个时候,就得采用硬件+软件的方式来解决这样的问题。

如果公司有钱,可以直接通过提升硬件(服务配置+带宽)来解决问题。

但是,大部分公司还是要节省这部分的开销的(阿里云等云平台收费还真是不便宜),所以,要从多个角度来解决这个问题,那就是性价比。

像HBase这样的列式数据库也是利用大量闲置的硬盘资源来做大数据量的存储的应用,我们就可以用技术和性价比比较好的资源去做事情。

分布式,是解决这个问题的,当你的业务一个支撑不了,我们就给你上两个,一个人解决不了,两个人应该就够了吧。

但是,解决的人多了。就需要一个管理层来管理谁来处理啥,就像有人请假了。你得让另外一个人替补,要不然,就没办法继续流程下去。

这里说一下我对分布式和集群的理解。

分布式,就是把业务拆分为一个又一个的步骤,比如做饭,选菜,掌勺,上菜,支付。
分开每个部分做自己的那个部分业务。
集群:就像搬砖的,一个人不够,我就多分配给你几个人,你们都是干的一样的事情。
从广义理解,它其实也是分布式。

现在我所从事的.Net 分布式框架就是 微服务。

下面我列出来微服务的技术栈。

 

接下来的一段时间,我会把这个框架展示出来,一起进步。

总的核心是,如果单体能解决问题,就没必要分布式,能不分布式,就不要分布式。

分布式之后,大大的增加了系统的复杂性。

 

 

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐