什么是微服务,什么是分布式
本文写于 2020 年 12 月 24 日
微服务
2014 年由 James Lewis 和 Martin Fowler 提出了完整的微服务概念。
微服务是一种 「架构风格」,该风格在开发应用时,将一个应用拆分成为一组小型服务。这些服务应该要围绕着业务功能进行拆分。
每一个服务都拥有自己的进程,可以独立的部署、升级,并且应该拥有自动化部署机制(太多服务了,部署起来会很麻烦)。
服务之间应该是去中心化的,它们之间通过轻量的协议进行交互,通常使用 HTTP。
在不同的服务上,可以使用不同的语言、运用不同的储存技术。比如我们编写一个购物网站,商品管理后台用 PHP 在一个服务器写、用户管理后台使用 Node.js 在另一个服务器编写、商品购买使用 Java 在第三个服务器编写……
而这就出现「分布式」。
分布式
不同的服务在不同的服务器上用着不同的语言编写,这些服务组成的就是分布式系统。
例如 A 服务,部署在了北京的 10 台服务器上;B 服务部署在了武汉的 5 台机器上;C 服务部署在了广州的 3 台机器上。
(完)
赞 (0)