2017-06-15 117 views
2

我正在編寫一個後端應用程序,該應用程序應該接收來自客戶端的請求並使用點火緩存執行一些操作。問題是我需要低延遲響應時間並重新創建客戶端節點以執行某些操作,而緩存是完全不可接受的。緩存點燃客戶端節點

通常在應用程序啓動時創建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(); 
    } 
} 

回答

3

是的,通常在應用程序啓動時創建Ignite客戶端節點,然後重新使用它。

此外,爲每個請求創建新客戶端不是一個好主意,因爲它會導致NODE_JOIN每個NODE_JOIN事件的拓撲更改,這會導致爲服務器節點上的每個客戶端創建新對象和連接。