我有一个java servlet app (.war)。这个应用本身是无状态的,只做计算。它通过REST API (使用Jersey 2实现)公开其功能。我在Cloud Foundry上部署了几个实例的应用程序,但是结果是所有请求都只转发到一个实例,而且总是同一个实例。
这个应用程序有一个路由,我可以使用X-CF- app -INSTANCE头向特定的实例发送请求,但我希望我的实例能够自我平衡。
根据Cloud Foundry文档,gorouter在选择哪个实例应该为请求提供服务时,应该使用循环策略。我是不是在配置中遗漏了什么,或者是否有人遇到过这样的行为?
发布于 2018-04-30 21:56:37
这两个应用程序之间的问题是使用带有http连接池(PoolingHttpClientConnectionManager)的Jersey客户端。一开始,我将客户端对象作为Spring Bean创建了一次,并将其配置为从池中获取空闲连接。从ClientConfig中删除池并使用新创建的客户端对象可以正确平衡请求的负载。
https://stackoverflow.com/questions/49517024
复制相似问题