【发布时间】:2015-07-20 16:10:07
【问题描述】:
我有一个服务,foo,在机器 A 上运行。我需要从机器 B 访问该服务。一种方法是在 A 上启动一个 Web 服务器并通过 HTTP 进行;在 A 上的 Web 服务器下运行的代码访问 foo 并返回结果。另一种是在A上写socket server;套接字服务器访问服务 foo 并返回结果。
HTTP 连接启动和握手很昂贵;可以编写套接字,但我想避免这种情况。还有哪些其他选项可用于高性能远程调用?
【问题讨论】:
-
高性能远程调用是什么意思?而且我认为没有一种解决方案适合您的问题。更具体。
-
我想使用缓存。我不想托管我自己的 Redis/Memcache。我尝试使用 Elasticache。 ElastiCache 只能在 Amazon Cloud 中使用。我的客户在 AWS 之外。有10个客户。所以我想旋转一个 EC2 实例并将一些东西放在 Elasticache 前面。所以默认情况下是像 NGinx 这样的服务器。我能做到的。但后来想如果有更好的东西。我的请求率峰值约为 400 rps。我的应用程序在缓存查找时可以容忍高达 100-200 毫秒的延迟。目前我最终使用 NoSQL DB(发电机)作为我的缓存。