东莞学网站建设难吗,水泥粉磨新工艺新技术及节能装备 久久建筑网,电子商务以后可以做什么工作,青岛栈桥附近景点分布式中的远程调用
在微服务架构中#xff0c;通常存在多个服务之间的远程调用的需求。远程调用通常包含两个部分#xff1a;序列化和通信协议。常见的序列化协议包括json、xml、 hession、 protobuf、thrift、text、 bytes等#xff0c;目前主流的远程调用技术有基于HTTP… 分布式中的远程调用
在微服务架构中通常存在多个服务之间的远程调用的需求。远程调用通常包含两个部分序列化和通信协议。常见的序列化协议包括json、xml、 hession、 protobuf、thrift、text、 bytes等目前主流的远程调用技术有基于HTTP的RESTful接口以及基于TCP的RPC协议。 1 RESTful接口
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动词对服务器端资源进行操作实现表现层状态转化。 2 RPC协议
RPC Remote Procedure Call 一种进程间通信方式。允许像调用本地服务一样调用远程服务。 RPC框架的主要目标就是让远程服务调用更简单、透明。 RPC框架负责屏蔽底层的传输方式TCP或者UDP、序列化方式XML/JSON/二进制和通信细节。开发人员在使用的时候只需要了解谁在什么位置提供了什么样的远程服务接口即可并不需要关心底层通信细节和调用过程。 3区别与联系 比较项 RESTful RPC 通讯协议 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 放弃可用性追求一致性和分区容错性基本不会选择网络问题会直接让整个系统不可用 SpringCloud
Spring Cloud是一系列框架的有序集合。它利用Spring Boot的开发便利性巧妙地简化了分布式系统基 础设施的开发如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等都可以用Spring Boot的开发风格做到一键启动和部署。 Spring Cloud并没有重复制造轮子它只是将目前各家 公司开发的比较成熟、经得起实际考验的服务框架组合起来通过Spring Boot风格进行再封装屏蔽掉了复杂的配置和实现原理最终给开发者留出了一套简单易懂、易部署和易维护的分布式系统开发工具包。
ServiceComb
Apache ServiceComb是业界第一个Apache微服务顶级项目 是一个开源微服务解决方案,致力于帮助 企业、用户和开发者将企业应用轻松微服务化上云并实现对微服务应用的高效运维管理。其提供一站 式开源微服务解决方案融合SDK框架级、 0侵入ServiceMesh场景并支持多语言
ZeroC ICE
ZeroC IceGrid是ZeroC公司的杰作继承了CORBA的血统是新一代的面向对象的分布式系统中间件。作为一种微服务架构它基于RPC框架发展而来具有良好的性能与分布式能力。