诸城网站建设报价,wordpress love shopping,深圳市福田区香蜜湖街道,怎样做支付网站文章目录 前言一、分布式中的远程调用1.1RESTful接口1.2RPC协议1.3区别与联系 二、分布式中的CAP原理 前言
关于分布式核心知识详解 一、分布式中的远程调用 在微服务架构中#xff0c;通常存在多个服务之间的远程调用的需求。远程调用通常包含两个部分#xff1a;序列化和通… 文章目录 前言一、分布式中的远程调用1.1RESTful接口1.2RPC协议1.3区别与联系 二、分布式中的CAP原理 前言
关于分布式核心知识详解 一、分布式中的远程调用 在微服务架构中通常存在多个服务之间的远程调用的需求。远程调用通常包含两个部分序列化和通信协议。常见的序列化协议包括json、xml、 hession、 protobuf、thrift、text、 bytes等目前主流的远程调用技术有基于HTTP的RESTful接口以及基于TCP的RPC协议。 1.1RESTful接口 REST即Representational State Transfer的缩写如果一个架构符合REST原则就称它为RESTful架构. 资源Resources 所谓资源 就是网络上的一个实体或者说是网络上的一个具体信息。它可以是一段文本、 一张图片、 一首歌曲、 一种服务总之就是一个具体的实在。你可以用一个URI统一资源定位符指向它 每种资源对应一个特定的URI。要获取这个资源访问它的URI就可以因此URI就成了每一个资源的地址或独一无二的识别符。REST的名称表现层状态转化中省略了主语。 “表现层其实指的是资 源” Resources的 “表现层”。 表现层Representation “资源是一种信息实体它可以有多种外在表现形式。我们把资源具体呈现出来的形式叫做它的表现层”Representation。比如文本可以用txt格式表现也可以用HTML格式、XML格式、JSON格 式表现甚至可以采用二进制格式图片可以用JPG格式表现也可以用PNG格式表现。 URI只代表资源的实体不代表它的形式。严格地说有些网址最后的.html后缀名是不必要的因为这个后缀名表示 格式属于表现层范畴而URI应该只代表资源的位置。 状态转化State Transfer 访问一个网站就代表了客户端和服务器的一个互动过程。在这个过程中势必涉及到数据和状态的变化。互联网通信协议HTTP协议是一个无状态协议。这意味着所有的状态都保存在服务器端。因此如果客户端想要操作服务器必须通过某种手段让服务器端发生状态转化 State Transfer 。 客户端用到的手段只能是HTTP协议。具体来说就是HTTP协议里面四个表示操作方式的动词GET、 POST、 PUT、 DELETE。它们分别对应四种基本操作GET用来获取资源POST用来新建资源 也可以用于更新资源PUT用来更新资源DELETE用来删除资源。 总结什么是RESTful架构 每一个URI代表一种资源客户端和服务器之间传递这种资源的某种表现层客户端通过四个HTTP动词对服务器端资源进行操作实现表现层状态转化。 1.2RPC协议 RPC Remote Procedure Call 一种进程间通信方式。允许像调用本地服务一样调用远程服务。 RPC框架的主要目标就是让远程服务调用更简单、透明。RPC框架负责屏蔽底层的传输方式TCP或者UDP、序列化方式XML/JSON/二进制和通信细节。开发人员在使用的时候只需要了解谁在什么位置提供了什么样的远程服务接口即可并不需要关心底层通信细节和调用过程。 1.3区别与联系
比较项RESTfulRPC通信协议HTTP一般使用TCP性能略低较高灵活度高低应用微服务架构SOA架构 1、 HTTP相对更规范更标准更通用无论哪种语言都支持http协议。如果你是对外开放API例如 开放平台外部的编程语言多种多样你无法拒绝对每种语言的支持现在开源中间件基本最先支持 的几个协议都包含RESTful。 2、 RPC 框架作为架构微服务化的基础组件它能大大降低架构微服务化的成本提高调用方与服务提 供方的研发效率屏蔽跨进程调用函数服务的各类复杂细节。让调用方感觉就像调用本地函数一样 调用远端函数、让服务提供方感觉就像实现一个本地函数一样来实现服务。 二、分布式中的CAP原理 现如今对于多数大型互联网应用分布式系统distributed system正变得越来越重要。分布式系 统的最大难点就是各个节点的状态如何同步。 CAP 定理是这方面的基本定理也是理解分布式系统的起点。 CAP理论由 Eric Brewer 在ACM研讨会上提出而后CAP被奉为分布式领域的重要理论。分布式系统的 CAP理 论首先把分布式系统中的三个特性进行了如下归纳 Consistency一致性数据一致更新所有数据的变化都是同步的Availability可用性在集群中一部分节点故障后集群整体是否还能响应客户端的读写请求Partition tolerance分区容忍性某个节点的故障并不影响整个系统的运行 通过学习CAP理论我们得知任何分布式系统只可同时满足二点没法三者兼顾既然一个分布 式系统无法同时满足一致性、可用性、分区容错性三个特点所以我们就需要抛弃一样 选择说明CA放弃分区容错性加强一致性和可用性其实就是传统的关系型数据库的选择AP放弃一致性这里说的一致性是强一致性追求分区容错性和可用性这是很多分布式 系统设计时的选择例如很多NoSQL系统就是如此CP放弃可用性追求一致性和分区容错性基本不会选择网络问题会直接让整个系统不可用