
rpc:开源高性能框架g:Google的缩写grpc:可以在任何环境中运行rpc框架
RPC(Remote Procedure Call Protocol)远程过程调用协议。一个通俗的描述是:客户端在不知道调用细节的情况下,调用存在于远程计算机上的某个对象,就像调用本地应用程序中的对象一样。
比较正式的描述是:一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。
不相同,spring boot框架是基于springmvc框架改造的,而金服rpc基于开源的Netty框架,同时提供了服务器和客户端的实现。
RPC协议是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。
RPC协议假定某些传输协议的存在,如TCP或UDP,为通信程序之间携带信息数据。在OSI网络通信模型中,RPC跨越了传输层和应用层。RPC使得开发包括网络分布式多程序在内的应用程序更加容易。
RPC采用客户机/服务器模式。请求程序就是一个客户机,而服务提供程序就是一个服务器。首先,调用进程发送一个有进程参数的调用信息到服务进程,然后等待应答信息。在服务器端,进程保持睡眠状态直到调用信息的到达为止。当一个调用信息到达,服务器获得进程参数,计算结果,发送答复信息,然后等待下一个调用信息,最后,客户端调用过程接收答复信息,获得进程结果,然后调用执行继续进行。
目前,有多种RPC模式和执行。最初由Sun公司提出。IETF ONC宪章重新修订了Sun版本,使得ONC RPC协议成为IETF标准协议。现在使用最普遍的模式和执行是开放式软件基础的分布式计算环境(DCE)。
Dubbo是一个RPC框架,可以用于微服务架构实践之中。但绝不是用了Dubbo就是在做微服务了,同样的这对于Spring Cloud而言也一眼的,因为微服务架构不仅包含技术上的选择,也包含了文化、组织等多方面的变革。
微服务是指开发一个单个小型的但有业务功能的服务,每个服务都有自己的处理和轻量通讯机制,可以部署在单个或多个服务器上。微服务也指一种种松耦合的、有一定的有界上下文的面向服务架构。也就是说,如果每个服务都要同时修改,那么它们就不是微服务,因为它们紧耦合在一起;如果你需要掌握一个服务太多的上下文场景使用条件,那么它就是一个有上下文边界的服务。
Groovy在十几年前是最早进入我视野,并开始实际应用的,甚至比scala还早。因为大家发现java过于死板,需要一种动态特性更好,更灵活的语言来编写很多脚本。 我最早看到的是用Groovy编写测试脚本,不管是功能测试还是压力测试都很方便。后来ruby on rails大行其道, 但那一套照搬到java上比较困难,于是就做在了groovy上,就有了grails。也就是题主感觉为什么开发速度特别快的原因,rails的思想结合spring boot用来开发web服务还是很赞的
现在Groovy也是功能齐备了,但八九年前,抱怨还是挺多的,觉得太简陋了。于是业界(主要是java程序员)发现JVM里还有scala可以用。scala历史也是非常悠久,但一开始比较学院派,后来才慢慢体现出非常好的工程性。当时基于actor模式,用scala搞出了akka。最开始大家主要是想用scala来解决多线程的难题。这方面scala干的不错,先后涌现了不少web和rpc框架,比如后来的play framework和finagle都是一时之选,现在也还十分活跃。而且scala提供了极为丰富的语言特性,也让很多java程序员欲罢不能。现在scala在后端还不错,不过也有Linkedin这样的公司决定停止继续玩Scala,转回java 8的怀抱。
但凡事都是把双刃剑,很多人发现scala好是好,就是实在太复杂了,实际项目中收到了很多抱怨。于是大家发现还有Clojure。Clojure脱胎于lisp, 是更纯粹的函数是语言,scala其实是个OO和FP的大杂烩。使用Clojure这种纯FP的特性,开发多线程大并发的应用是很有利的, 表达力也非常强。但是这似乎又与我们习惯的java编程方式相差太远了,我虽然是纯fp的粉,但纯fp还是有点小众。于是这个语言一直有点叫好不叫座,所以在jvm上一直没到达取代scala的程度。clojure野心也挺大的,先后也搞了非JVM的版本,比如说到.net CRL,到浏览器(编译成js)等等。后来能编译成js的clojureScript的确让人眼前一亮,大家有兴趣的可以看看google clojure。
这时候kotlin来了,它没有scala那么复杂,也没有clojure那么纯粹。而且它有个非常好的契机,就是google在安卓上的java遇到些麻烦,他们迫切需要一种新的语言,于是google几乎是第一时间给kotlin在安卓上提供了非常好的支持,几乎是第一天就当亲儿子来养。kotlin至少在安卓开发上,是抱着取代java的愿景的, 而且我观察kotlin的确更关注和强调客户端开发,但别忘了,这货能在jvm上运行啊,所以它对服务器端的开发能力几乎是天生的,Spring 5.0和vert.x都是支持kotlin的。另外,kotlin也是可以非常好运行于多平台的(oracle jvm, 安卓,浏览器等等)上的, 其实前面几个语言基本也都能,只是有些官方支持没那么好。
REST与另外两种分布式应用架构风格DO(分布式对象)、RPC(远程过程调用)的主要区别,在于它要求必须以统一的接口来对资源执行各种操作。这个统一接口正是由HTTP 1.1协议(RFC2616)来定义的,这也正是设计HTTP 1.1协议的主要目的。由HTTP 1.1协议定义的统一接口包括了以下的内容:
用来与资源交互的6个标准的HTTP方法:GET/POST/PUT/DELETE/HEAD/OPTIONS(在RFC2616中还定义了其他几个方法,但是这几个方法不是用来与资源交互的)。最常用的是前面的GET/POST/PUT/DELETE这4个方法。
一些标准的HTTP头信息字段(HTTP header fields)。头信息字段在HTTP消息中以名称-值对的形式出现,分为通用头信息(general header fields)、请求头信息(request header fields)、响应头信息(response header fields)、实体头信息(entity header fields)4种类别,用来完整表达HTTP消息的操作语义,或者对消息的安全性、缓存等方面加以控制。详情请看RFC2616。
一些标准的HTTP响应状态代码(status codes)。其中100-199代表临时性的响应,仅仅用在与客户端-服务器端握手协商的阶段;200-299代表请求成功完成;300-399代表请求应该重定向;400-499代表因客户端错误导致的请求无法完成;500-599代表因服务器端错误导致的请求无法完成。详情请看RFC2616。
一套通用的访问身份认证框架(general framework for access authentication)。推荐的两种可选的身份认证机制HTTP Basic Authentication和HTTP Digest Authentication,定义在RFC2617(HTTP Authentication: Basic and Digest Access Authentication)中。
在客户端-服务器端之间用来确定资源表述格式的标准的内容协商(content negotiation)机制。
对于HTTP响应消息体(message body)的标准的缓存机制,包括了两种缓存模型:过期模型(expiration model)和验证模型(validation model)。
最近我们认识的健康食品品牌 「DUMBO ORIGINAL嘟波嘟波超级零食」(以下简称DUMBO ORIGINAL)也想为“方便吃到健康食品”提供一个解决方案。
创始人Tricia 毕业于纽约大学,曾任职于比尔盖茨基金,因为高强度的工作,吃饭也会有“凑合”的时候,有时候不想凑合,却找不到同时满足“便携+健康”的食物。而且在国内,即便是上海这样的一线城市,健康食品的选择也非常少,而和她有相似需求的人由不在少数,于是她辞职,2016年开始,在上海先后开了4家快闪餐厅,提供轻食和健康的零食产品,同时也慢慢积累起自己的用户社群,每周会在线下做分享会。
RPC架构是让构建分布式计算(应用)更容易、透明,在提供强大的远程调用能力时不损失本地调用的语义简洁性。为实现该目标,RPC 框架需提供一种透明调用机制让使用者不必显式的区分本地调用和远程调用。
RPC框架负责屏蔽底层的传输方式(TCP或者UDP)、序列化方式(XML/JSON/二进制)和通信细节。开发人员在使用的时候只需要了解谁在什么位置提供了什么样的远程服务接口即可,并不需要关心底层通信细节和调用过程。
上一篇
1. 中国冷链物流行业规模有多大 有前景。 目前国内肉类市场呈现出主要生产区与主要消费区分离的局面,因此冷链冻品行业大量肉类产品需要进行异地调运;而随着活畜禽运输限制增多,大量货运需求冷链运输解决。 从运输结构来看,我国冷藏车保有量占货车总量 ...
1. 最火小黄鸭舞蹈 1.在小地图上我们看到有心形岛的,我们就降落在这个岛上。 2.向着心形岛降落,可以看到这是一个很漂亮的心形岛屿。 3.在岛中央,会看到一块大石头上会有二个小黄鸭的。 4.走近后,会有一个打卡选项的。 5.点击打卡选项后,会跳上一段 ...
1. 抓周有什么寓意 抓周抓到指南针的寓意是: 1.宝宝抓周抓到指南针代表宝宝具有探险意识,今后会跟方向或地理坐标相关的工作。 2.宝宝抓周抓到指南针代表宝宝对自己以后的人生方向是很明确的,家长不需要为宝宝过多操心,说明宝宝是个有目标的人,而且会顺 ...
1. 靓声的全部流行歌曲有哪些 1,《烟花易冷》 《烟花易冷》(又名《伽蓝雨》)是由方文山作词,黄雨勋编曲,周杰伦作曲并演唱的歌曲,收录在周杰伦2010年5月18日发行的专辑《跨时代》中。2011年,该曲获得2010年度北京流行音乐典礼“年度金曲奖”。 2,《 ...
1. 流行花园原版 《天国少女》,绝对好看,男的都很有背景,男主角还是中国人。也很美型, 《伯爵与妖精》,很美型,看名字就知道,男主角十个伯爵,超帅。 《黑执事》热门的,有两季,完结了,贵族和恶魔执事,美型。 《樱兰高校男公关部》里面的男的都 ...
1. 日系染膏有哪些品牌 不知道这些,就淘宝买染膏四大品牌吧 威娜 欧莱雅 歌薇 施华蔻 这些就是高端发廊用的 还有 日本的 资深堂 玫丽盼 2. 日系染膏染发理论知识 染发膏6cb的意思就是六度的米棕色,这是一款日系的染发膏,前面的数字6代表染发膏的色度是 ...
1. 题临安邸反映了南宋怎样的统治 《题临安邸》是南宋诗人林升创作的一首政治讽刺诗,该作品也是作者唯一的一首代表作。这首诗就是针对南宋苟且偷安的黑暗现实而作,它倾吐了郁结在广大人民心头的义愤,也表达了诗人对国家民族命运的深切忧虑。 2. 题临安 ...
1. 抖音有什么游戏很火 回 没有统一入口宝贝。因为抖音小游戏入口不是固定的,可能会出现在不同的页面或者广告中,或者在其他游戏中跳转。所以没有一个固定的入口,需要用户进行搜索或者关注相关的账号来获取游戏入口。: 抖音小游戏是近年来非常火爆的一 ...
1. 今年流行的女裤子冬款 白色裤子 白色的裤子很多人都不敢尝试,对于职场的女性,白色的阔腿裤穿起来实在太有气质了。拖地款式的裤子,对于身高方面还是有一定的要求。在穿搭方面要注意一个技巧,选择高腰的将内搭扎进裤子当中,分割出黄金比例在身高方 ...
1. 南通特色烟酒 1 南通丽莎歌舞厅的收费是按照时间段来计算的。2 根据了解,南通丽莎歌舞厅的收费标准是晚上7点到凌晨2点,每小时收费100元,其中包含了酒水消费和歌舞表演等服务。3 如果需要包房服务,还需要额外支付包房费用。收费模式可能会根据具体 ...