1. rpr和http服务浅谈 rpc 是Remote Procedure Call ,远程过程调用。 http 是 HyperText
    Transfer Protocol ,超文本传输协议。 了解着两个,首先就要明白osi网络七层模型
    第一层:应用层。定义了用于在网络中进行通信和传输数据的接口; 第二层:表示层。定义不同的系统中数据的传输格式,编码和解码规范等;
    第三层:会话层。管理用户的会话,控制用户间逻辑连接的建立和中断; 第四层:传输层。管理着网络中的端到端的数据传输;
    第五层:网络层。定义网络设备间如何传输数据; 第六层:链路层。将上面的网络层的数据包封装成数据帧,便于物理层传输;
    第七层:物理层。这一层主要就是传输这些二进制数据。
    实际应用中是没有表示层和会话层的。可以说他们是合并了,我们应该将重点放在应用层和传输层这两个层面。因为HTTP是应用层协议,而TCP是传输层协议。
    流行的RPC框架 目前流行的开源RPC框架还是比较多的。下面重点介绍三种:
    gRPC是Google最近公布的开源软件,基于最新的HTTP2.0协议,并支持常见的众多编程语言。
    我们知道HTTP2.0是基于二进制的HTTP协议升级版本,目前各大浏览器都在快马加鞭的加以支持。
    这个RPC框架是基于HTTP协议实现的,底层使用到了Netty框架的支持。
    Thrift是Facebook的一个开源项目,主要是一个跨语言的服务开发框架。它有一个代码生成器来对它所定义的IDL定义文件自动生成服务代码框架。用户只要在其之前进行二次开发就行,对于底层的RPC通讯等都是透明的。不过这个对于用户来说的话需要学习特定领域语言这个特性,还是有一定成本的。
    Dubbo是阿里集团开源的一个极为出名的RPC框架,在很多互联网公司和企业应用中广泛使用。协议和序列化框架都可以插拔是及其鲜明的特色。同样
    的远程接口是基于Java
    Interface,并且依托于spring框架方便开发。可以方便的打包成单一文件,独立进程运行,和现在的微服务概念一致。
    偷偷告诉你集团内部已经不怎么使用dubbo啦,现在用的比较多的叫HSF,又名“好舒服”。后面有可能会开源,大家拭目以待。 HTTP服务
    其实在很久以前,我对于企业开发的模式一直定性为HTTP接口开发,也就是我们常说的RESTful风格的服务接口。的确,对于在接口不多、系统与系统交互较少的情况下,解决信息孤岛初期常使用的一种通信手段;优点就是简单、直接、开发方便。利用现成的http协议进行传输。我们记得之前本科实习在公司做后台开发的时候,主要就是进行接口的开发,还要写一大份接口文档,严格地标明输入输出是什么?说清楚每一个接口的请求方法,以及请求参数需要注意的事项等。比如下面这个例子:
    POST http://www.httpexample.com/restful/buyer/info/share
    接口可能返回一个JSON字符串或者是XML文档。然后客户端再去处理这个返回的信息,从而可以比较快速地进行开发。但是对于大型企业来说,内部子系统较多、接口非常多的情况下,RPC框架的好处就显示出来了,首先就是长链接,不必每次通信都要像http一样去3次握手什么的,减少了网络开销;其次就是RPC框架一般都有注册中心,有丰富的监控管理;发布、下线接口、动态扩展等,对调用方来说是无感知、统一化的操作。
    RPC服务和HTTP服务还是存在很多的不同点的,一般来说,RPC服务主要是针对大型企业的,而HTTP服务主要是针对小企业的,因为RPC效率更高,而HTTP服务开发迭代会更快。总之,选用什么样的框架不是按照市场上流行什么而决定的,而是要对整个项目进行完整地评估,从而在仔细比较两种开发框架对于整个项目的影响,最后再决定什么才是最适合这个项目的。一定不要为了使用RPC而每个项目都用RPC,而是要因地制宜,具体情况具体分析。

借鉴与RPC服务和HTTP服务对比

