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;
        }
    }
相关文章
相关标签/搜索