任何人都可以建议使用Web服务而不是RPC(而不是xml-rpc)作为两个C++进程之间的通信通道的理由,这两个进程都将由同一个团队开发吗?注意:Web服务不保证订购交付!
当人们拿锤子时,他们倾向于将所有问题看作钉子.这就是为什么人们倾向于将Web服务放在任何地方,就好像它是两个流程进行通信的唯一方式.
在你的情况下,RPC似乎是一个更好的选择,更高的性能,更少的内存使用,更简单的实现(在C++中)...
当您需要时,Web服务非常棒:
支持多种语言和平台
基于SOA的应用程序
分布式服务
如果你不需要任何这些,或者永远不会,那么RPC就没有任何问题.如果您的应用程序的进程都在同一台机器上,并且您需要在它们之间进行通信,那么RPC是一个完全可以接受的解决方案.