谁能提出一个很好的理由来使用 Web 服务而不是 RPC(不是 xml-rpc)作为两个 C++ 进程之间的通信通道,这两个进程都将由同一个团队开发?注意:网络服务不保证按订单发货!
Jesse Pepper
问问题
817 次
4 回答
11
当人们有一把锤子时,他们倾向于将所有问题都视为钉子。这就是为什么人们倾向于将 Web 服务放在任何地方,就好像它是两个进程进行通信的唯一方式一样。
在您的情况下,RPC 似乎是一个更好的选择,更高的性能,更少的内存使用,更易于实现(在 C++ 中)......
于 2009-01-03T10:49:19.117 回答
6
当您需要时,Web 服务非常有用:
- 支持多种语言和平台
- 基于 SOA 的应用程序
- 分布式服务
如果您不需要这些中的任何一个,或者永远不需要,那么 RPC 就没有任何问题。如果您的应用程序的进程都存在于同一台机器上并且您需要在它们之间进行通信,那么 RPC 是一个完全可以接受的解决方案。
于 2009-01-03T10:48:19.510 回答
2
如果您不需要做任何超出本地 RPC 可以处理的事情并且确信您永远不会做,那么没有理由不使用它。
于 2009-01-03T12:59:34.423 回答
1
由于有许多技术可以轻松提供 SOA 架构、多语言支持、多平台支持,并且不需要 Web 服务器,如果您不使用任何一端作为 UI 前端交付机制,那么确实对 Web 服务器没有任何要求。事实上,像 IBM 的 Websphere 这样的庞然大物,将需要大量的资源成本。更好的架构选择是 CORBA。请参阅 TAO 以获得一个很好的例子。
于 2011-01-03T03:05:36.833 回答