rpr和http服务浅谈相关推荐

  1. 环信大学:业务互联网化与客户中心韧性服务 —— 浅谈12306十年填坑路对客户中心智能化变革的启示

    12306作为传统线下服务模式向线上互联网服务模式的重大服务创新,被认为是全球最忙碌的网站.无论火车订票服务还是其他的客户服务来说,服务请求和服务资源不匹配,是永恒的话题. 这些年,企业进行了很多的服 ...

  2. 浅谈对腾讯云微信小程序解决方案服务端的理解(主要针对信道服务)

    浅谈对腾讯云微信小程序解决方案服务端的理解(主要针对信道服务) 参考文章: (1)浅谈对腾讯云微信小程序解决方案服务端的理解(主要针对信道服务) (2)https://www.cnblogs.com/ ...

  3. rsync命令_浅谈利用rsync服务的攻击

    本文将根据针对Linux操作系统上不安全的Rsync配置,浅谈如何利用rsync服务进行攻击. 1.什么是RSYNC? Rsync是用于在两个服务器(通常是Linux)之间传输和同步文件的实用程序.它 ...

  4. 微信平台第三方服务器,浅谈微信第三方服务平台的发展前景

    伴随着移动端的普及,移动互联网也在飞速的发展,同时也有越来越多的小商家开始抓住了移动互联网的这个渠道开展营销活动.而随着微信的不断更新和发展,微信用户也越来越多,而如今如雨后春笋般出现的各类微信第三方 ...

  5. 浅谈surging服务引擎中的rabbitmq组件和容器化部署

    1.前言 上个星期完成了surging 的0.9.0.1 更新工作,此版本通过nuget下载引擎组件,下载后,无需通过代码build集成,引擎会通过Sidecar模式自动扫描装配异构组件来构建服务引擎 ...

  6. 浅谈前后端分离与实践 之 nodejs 中间层服务

    一.背景 书接上文,浅谈前后端分离与实践(一) 我们用mock服务器搭建起来了自己的前端数据模拟服务,前后端开发过程中只需定义好接口规范,便可以相互进行各自的开发任务.联调的时候,按照之前定义的开发规 ...

  7. 浅谈服务治理、微服务与服务网格(Service Mesh)

    浅谈服务治理.微服务与Service Mesh Spring Cloud 之"出身名门望族" 作为当下最火热的微服务框架,Spring Cloud的名字可以说是无人不知.无人不晓, ...

  8. Spring Cloud浅谈个人尝鲜------Zuul 服务网关(五)

    Spring Cloud浅谈个人尝鲜------Zuul 服务网关(五) 前面几篇文章我们学习了Eureka用于服务的注册于发现,Feign支持服务的调用以及均衡负载,Hystrix处理服务的熔断防止 ...

  9. 2019FME博客大赛——浅谈FME在国土空间规划技术服务中的实践和应用

    参赛单元:传统GIS数据处理 作者:施仲添 单位:杭州市城市规划信息中心(杭州市地理信息中心) [摘要] 随着规划行业对空间数据的利用分析和需求日益增加,在日常的国土空间规划技术服务中涉及空间数据的情 ...

最新文章

  1. ASP.NET Core 中文文档 第二章 指南(4.3)添加 View
  2. OpenMP入门教程(二)reduce sum
  3. 现代密码学2.4--香农定理/Shannon Theorem:完美安全的充分必要条件
  4. nyoj-Human Gene Functions
  5. 为什么将0.1f改为0会使性能降低10倍?
  6. google compute test Problem 1题
  7. 【转】最为详尽的WPF类继承关系*!
  8. 用python实现打开虚拟机_如何使用python从虚拟机读取文件
  9. AbstractQueuedSynchronizer 源码分析(共享锁)
  10. 【HTML+CSS网页设计与布局 从入门到精通】第6章-标题h1,h1字体格式的设置方式
  11. win7 java注册表_使用JAVA和JNA在64位Win 7上读/写Windows注册表
  12. python贴吧-qpython贴吧
  13. python read_csv函数_Python pandas.read_csv()函数
  14. CSDN技术主题月:实战解读移动信息安全技术
  15. (亲测可用)html5 file调用手机摄像头
  16. ADT打包本地扩展ANE指令
  17. 国内云服务器怎么选配置?如何低价购买国内云主机?
  18. Unity3D-制作火焰效果
  19. STM32+ESP8266+小程序的智能家居(项目简介)
  20. 特殊的日子,值得纪念

热门文章

  1. 美莱:整形大数据揭秘中国人“颜值进化”历程
  2. tranform(2D)改变盒子的形态(位移,旋转,缩放)
  3. stmp邮件协议讲解
  4. java面向对象之多态(向上转型和向下转型)(详细而精炼)
  5. java程序中语句隔开_《Java语言程序设计》填空题.doc
  6. 【Python爬虫】爬取猫眼电影排行榜并存放至csv文件
  7. 华为FusionCompute 6.5主备部署教程
  8. spark sql保存hive表时的压缩设置
  9. 用cmd 如何输入命令 进入文件夹
  10. Oracle(11g)数据库教程之十三:第二次实验_数据库的查询和视图