发布者:上海IT外包来源:http://www.lanmon.net点击数:1375
蓝盟IT小贴士,来喽!
体系结构的发展历史
可以说现在的科学技术日新月异,发展迅速。 我们的软件设计行业也发生了很大的变化,但业务越来越复杂,需求越来越巨大和复杂,软件体系结构和部署规模也发生了很大的变化。 作为软件体系结构思想之一的“微服务体系结构”也在按照自己的法则进化。 其次简要了解“微服务架构”的发展经验。
单体体系结构(Monolithic )
单体应用时代:无论应用程序如何分层,都是解决方案,即项目,这里的“解决方案”和“项目”不是我们使用的Visual Studio概念,最终的程序代码是
优点:开发简单,可以集中管理,没有分散的损失,都是系统进程内的通信。
缺点:维护不好,升级困难,耦合严重,不能适应高并发性和大数据场景,不能迅速迭代。
只能采用相同的技术,很难用不同的语言或相同语言的不同版本开发不同的模块。
如果系统的结合性太强,其中一个模块有问题,这个系统就会瘫痪,一个模块必须升级,整个系统必须在停机时间进行维护。
要上线,必须一起上线,彼此等待,不能迅速适应市场需求。
集群负担很大,需要集群时,即使一个模块有压力,也只能对整个系统进行集群化。
垂直分割
随着业务规模越来越大,系统设计越来越复杂,大系统开始垂直分割业务。 例如,有专攻商品秒杀的部门、专攻生鲜商品的部门、专攻超市的部门等。 当然,这是天生由部门分类的,根据业务需要进行系统分类。
好处:垂直分割,系统独立部署和维护,每个系统都在自己的过程中运行和分割。
缺点:分区越多,存储越复杂,系统之间重复的东西也越多,单个系统是单体模式。
分散式服务
随着商业系统的不断壮大软件系统的设计越来越复杂。 为了避免过度复杂的业务需要,开始业务系统的垂直分割,形成多个独立的业务系统,在多个系统之间通信的情况下,可以用跨越过程的技术完成通信。 但是,垂直分割会导致用户模块、日志模块、支付模块、认证授权模块等多个重复代码、重复模块的生成,这样的分布式代码也会给系统的维护和升级带来困难。 我们重新划分业务,将独立模块接口化、服务化,提高再利用时,开始进入分散服务的时代。
文/上海蓝盟 IT外包专家
分享到: