缓存点燃客户端节点
Caching ignite client node
我正在编写一个后端应用程序,它应该接收来自客户端的请求并使用 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 事件的拓扑结构发生变化,从而导致创建新的对象和服务器节点上每个客户端的连接数。
我正在编写一个后端应用程序,它应该接收来自客户端的请求并使用 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 事件的拓扑结构发生变化,从而导致创建新的对象和服务器节点上每个客户端的连接数。