首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >网络上程序之间的连接

网络上程序之间的连接
EN

Stack Overflow用户
提问于 2017-11-14 11:23:30
回答 2查看 100关注 0票数 1

我想深入研究各种工具,这些工具通过网络提供程序之间的连接。

为了澄清这一问题,我把它分成以下几个子问题:

  • 为什么某些程序组(或特定的工具/框架/使用编程语言的方法可以使用这种框架)在每一段时间里都很流行?(我希望对已经解决的问题进行描述,工具的描述,为什么那些工具当时被认为是解决这些问题的最佳方法,为什么有些工具不再流行)?
  • 通过网络进行软件通信的整个历史是什么?(工具/方法精确地流行到几十年)
  • 这个问题的现代解决方案是什么?

我只能区分两种重要的方法。

  1. RPC、RMI及其实现(我看到了,但它是关于解决这个问题的具体问题和具体工具,我想看看这个问题在网络互连程序的全貌中的位置。)我听说过实现: ONC、XML-RPCCORBADCOMgRPC,但是现在哪些是活动的?哪些是合理使用的?哪一种更可取,为什么?我希望答案不是基于意见,所以我接受这样的答案:“技术A比技术B更适合问题X,因为.”只有在有可靠的研究/统计数据或事实的情况下。我听说RPC和RMI在10年前很受欢迎。他们还在吗?
  2. Web服务休息肥皂

我错过了什么吗?也许有一些解决问题的技术是全新的?也许有些技术可以被视为RPC(RMI)和Web服务的替代品?对于任何任务,我们能否将RPC(RMI)替换为REST?对于现代任务,我们是否可以将RPC(RMI)替换为REST?我是否应该将技术分离为RPC和Web服务,而应该以其他方式分离?

EN

回答 2

Stack Overflow用户

发布于 2017-11-14 11:34:05

作为一个部分的回答,我可以给你我的反馈关于RabbitMQ的使用。正如解释这里一样,它提供了许多不同的方法来使用它:

  • 通过实现“回调”队列来实现RPC
  • 一对一,一对多的路由策略,将您的事件传播到您的整个基础结构中,并针对正确的目的地。

它具有持久化消息的能力,以避免在出现崩溃时丢失数据,但也附带一些插件以增加可能性(例如,x延迟插件)。

这种用Erlang编写的技术功能强大,是程序间通信的必经之路。

票数 0
EN

Stack Overflow用户

发布于 2017-11-17 13:30:02

关于你的问题“我是不是遗漏了什么”:是的。

非常流行的通信模式是所谓的事件驱动或消息驱动协议.这类协议经常用于分布式系统,如web应用程序、微服务和物联网环境.通信是异步完成的,允许构建可伸缩和松散耦合的系统。

事件驱动系统有许多不同的框架和方法,如WebSockets、WebHooks、Pub-Sub和消息传递--比如AcitveMQ、OpenMQ、RabbitMQ、ZeroMQ和MQTT。

希望这些信息对你的研究有所帮助。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47284512

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档