cocaJava 的协同缓存框架

联合创作 · 2023-09-29 05:48

coca = co + ca
===================================
Co-Cache 协同缓存框架

核心概述

  • coca-ca 实现多级缓存调度策略,使用方式如下:
    • 继承Ca,实现不同的缓存操作,可参考CaGuava、CaRedis. Ca实例放入CaStack中实现调度
    • CaStack和CaPolicy实现了对多级缓存的读写操作控制, 具体参考下文示例
    • 一个Ca可放入不同的CaStack实现不同的读写处理
    • 注意,Ca不用时记得释放资源Ca.close, 一般的关闭次序为CaStack.close -> Ca.close
  • coca-co 实现多机Co实例之间的组消息同步,使用时主要的配置如下:
    • CoIns定义消息的格式, CoIns = Ins(指令定义,说明含义) + data(数据内容)
    • 继承CoInsFactory实现自定义CoIns创建工厂
    • 继承GroupChannelSelector实现自定义的组通道创建,可参考RedisChannelSelector、RMQChannelSelector
    • 通过conf配置自定义实现,详见BasicCo.newCo(Map<String,String> conf)
    • 通过Co.pub发送指令、Co.sub接收指令,可看考Coca里的实现方式
  • coca-api 组合ca和co功能
    • 可以看作是co和ca如何使用的参考实现,可用于多级缓存同步更新、配置信息修改实时通知等场景
    • 如多个jvm堆缓存(1级)+redis(2级)场景,常见需求是任一jvm堆更新后同步修改其他jvm和redis
  • 其他工程包含ca或co的具体实现
浏览 6
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报