分布式笔记_概念

一.分布式系统:

  • 具有多个节点

  • 节点间要进行消息传递

  • 节点需要完成特定的需求

多个节点:

  • 可以提高容错性
  • 具有可扩展性(性能)
  • 固有分布性(业务上或人员上)

消息传递:分布式系统多个节点之间的协作不是通过共享存储实现的,而是通过消息传递来实现

  • 节点具有私有存储
  • 易于开发
  • 具有可扩展性(功能)
  • 对比:并行计算(多用共享存储实现,但并不是不用消息传递)

消息传递的方法:

  • REST : 是一种接口的方法
  • RPC : 将函数的调用序列化为可以在网络上传输的数据,收到数据的远端进行反序列化来实现函数调用
  • 中间件 : REST, RPC要求消息传递是双方都在线,但若对方不在线时,可以将消息发给中间件,中间件可以存储消息,等对方上线时可以从中间件中取得消息,实现异步消息沟通,而且中间件可以一对多的发布,通常称为"MessageQueue"

分布式笔记_概念_第1张图片   

   一般来说,消息传递的方式:

     1> 对外:REST (保持API接口的规范性和不易改变)

               2> 模块内部(耦合比较紧):RPC

       3> 模块之间(耦合比较松):中间件,REST

 

 

二.分布式架构 VS 微服务架构

  • 分布式:指导节点之间如何通信
  • 微服务:鼓励按业务来划分模块(区别于传统的按技术划分模块)
  • 微服务架构通过分布式架构来实现,两者考虑的维度不同

三.多层架构 VS 微服务架构

  • 微服务架构具有更多的"服务",服务之间耦合度很松
  • 微服务通常需要配合自动化测试,自动化部署,服务发现等
  • 目前,微服务架构是趋势

你可能感兴趣的:(分布式)