huangli

Results 4 issues of huangli

This commit speed up consume qps greatly, in our test up to 200,000 qps. **Make sure set the target branch to `develop`** ## What is the purpose of the change...

type/enhancement
module/broker

jetcache2.6以后我觉得已经比较完善,一度疏于维护。现在,根据最近两年积攒的问题,准备升级一波。 预计有以下修改: - 两级缓存的情况下,如果一台服务器更新了缓存,会去刷新其它服务器的本地缓存。通过redis pub/sub来实现(jedis已经实现,其它的开发中)。 - 内置json序列化、反序列化器。其实这个最早是有的,但是后来因为兼容和安全的原因去掉了,丢给了用户自己实现,其实jetcache定制encoder/decoder非常简单,不过确实有很多人不会。 - 废弃CreateCache注解,并提供替代方式。CreateCache的问题是不能提供全功能配置,而且实现方式过于hack,总担心哪天spring升级它又不能用了。如果使用CacheAPI,又比较麻烦,需要各种设置。所以新的方式应该基当前的项目cache配置模板,然后通过api来组装。 - 可能会提供集中化的缓存配置文件。现在CreateCache和Cached都可以定义缓存,如果两个注解(相同的area和name)定义不一样,按什么方式创建Cache实例是不能确定的。集中的配置文件还有个好处,可以统一管理,适合大型项目,与之相反,散落在各个java文件里面的注解,不利于评估整个项目的缓存使用情况。 - 类库升级和一些不兼容升级,fastjson会升级到fastjson2,详见[兼容性说明](https://github.com/alibaba/jetcache/blob/master/docs/CN/Compatibility.md)(更新中) 一些设计原则:jetcache最强的能力来自CacheAPI,注解只是提供一个方便,满足大部分场景即可。一些复杂的需求应该用CacheAPI来实现,以前通过CreateCache注解可以获取Cache实例(以后会提供更好的方式)。所以,如果需要对注解那一套机制进行复杂的修改来实现什么功能,我觉得不是好的实践,很可能是不会做的(我自己现在也特别讨厌spring)。 时间上,预计就在这个月,会加速开发。2.7版本发布以后,我会发起全新的项目并将主要精力投入其中(过些天我会在个人仓库下创建这个新项目),之后jetcache暂时不会再开发大的特性。 2022年7月8日

所有的issue我都会看。请尽量提供有助于解决问题的线索,比如: - jetcache的版本,以及其它依赖的版本,比如spring、jedis、lettuce等 - 如果有错误,提供完整的错误信息 - 相关配置和代码,请使用markdown格式书写 - 可以重现的步骤 - 你的分析 有问题也可以先看一下文档(如果你用2.6版本建议切换到2.6分支看):https://github.com/alibaba/jetcache/tree/master/docs 鼓励大家升级到新版本,总的来说jetcache的兼容性还是很好的,兼容性说明文档看这里:https://github.com/alibaba/jetcache/blob/master/docs/CN/Compatibility.md jetcache对jedis/lettuce的配置很可能不是最优的,这些大多可以在配置文件中改。 关于提问的一些补充说明: - 有的人一个标题丢一句话在这里,就想让我开始干活,耐心的引导他给出缺失的信息,然后帮他解决问题,想屁呢? - 在古老的issue下面挖坟,一律不理 - 有一些issue提供了一些信息,但是也没有回复,那是因为我暂时帮不上忙(我无法从提供的内容看出问题)。 - 一些重复的issue,我认为没有意义的请求,可能不会回复 这几年我的主要精力不在这个项目,所以jetcache目前是维护状态,主要是修改bug(如有),兼容性更新等。一般来说不会做重大功能更新,如果你有高质量的补丁,也可以集成进来。

需要的时候就做。

enhancement