首页 文章

缓存会点燃客户端节点

提问于
浏览
3

我正在编写一个后端应用程序,它应该接收来自客户端的请求并使用点火缓存执行一些操作 . 问题是我需要低延迟响应时间并重新创建 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();
    }
}

1 回答

  • 4

    是的,在应用程序启动时创建Ignite客户端节点然后重复使用它是很常见的 .

    此外,为每个请求创建新客户端并不是一个好主意,因为它会导致每个NODE_JOIN和NODE_LEFT事件的拓扑更改,从而导致为服务器节点上的每个客户端创建新对象和连接 .

相关问题