一、分布式与集群
1、分布式:一个业务被拆分成多个子业务部署在不同的服务器上。系统之间并不独立,需要相互通信来完成具体功能。
2、集群:同一个业务部署在多台服务器上。
二、实现通信的方式 1、基于远程调用的方式
RPC 调用:是一种通过网络从远程计算机程序上请求服务,不需要了解底层网络技术的协议。
A) 是一种协议、规范。需要遵循规范的实现。典型的有Dubbo 、Thrift 、GRPC 等。
B) 网络通信的实现是透明的,调用方不需要关心网络之间的通信协议、网络I/O模型、通信的消息格式等。
C) 跨语言:调用方不清楚对服务端使用的是什么程序的语言
客户端不要知道具体的实现细节,只需要直接调用存在于远程计算机上的某个对象,调用方式可以理解为调用本地程序中的对象一样。
2、基于消息队列的方式
消息产生方式:有某个系统产生 放入队列中
消息消费方式:需要信息的应用去队列获取消息
消息消费者不需要知道消息的生产者
生产者不需要知道消费者是谁