什么是微服务?什么是服务注册与发现
转载请注明出处:https://janrs.com
转载请注明出处:https://janrs.com
API
在各个不同的小型的服务间进行通信。这些多个小型的服务可以由独立的团队管理。通俗的理解:例如在福特汽车还没发明出流水线这种工作模式之前,一个工人在生产一辆汽车先要从发动机,再到变速箱再到底盘等等最后一辆车的组装完成都会参与到。但是有了流水线的工作模式后,在一条生产线上,按照各个汽车零件的功能划分,分成了不同的生产车间。这些不同的车间按照规定的技术标准生产出零件,最后再组装到一块。
在我们开发一个电商系统时,电商系统有分用户模块 / 商品模块 /订单模块 / 财务模块等等。整个电商系统就是就是在生产一辆车,车上的不同零件就是电商系统中不同的模块。传统的开发模式就是先把用户模块开发出来让用户可以注册,再开发商品模块可以上线商品,再开发订单模块可以让用户购买等等,在这个过程中程序员会涉及到整个系统的开发,并且都是使用的统一的技术栈。而使用微服务的架构模式,就是类似于流水线。不同的模块将由不同的团队开发,每个团队使用的技不必统一。只需要在对外提供统一标准协议的API接口即可。
颗粒度小
每个服务只专注做一件事。例如负责用户模块的团队,就只专注处理用户问题,其他的订单问题 / 商品问题不闻不问。自主性
每个独立的服务都可以拥有自己的技术栈,部署环境,独立运行,互不依赖。例如用户模块可以用php
语言开发部署在阿里云;订单模块可以用java
语言开发部署在华为云。轻量化的通信机制
各个不同的服务之间,通常使用 REST / HTTP
协议的接口进行通信。