JD-HotKey框架簡單流程UML梳理筆記

只是我的在學習過程當中的一些梳理UML圖, 有錯誤的地方請多指教.緩存

JdHotKey架構圖

Client端啓動流程

Client端Netty消費流程

Worker端Netty消費流程

Worker端消費隊列流程

通常來講Netty和消費者的線程是各佔CPU核數50%.架構

簡單使用流程案例

Worker只負責統計是否HotKey, 並推送到Client端, Value是由Client端本身更新進去的學習

public String get(String key) {
        // getValue時, 若是本地緩存沒有會Push到對應的Worker (每500ms push一次)
        Object object = JdHotKeyStore.getValue(key);
        if (object != null) {
            System.out.println("is hot key");
            return object.toString();
        } else {
            String value = getFromRedis(key);
            // 若是是hotKey, 會把value寫到本地緩存裏
            JdHotKeyStore.smartSet(key, value);
            return value;
        }
    }
相關文章
相關標籤/搜索