我想深入了解通过网络提供程序之间连接的各种工具。
为澄清这个问题,我将其分为子问题:
我只能区分两种重要方法。
RPC,RMI及其实现(我看到this,但它是关于解决这个问题的具体问题和具体工具,我想看看这个地方网络上互联程序的整体情况存在问题。我听说过实施:ONC RPC,XML-RPC,CORBA,DCOM,gRPC,但现在有效吗?哪些是合理的?哪些更好?为什么?我希望答案不是基于意见的,所以我接受像#34; 技术的答案比问题X的技术B更好,因为...... "只有有可靠的研究/统计或事实)。我听说RPC和RMI在10年前很受欢迎。他们还在吗?
我想念一下吗?也许有一些技术可以全新解决问题?也许有些技术可以被视为RPC(RMI)和Web服务的替代品?对于任何任务,我们可以用REST替换RPC(RMI)吗?我们是否可以仅通过REST替换现有任务的RPC(RMI)?我应该将技术分离为RPC和Web服务,还是以其他方式分离?
答案 0 :(得分:1)
问题“我错过了什么”:是的。
非常流行的通信模式是所谓的事件驱动或消息驱动协议。这种类型的协议通常用于分布式系统,例如Web应用程序,微服务和IoT环境。通信是异步完成的,允许构建可扩展和松散耦合的系统。
事件驱动系统有许多不同的框架和方法,如WebSockets,WebHooks,Pub-Sub和Messaging-Librarys,如AcitveMQ,OpenMQ,RabbitMQ,ZeroMQ和MQTT。
希望此信息有助于您的研究。
答案 1 :(得分:0)
作为部分答案,我可以就RabbitMQ的使用向您提供反馈。 作为解释here,它提供了许多不同的使用方法:
它具有保持消息的能力,以避免在出现崩溃时丢失数据,但也有一些插件可以增加可能性(例如x-delayed plugin)
这种用Erlang编写的技术非常强大,在程序之间的通信方面是必须尝试的。