对于我们的一个项目,我们需要从两个国家的4个远程服务器中提取大量实时库存数据。这里是一个简单的过程,检查定期间隔的源并将更新保存到数据库。
但由于这些是超过1000家公司的实时库存数据,我不得不每秒钟一次,这在内存,带宽的情况下并不好。我想。
请给我建议哪个技术/平台[我们在这里很灵活。 PHP,Python,Java,PERL - 其中任何一个对我们都没问题]我们应该选择,它可以轻松实现并具有更好的性能。
答案 0 :(得分:2)
如果您想要大量的实时数据,那么协议的重要性远远超过语言。但是,您可能希望考虑以下几个方面:
我个人会选择Erlang:内置的高速协议,用于分发数据,异步所有,可能是学术界这一方面并发和分发的最佳实现。
如果您仅限于您提供的语言列表,我会选择Java。 I / O有点复杂但相当强大,库包含很多对象,它必然会有你需要的东西,它允许异步I / O并且它可以很好地管理线程。
那就是说,我更专注于协议而不是语言。无论您使用何种语言,您的协议都必须有一个库。
答案 1 :(得分:1)
特定技术不可能以显着的方式优于所有其他技术,使其成为明确的选择。你需要适当地设计它。你使用的语言不会有什么后果。
此外,如果您无法获得比您在问题中提供的更多信息(以及您在此无法提供的信息),那么您的问题实在无法解决。
答案 2 :(得分:1)
抛出一些名字以便你可以去探索:HTTP,XMPP,AMQP,ZeroMQ。实现方面,在Erlang中编写的具有集群支持的东西可能是一个不错的选择。
答案 3 :(得分:0)
如前所述,协议比技术更重要。根据我的经验,您可能会以快速(可能是非标准的)间隔发送非常相似的数据,因此您可以通过一点点努力开发轻量级数据/内容架构并将所有内容作为原始二进制文件发送。请为您的数据避免使用JSON / XML,除非您拥有大量资源和带宽,否则它太胖而且速度慢,效益太小。
选择一个快速执行的协议(我在这里不能提供太多建议,但不要做HTTP)。