课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
随着互联网的不断发展,程序员能够掌握的软件架构方式也越来越多了,而今天我们就通过案例分析来了解一下,单体架构与面向服务架构的区别都有哪些。
1、单体架构
从理论上来讲,单体设计并不意味着无法实现拥有单一责任的服务设计。实际上,因为在单体架构中,所有的模块都很易于访问,随着时间的推移,界限很变得非常模糊,如果需要的话,将系统拆分为更小的部分将会变得越来越难。
根据我的经验,单体架构在早期的迭代中速度会比较快,但是随着时间的推移,变更的迭代速度会变得越来越慢。对于如今的初创公司和小规模团队来讲,这个特点使得单体架构依然是一个很有价值的应用开发方式。
2、面向服务架构
微服务这个词容易让人们认为每个服务都是微型的,这并不是这种风格的架构的要求。
该结构风格的优势恰好对应着单体架构局限性。这并不是一个巧合。当然,这种风格的设计带来的影响不仅仅是积极的,它们对基础设施设计的要求在增加。分布式系统实现起来并不容易。但是,面向服务架构的优点是多于缺点的:
更快的部署,每次部署之后都会有更高的测试执行率。
蓝-绿更新会很容易(相对来讲),这会限制每个服务的停机时间。
工程师对他们的变更的爆炸半径会更有信心,因为他们知道模块的依赖图。
进行扩展的时候不再局限于添加更多的机器来运行重复的单体应用,而是可以进行垂直扩展。
前端开发也有一个重大的变化,即前端该如何架构。其核心是,就像微服务一样,它们给出了一个实现组织化扩展的机会。这种变化就是“基于组件的架构”,公司构建自己的设计系统不仅仅是为了提高产品开发的速度,他们也希望能够借此扩展组织,实现更低的耦合。
当我被问到这两种方式该选择哪种时,我一般倾向于回答“视情况而定”,随后我经常会得到一个不满意的表情。尽管如此,在有利于组织规模扩展方面,面向服务架构的优势是不容忽视的。
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。更多内容请加danei0707学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。