一. 微服务要解决的技术问题是什么?架构
平台采用微服务架构来解决单体应用开发模式面临的缺陷:并发
开发效率低:全部的开发在一个项目改代码,递交代码相互等待,代码冲突不断
代码维护难:代码功能耦合在一块儿,新人不知道何从下手
部署不灵活:构建时间长,任何小修改必须从新构建整个项目,这个过程每每很长
稳定性不高:一个微不足道的小问题,能够致使整个应用挂掉
扩展性不够:没法知足高并发状况下的业务需求
ide
二. 从原理、归纳的层次说明微服务是如何解决上述技术问题的?微服务
相对于单体架构,微服务的主要特色是组件化、松耦合、自治、去中心化,体如今如下几个方面:高并发
- 一组小的服务
服务粒度要小,而每一个服务是针对一个单一职责的业务能力的封装,专一作好一件事情。组件化
- 独立部署运行和扩展
每一个服务可以独立被部署并运行在一个进程内。这种运行和部署方式可以赋予系统灵活的代码组织方式和发布节奏,使得快速交付和应对变化成为可能。url
- 独立开发和演化
技术选型灵活,不受遗留系统技术约束。合适的业务问题选择合适的技术能够独立演化。服务与服务之间采起与语言无关的API进行集成。相对单体架构,微服务架构是更面向业务创新的一种架构模式。.net
- 独立团队和自治
团队对服务的整个生命周期负责,工做在独立的上下文中,本身决策本身治理,而不须要统一的指挥中心。团队和团队之间经过松散的社区部落进行衔接。生命周期
咱们能够看到整个微服务的思想就如咱们如今面对信息爆炸、知识爆炸是同样的:经过解耦咱们所作的事情,分而治之以减小没必要要的损耗,使得整个复杂的系统和组织可以快速的应对变化。进程
狐小E, 企业数字化建设的全景攻略 https://www.hixiaoe.com