Feed流系统设计工作讨论

作者: 硬核课堂分类: 计算机技术 发布时间: 2023-07-12 14:06:27 浏览:3906 次

Feed流系统设计工作讨论

忧愁的老王:
有些疑问UP可以回答一下嘛[思考][脱单doge] Ehcache作为降级后的数据源,那ehcache的数据来源是从哪来的 是定时任务请求Redis吗?感觉这样是非常大的开销吧,全量请求,Redis的数据太多了 还是在批处理写入计数到jimKV和Redis的时候,顺便写入到ehcache?如果是这样,频繁写入Ehcache进行序列化、刷盘,不是会带来很大的性能问题吗

【回复】回复 @你爷爷关注的CYT : 其实不用理解的那么复杂,ehcache在本质上和caffine没有本质区别,都是一个本地缓存,只不过ehcache缓存的过期时间比较长而已,caffine的过期时间短,放在内存中,ehcache的过期时间长,放在硬盘中;现在我们来回忆常规的本地缓存是什么时候构建的,答案是在检查本地的caffine缓存不存在用户请求的数据之后向分布式KV读取数据返回给用户之前种到本地缓存中的
【回复】[思考]redis与JimKv 用mq同步时,发布写事件,应该可以创建一个ehcache consumer去监听写事件,然后同步到encache中
爱喝咖啡的milk:
可以详细讲一下SDS如何计算得出一个kv对开销为53字节吗?

AI视频小助理:
一、一个信息流社区的技术架构,包括低成本高性能的技术读写服务、点赞服务以及缓存一致性方案的设计和实现。 00:01 - 用户可以在不同的圈子发帖和关注其他用户 00:54 - 使用KV数据库存储技术数据,避免复杂的表结构和查询 03:19 - 使用冷热分离的数据存储策略,降低存储成本和提高效率 二、使用Facebook的Releas集群来存储技术数据的成本优化过程,包括使用ZIPLIST压缩列表实现希类型、变长编码等多项技术。 06:02 - 使用FDF简单动态字符串存储技术数据,存储成本从2.7Tb下降到700GB 09:04 - 使用ZIPLIST压缩列表实现的希类型存储KV队,节省大量内存开销 11:01 - 采用变长编码实现多列存储和数据压缩,优化读取性能 三、一种基于UTF8编码的整型编码方案,可以将多个整数合并成一个二进制串来存储,从而利用整型编码的优化,减少存储成本和提高读取性能。 12:00 - 使用特殊符号连接数字,但无法利用ZIPLIST对整形的优化 12:30 - 用UTF8编码将整数编码成二进制串,合并拼接后再存储,读取时进行解码 16:33 - 使用UTF8编码可以成倍减少数据量,提升读取性能,预计可节约500万每年的存储成本 四、一个技术服务的存储架构,包括短TTL和长TTL缓存、本地缓存、预聚合和批量写入的优化等,以提高可用性和降低故障感知。 18:02 - 短TTL可以保证本地缓存和存储层的一致性 20:26 - 优化写请求,预聚合和批量写入,以提高吞吐量 22:00 - 使用MQ事件驱动模式实现最终一致性,保证数据的读写一致性 五、一个技术服务,包括基于磁盘的持久化缓存和布隆过滤器的高性能缓存,以及使用CDC组件和GMQ保证缓存的一致性。 24:01 - 设计一个服务端,使用磁盘持久化缓存,不会丢失消息 25:10 - 使用布隆过滤器作为低成本高性能的缓存,避免大key问题 28:33 - 使用CDC组件和GMQ保证缓存的一致性,支持多租户技术服务 --本内容由AI视频小助理生成,关注解锁AI助理,由@想佛了 召唤发送

你爷爷关注的CYT:
up JimKV网上的资料比较少,是否可以使用etcd平替呢[思考]

【回复】可以看一下基于rocksdb改造的分布式kv数据库比如阿里云提供的Tair,效力是一样的
Belief_7:
大佬,这个判断点赞的布隆过滤器是内容纬度存储的用户点赞吗?

计算机 编程 面试 信息流 工作 服务端 校招 系统设计 社招

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!