我有一个服务,它公开了一个 JSON-over-HTTP API(使用 ServiceStack),现在我正在编写一个 .NET 客户端(dll),它抽象出这个 API,基本上在它之上提供一个特定于域的对象抽象。该客户端将由需要大量使用服务的应用程序使用,因此争取高吞吐量和低延迟非常重要。我已经对该服务进行了大量优化工作,以使其达到可接受的吞吐量和延迟水平(使用JMeter进行测量)。自然我想让客户尽可能快。
我想使用 ServiceStack 的 ServiceClient 库来处理与服务的通信并且有几个问题:
- JsonServiceClient 线程安全吗?
- JsonServiceClient(或任何 *ServiceClientBase 子级)在与 HTTP v1.1 服务器通信时是否会进行某种连接池?或者他们是否为每个被要求执行的请求打开一个单独的连接?
我也很感激有关如何使用 ServiceClient 或可能是另一个库以使与服务的通信达到最佳状态的任何建议(客户端缓存是我计划的一部分,因此已经在进行中)。