提交 e51b033e 编写于 作者: Y yanglbme

docs: improve document and close #194

上级 33dcf1b9
# 什么是微服务?微服务之间是如何独立通讯的?
- Author: [HuiFer](https://github.com/huifer)
- Description: 介绍微服务的定义以及服务间的通信。
- Author[HuiFer](https://github.com/huifer)
- Description介绍微服务的定义以及服务间的通信。
## 什么是微服务
- 微服务架构是一个分布式系统, 按照业务进行划分成为不同的服务单元, 解决单体系统性能等不足。
- 微服务架构是一个分布式系统,按照业务进行划分成为不同的服务单元,解决单体系统性能等不足。
- 微服务是一种架构风格,一个大型软件应用由多个服务单元组成。系统中的服务单元可以单独部署,各个服务单元之间是松耦合的。
> 微服务概念起源: [Microservices](https://martinfowler.com/articles/microservices.html)
> 微服务概念起源[Microservices](https://martinfowler.com/articles/microservices.html)
## 微服务之间是如何独立通讯的
......@@ -16,10 +16,10 @@
#### REST HTTP 协议
REST 请求在微服务中是最为常用的一种通讯方式, 它依赖于 HTTP\HTTPS 协议。RESTFUL 的特点是:
REST 请求在微服务中是最为常用的一种通讯方式它依赖于 HTTP\HTTPS 协议。RESTFUL 的特点是:
1. 每一个 URI 代表 1 种资源
2. 客户端使用 GET、POST、PUT、DELETE 4 个表示操作方式的动词对服务端资源进行操作: GET 用来获取资源, POST 用来新建资源(也可以用于更新资源), PUT 用来更新资源, DELETE 用来删除资源
2. 客户端使用 GET、POST、PUT、DELETE 4 个表示操作方式的动词对服务端资源进行操作:GET 用来获取资源,POST 用来新建资源(也可以用于更新资源),PUT 用来更新资源,DELETE 用来删除资源
3. 通过操作资源的表现形式来操作资源
4. 资源的表现形式是 XML 或者 HTML
5. 客户端与服务端之间的交互在请求之间是无状态的,从客户端到服务端的每个请求都必须包含理解请求所必需的信息
......@@ -60,15 +60,16 @@ public class RestDemo{
RPC(Remote Procedure Call)远程过程调用,简单的理解是一个节点请求另一个节点提供的服务。它的工作流程是这样的:
1\. 执行客户端调用语句,传送参数
2\. 调用本地系统发送网络消息
3\. 消息传送到远程主机
4\. 服务器得到消息并取得参数
5\. 根据调用请求以及参数执行远程过程(服务)
6\. 执行过程完毕,将结果返回服务器句柄
7\. 服务器句柄返回结果,调用远程主机的系统网络服务发送结果
8\. 消息传回本地主机
9\. 客户端句柄由本地主机的网络服务接收消息 10. 客户端接收到调用语句返回的结果数据
1. 执行客户端调用语句,传送参数
2. 调用本地系统发送网络消息
3. 消息传送到远程主机
4. 服务器得到消息并取得参数
5. 根据调用请求以及参数执行远程过程(服务)
6. 执行过程完毕,将结果返回服务器句柄
7. 服务器句柄返回结果,调用远程主机的系统网络服务发送结果
8. 消息传回本地主机
9. 客户端句柄由本地主机的网络服务接收消息
10. 客户端接收到调用语句返回的结果数据
举个例子。
......@@ -287,4 +288,4 @@ public class RunTest {
#### 消息中间件
常见的消息中间件有 Kafka、ActiveMQ、RabbitMQ、RocketMQ , 常见的协议有 AMQP、MQTTP、STOMP、XMPP。这里不对消息队列进行拓展了,具体如何使用还是请移步官网。
常见的消息中间件有 Kafka、ActiveMQ、RabbitMQ、RocketMQ 常见的协议有 AMQP、MQTTP、STOMP、XMPP。这里不对消息队列进行拓展了,具体如何使用还是请移步官网。
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册