JD-HotKey框架简单流程UML梳理笔记

原创
08/31 00:22
阅读数 286

只是个人在学习过程中的一些梳理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;
        }
    }
展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部