码迷,mamicode.com
首页 > 其他好文 > 详细

Monolithic archeitecture issues and introduce Microservices

时间:2017-11-05 23:27:51      阅读:222      评论:0      收藏:0      [点我收藏+]

标签:本质   UI   size   应用   数据   build   style   易接   适用于   

Monolithic Architecture Issues 

技术分享

传统的Web application 架构非常简单,一个实例包含了所有业务模块,比如 Omniselling v4 一个实例有 order,billing,account,courier,warehouse etc.。这种架构的好处是开发,测试,部署非常简单。适用于小型项目早期,快速开发,快速形成产品。

随着业务的扩张,项目模块增多,Monolithic 架构会衍生出很多问题以及局限性。 本质上是复杂性变大以及耦合度增加。

  • 开发效率降低,项目变大之后,build 时间变长,启动缓慢, Omniselling v4现在开发启动项目需要3分钟以上。
  • 代码模块耦合度增加,维护困难,尤其是对于新人不能快速适应。
  • 持续发布成为阻碍,由于业务增多,一次发布需要停止所有的业务。
  • 当开发人员增多时,对于代码的控制和管理变得困难。
  • 不能使用其他新的技术或者框架。

Introduce Microservices

技术分享

 

Microservices每一个业务/模块有独立的实例和数据库.将原来巨大的单体应用拆分为多个独立的service。本质上是解耦,降低复杂度。

  • 每一个服务可以独立部署发布,发布效率更高。
  • 开发效率更高和团队协作更加容易。
  • 错误或异常影响范围降低,不至于牵一发而动全身。
  • 容易接受新的技术或框架。
  • 适用于敏捷方式快速迭代和交付有价值的产品。

没有银弹,微服务的缺点

  • 分布式系统对于开发运维和测试人员会增加复杂度。当然这也是一种挑战。

要学习的技术更多了

技术分享

 

Monolithic archeitecture issues and introduce Microservices

标签:本质   UI   size   应用   数据   build   style   易接   适用于   

原文地址:http://www.cnblogs.com/shouwangzhe-/p/7789201.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!