1 企业应用架构的演进与微服务架构
1.1 企业应用架构的演进
- 单体应用
- SOA(Service Oriented Architecture),2000年出现
1.2 微服务架构与微服务框架
- 微服务出现
2012年,Fred George团队将100万行J2EE代码分解成20多个5K行代码服务,最后分解成200个500行代码微服务。
2014年,Martin Fowler, James Lewis 提出微服务架构,服务组件化、简单化,。。。 - 微服务去中心化(抛弃ESB)调用
通过注册中心注册,服务调用直接联络,不需要通过中心转发
- 微服务初级阶段存在的问题
- 微服务治理框架和开源实现
2014年由Netfilx开源产品封装的Spring Cloud成为一套微服务架构一站式解决方案。后续陆续出现其他开源实现,如下图(粗体部分为阿里贡献)
- 微服务内部5大组件的交互关系
- 微服务架构优缺点
优点:微服务可单独设计开发测试部署;微服务功能小,测试全面;系统健壮性高,单个服务错误不影响系统整体
缺点:微服务拆分需要经验;核心组件和自动化工具需要专业维护;出现BUG难以定位,事务处理复杂度提高。 - 下一代微服务框架Server Mesh(如Google Istil)
每个微服务实例部署一个Sidecar