通信协议---轻量级通信协议
REST协议:基于HTTP协议
HAL协议:基于REST协议
RPC协议:使用最多的
消息队列:同步调用变成异步调用
微服务网关层获取到有哪些微服务可用,当发现微服务1不可用时,超时后,会将请求转到微服务2上面
通过与注册中心保持心跳告诉存活、另外当网关通过负载后进行转发,遇到服务1不可用,会进行重试 调用服务2
网关层网关: 负载均衡
1 保持心跳
2 重拾
网关层网关: 负载均衡
1 保持心跳
2 重拾
网关层可以采用 http/https
服务之间内部调用 RPC
RPC: dubbo
服务注册与发现 注册中心,服务发现
通讯协议选择,微服务网关层,聚合层,原子层
RESTF 协议 --HAL 消息队列
轻量级通信协议
轻量级通信协议
微服务网关层能够通过注册中知道下游有哪些微服务可供使用
微服务1不可用时,会进行重试,超时之后,会将请求转到微服务2上面
微服务注册中心:将微服务的信息进行注册,包括微服务的主机号、端口、配置等信息,以便供上游微服务进行发现
轻量级通信协议
服务注册及发现
注册中心
存储ip和端口信息
发现
timeout 重试
REST API
RPC
轻量级通信协议
RPC开源框架:
Apache Thrift
Google gRpc
Alibaba dubbo
消息队列:
同步-》异步
解耦
发现和注册
微服务的发现和注册
通信协议的选择
轻量级的通信协议
微服务网关通过向zookeeper类似的服务发现机制,当发现其中一个微服务挂了,请求就不会发送到该微服务,而是到另外一个微服务;
但是发现微服务挂了需要几秒钟(心跳机制),可以会导致请求失败,如何解决呢? 答案:像zookeeper每次发送服务到微服务上都会检测要发送的的微服务是否是正常的(是否异相),否则就会选取正常的发送
REST 指的是一组架构约束条件和原则。满足这些约束条件和原则的应用程序或设计就是 RESTful
REST 原则是,客户端和服务器之间的交互在请求之间是无状态的。从客户端到服务器的每个请求都必须包含理解请求所必需的信息。如果服务器在请求之间的任何时间点重启,客户端不会得到通知。此外,无状态请求可以由任何可用服务器回答,这十分适合云计算之类的环境。客户端也可以缓存数据以改进性能
按照业务逻辑功能拆分划分,独立开发部署测试,高效修改迭代。
微服务的发现与注册
通信协议选择
通信协议,轻量级通信协议
rpc通信协议:double,thrift
消息队列
通用网关,api形式,get方法,uid参数,code, data