微服务架构(microservices architecture)是服务导向架构(service-oriented architecture,缩写 SOA)的升级。
每一个服务就是一个独立的部署单元(separately deployed unit)。这些单元都是分布式的,互相解耦,通过远程通信协议(比如REST、SOAP)联系。
微服务就是应用的各项核心功能,而且这些服务均可独立运行。
单体服务就是所有功能都写在一个工程里
微服务把多个功能写在多个工程里
举例子一个电子商城包含一个商品搜索的功能,如果是单体服务就和电商项目写在一个工程里,但是在微服务架构下,就拆分为一个独立的搜索项目
面向服务的架构(SOA)是一种软件设计,可通过在网络上使用基于通用通信语言的服务接口,让软件组件可重复使用
通过使用标准网络协议(如 SOAP、JSON、ActiveMQ 或 Apache Thrift)来开放服务以发送请求或访问数据,SOA 消除了开发人员必须从头开始进行集成的困扰。
在 面向服务的架构模式中,服务使用"松散耦合"系统进行通信。这是一种将系统或网络中的组件(也称为"元素")进行互联的方式,其目的是在传递信息或协调业务流程的同时减少它们之间的依赖程度。
SOA 和微服务的不同之处:
ESB:企业服务总线,即ESB全称为Enterprise Service Bus,指的是传统中间件技术与XML、Web服务等技术结合的产物。ESB提供了网络中最基本的连接中枢,是构筑企业神经系统的必要元素。
微服务架构分成三种实现模式。
设计阶段,单微服务必须要满足以下的条件,才符合微服务的基本要求:
庞大的分布式系统,需要强大基础设施来支撑,微服务涉及哪些基础设施?
参考资料
https://www.redhat.com/zh/topics/microservices/what-are-microservices
https://www.cnblogs.com/xiao2shiqi/p/11298663.html