微服务演进

微服务

微服务的概念最早是在 2014 年由 Martin Fowler 和 James Lewis 共同提出,他们定义了微服务是由单一应用程序构成的小服务,拥有自己的进程与轻量化处理,服务依业务功能设计,以全自动的方式部署,与其他服务使用 HTTP API 通讯。同时,服务会使用最小规模的集中管理 (例如 Docker)技术,服务可以用不同的编程语言与数据库等。

SOA服务化架构

Service-Oriented Architecture

微服务和SOA对比

  1. 服务拆分粒度:soa要解决的是异构应用的服务化;微服务强调的是服务拆分尽可能小;
  2. 服务依赖:SOA一般存在大量服务间依赖;微服务一般功能单一独立,无依赖关系;
  3. 服务规模:SOA服务粒度粗,服务数比较少;微服务拆分细服务会比较多
  4. 架构差异:微服务需要高性能分布式框架
  5. 服务治理:SOA是静态治理,微服务需要动态治理
  6. 敏捷交付:微服务设计迭代较快,可以实现真正的Devops

平台化

中台化