缓存点燃客户端节点
问题描述:
我正在编写一个后端应用程序,该应用程序应该接收来自客户端的请求并使用点火缓存执行一些操作。问题是我需要低延迟响应时间并重新创建客户端节点以执行某些操作,而缓存是完全不可接受的。缓存点燃客户端节点
通常在应用程序启动时创建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_JOIN事件的拓扑更改,这会导致为服务器节点上的每个客户端创建新对象和连接。