好像摸鱼了几天,把缓存队列写得七七八八。为了实现简单,写入直接做了同步锁,测了一下性能,绝对是够用了。
队列设计成了两套:基于数组的方式有点在于缓存和未消费数据的大小都是固定的,比较好控制;基于链表的虽然缓存是固定的,但是如果上下文中有未消费的数据,链表就会堆积,内存的清理依赖于 GC ,稳定性我还没有太深入的测试。
吐槽一句最近梯子全面爆炸,导致我很多开发环境的导入全部走不了代理。垃圾华为云镜像明明有包,但是就是给我报错不能下载,切换到阿里云镜像瞬间舒畅了,果然福报场是真的福报
比较重要的队列实现了。接下来只要抽象出序列化器的接口,就可以实现多种模式的序列化。优先实现原http格式的序列化器,再实现 websocket 的序列化器,以恢复原1.0版本的兼容性。后阶段陆陆续续加入反向ws,远程hook等序列化器。有计划实现可以通过脚本语言自定义返回格式的序列化器,可是没想好使用什么脚本语言,以及上下文如何构建
大概就这么多了吧,摸完接口就开始打牌啦