缓存点燃客户端节点
作者:互联网
我正在编写一个后端应用程序,该应用程序应该从客户端接收请求并使用ignite缓存执行一些操作.问题是我需要低延迟响应时间,并且重新创建Ignite客户端节点以执行某些具有缓存的操作是完全不能接受的.
通常在应用程序启动时创建Ignite客户端节点,然后在后端收到来自客户端的要求使用Ignite缓存进行某些操作的请求时使用它.我的意思是这样的:
public class Handler{
private static final Ignite igniteClient;
static{
Ignition.setClientMode(true);
igniteClient = Ignition.start();
}
private final Semaphore semaphore = new Semaphore(5);
private void handle(){
semaphore.acquire();
//use igniteClient
semaphore.release();
}
}
解决方法:
是的,通常在应用程序启动时创建Ignite客户端节点,然后再使用它.
此外,为每个请求创建新的客户端不是一个好主意,因为它将导致每个NODE_JOIN& NODE_LEFT事件,该事件导致为服务器节点上的每个客户端创建新的对象和连接.
标签:caching,ignite,java 来源: https://codeday.me/bug/20191025/1932429.html