首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

RPC伪装成REST是个坏主意吗?

RPC伪装成REST是个坏主意吗?

这个问题涉及到了软件开发中的通信协议和设计原则。REST(Representational State Transfer)是一种流行的网络应用程序的设计风格和开发方式,它主张使用HTTP协议和URI来定位资源,并通过HTTP方法(如GET、POST、PUT、DELETE等)来操作资源。而RPC(Remote Procedure Call)是一种远程过程调用的方式,它允许一个程序调用另一个程序中的函数或方法,并获取返回值。

将RPC伪装成REST并不是一个好的主意,原因如下:

  1. 违反了REST的设计原则:REST强调资源的无状态性和可缓存性,而RPC通常需要维护状态和会话信息。将RPC伪装成REST可能会导致程序设计上的混乱和不一致。
  2. 可读性和可维护性差:REST的设计原则和规范明确,易于理解和实现。而将RPC伪装成REST会降低代码的可读性和可维护性,增加后期维护的难度。
  3. 性能和效率低:REST通常使用HTTP协议进行通信,而HTTP协议是基于文本的,这会导致额外的开销和性能损失。而RPC通常使用二进制协议进行通信,可以提高通信效率和性能。

因此,将RPC伪装成REST并不是一个好的主意。如果需要在软件开发中实现远程过程调用,建议使用专门的RPC框架或库,如gRPC等。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

常见的网络安全术语之一

21端口 21端口主要用于FTP(File Transfer Protocol,文件传输协议)服务。 22端口 ssh 服务,传统的网络服务程序,SSH的英文全称是Secure SHell。通过使用SSH,你可以把所有传输的数据进行加密,这样“中间人”这种攻击方式就不可能实现了,而且也能够防止DNS和IP欺骗。还有一个额外的好处就是传输的数据是经过压缩的,所以可以加快传输的速度。SSH有很多功能,它既可以代替telnet,又可以为ftp、pop、甚至ppp提供一个安全的“通道”。 23端口 23端口主要用于Telnet(远程登录)服务,是Internet上普遍采用的登录和仿真程序。 25端口 25端口为SMTP(Simple Mail Transfer Protocol,简单邮件传输协议)服务器所开放,主要用于发送邮件,如今绝大多数邮件服务器都使用该协议。 53端口 53端口为DNS(Domain Name Server,域名服务器)服务器所开放,主要用于域名解析,DNS服务在NT系统中使用的最为广泛。 67、68端口 67、68端口分别是为Bootp服务的Bootstrap Protocol Server(引导程序协议服务端)和Bootstrap Protocol Client(引导程序协议客户端)开放的端口。 69端口 TFTP服务,TFTP是Cisco公司开发的一个简单文件传输协议,类似于FTP。 79端口 79端口是为Finger服务开放的,主要用于查询远程主机在线用户、操作系统类型以及是否缓冲区溢出等用户的详细信息。 80端口 80端口是为HTTP(HyperText Transport Protocol,超文本传输协议)开放的,这是上网冲浪使用最多的协议,主要用于在WWW(World Wide Web,万维网)服务上传输信息的协议。 99端口 99端口是用于一个名为“Metagram Relay”(亚对策延时)的服务,该服务比较少见,一般是用不到的。 109、110端口 109端口是为POP2(Post Office Protocol Version 2,邮局协议2)服务开放的,110端口是为POP3(邮件协议3)服务开放的,POP2、POP3都是主要用于接收邮件的,目前POP3使用的比较多,许多服务器都同时支持POP2和POP3。客户端可以使用POP3协议来访问服务端的邮件服务,如今ISP的绝大多数邮件服务器都是使用该协议。在使用电子邮件客户端程序的时候,会要求输入POP3服务器地址,默认情况下使用的就是110端口。 111端口 111端口是SUN公司的RPC(Remote Procedure Call,远程过程调用)服务所开放的端口,主要用于分布式系统中不同计算机的内部进程通信,RPC在多种网络服务中都是很重要的组件。 113端口 113端口主要用于Windows的“Authentication Service”(验证服务)。 119端口 119端口是为“Network News Transfer Protocol”(网络新闻组传输协议,简称NNTP)开放的。 135端口 135端口主要用于使用RPC(Remote Procedure Call,远程过程调用)协议并提供DCOM(分布式组件对象模型)服务,通过RPC可以保证在一台计算机上运行的程序可以顺利地执行远程计算机上的代码;使用DCOM可以通过网络直接进行通信,能够跨包括HTTP协议在内的多种网络传输。 137端口 137端口主要用于“NetBIOS Name Service”(NetBIOS名称服务),属于UDP端口,使用者只需要向局域网或互联网上的某台计算机的137端口发送一个请求,就可以获取该计算机的名称、注册用户名,以及是否安装主域控制器、IIS是否正在运行等信息。 139端口 139端口是为“NetBIOS Session Service”提供的,主要用于提供Windows文件和打印机共享以及Unix中的Samba服务。在Windows中要在局域网中进行文件的共享,必须使用该服务。 143端口 143端口主要是用于“Internet Message Access Protocol”v2(Internet消息访问协议,简称IMAP)。 161端口 161端口是用于“Simple Network Management Protocol”(简单网络管理协议,简称SNMP)。 443端口 443端口即网页浏览端口,主要是用于HTTPS服务,是提供加密和通过安全端口传输的另一种HTTP。 554端口 554端口默认情况下用于“Real Time Streaming Protocol”(实时流协议,简称RTSP)。 1024端口

02

Service Mesh在有赞的实践与发展

Service Mesh 的概念自 2017 年初提出之后,受到了业界的广泛关注,作为微服务的下一代发展架构在社区迅速发酵,并且孵化出了诸如 Istio 等广受业界关注的面向于云原生 (Cloud Native) 的微服务架构。目前阿里、华为云、腾讯云都在 Service Mesh 上投入了大量精力进行研发和推广。阐述和讨论 Service Mesh 架构的文章目前网络上已经非常丰富,在此不再赘述。本文主要阐述 Service Mesh 架构在有赞是如何一步步发展和落地的,期望能够给读者带来一定的思考和借鉴意义,并对 Service Mesh 架构能够解决的问题和应用场景有进一步的了解。同时,有赞 Service Mesh 架构发展的过程也正是有赞微服务架构的演进过程,期待能够给正在进行微服务改造的团队带来一定的启发和思考。

02
领券