微服务

什么是微服务?

  • 微服务的概念源于 2014 年 3 月 Martin Fowler 所写的一篇文章《Microservices》。文中内容提到微服务架构是一种架构模式,它提倡将单 一应用程序划分成一组小的服务,服务之间互相协调、互相配合,为用户提供最终价值

  • 每个服务运行在其独立的进程中,服务与服务间采用轻量级的通信机制互相沟通(RPC 或 RESTful)。每个服务都围绕着具体业务进行构建,并且能够 被独立地部署到生产环境、类生产环境等

  • 微服务是一种架构风格,一个大型复杂软件应用由一个或多个微服务组成。系统中的各个微服务可被独立部署,各个微服务之间是松耦合的。每个微服务仅关注于完成一件任务并很好地完成该任务

单体架构 微服务架构
优势 易于快速迭代开发、
测试和部署
独立部署、可用性高,伸缩性强、
与组织架构相匹配、技术异构性
劣势 复杂度高、交付效率低、
伸缩性差、可靠性差
服务拆分、数据一致性、服务通信、
服务网关、高可观察、运维部署困难
项目 中小型 大型复杂

微服务碰上容器

  • 可以打包应用以及依赖包到一个可移植的容器中,部署到任何流行的Linux机器上,也可以实现资源及环境隔离。容器是完全使用沙箱机制,相互之间不会有任何接口。

  • 可以把业务逻辑、数据库、储存、中间件等拆分成若干个容器,然后像搭积木一样组合起来,让彼此通信,从而形成微服务。

  • 因此微服务很适合用容器封装,每个容器承载一个服务,每台服务器同时运行多个容器,统一编排调度,非常高效轻松地支撑业务的开发运维

总结:微服务生命周期与容器绑定,把对微服务的管理转变成对容器的管理
PS:Docker 项目出现于 2013 年,Kubernetes 出现于 2014 年

你可能感兴趣的:(微服务)