现在还在使用RPC吗?或者rpc被其他技术取代了? 如果我用C ++开始新项目,我应该考虑使用RPC吗?
更多信息,因为我知道RPC仍在生产代码中使用:
我有两个相互通信的应用程序。这两个是在同一台机器上,但一个是服务,第二个是用户应用程序。用户应用每2,3秒发送一次服务应用。 第二次使用rpc。我有1个客户端和许多具有本地数据库的计算机。该客户需要从这些计算机获取一些数据。
我应该在这两个场景中使用像Thrift这样的东西吗?或者它太大了?
答案 0 :(得分:5)
Remote Procedure Call是一个非常通用的想法,而不是具体的。有ZeroC Ice,CORBA,Java RMI,SOAP,DRb,WCF以及围绕RPC理念构建的更多技术。他们确实被使用了。例如,一些Electronic Currency Exchanges(ECN)使用CORBA,Skype使用ZeroC,Hewlett-Packard使用soap ......我希望每个人都使用肥皂。
但是你是否应该考虑这项技术很难回答。如果你应该比你应该采用什么解决方案。这取决于太多的细节。但要问的主要问题是 - 你想要实现什么目标?这些都是严肃的技术,有些可以节省大量的宝贵时间,有些可以帮助您集成用不同语言编写的应用程序等。基本上,每个解决方案都有其缺点和优点。
如果您确定需要它,我建议您考虑两次并决定您的项目在哪里需要它以及为什么。如果您决定使用RPC,我建议您使用ZeroC Ice。它是免费的,开源的,可扩展的和可扩展的,支持大量现代编程语言,并且它周围的社区似乎非常活跃。
希望它有所帮助。祝你好运!
答案 1 :(得分:0)
RPC广泛用于Windows操作系统。出于高性能的原因,我使用RPC来调用缓存服务。
答案 2 :(得分:0)
如果您确定需要RPC,我建议您查看支持最常见语言绑定的Apache Thrift,并提供您需要的大多数功能。这可能对你的需求有点过分,但既然你没有指定它们,我想我会把它扔出去。