写点什么

架构师训练营 week5 学习总结

用户头像
花果山
关注
发布于: 2020 年 11 月 22 日

缓存

影响缓存命中率的主要指标

• 缓存键集合大小

• 缓存可使用内存空间

• 缓存对象生存时间

旁路缓存(cache-aside)

• 对象缓存是一种旁路缓存,旁路缓存通常是一个独立的键值对(key-value)存储。

• 应用代码通常会询问对象缓存需要的对象是否存在,如果存在,它会获取并使用缓存

的对象,如果不存在或已过期, 应用会连接主数据源来组装对象,并将其保存回对象

缓存中以便将来使用。

技术栈各个层次的缓存

消息队列

点对点模型

发布订阅模型





事件驱动架构EDA



主要 MQ 产品比较

• RabbitMQ 的主要特点是性能好,社区活跃,但是 RabbitMQ 用 Erlang 开发,对不熟

悉 Erlang 的同学而言不便于二次开发和维护。(49M)

• ActiveMQ 影响比较广泛,可以跨平台,使用Java开发,对Java比较友好。(27M)

• RocketMQ 是阿里推出的一个开源产品,也是使用Java开发,性能比较好,可靠性也

比较高。(35M)

• Kafka ,LinkedIn 出品的,Scala 开发,专门针对分布式场景进行了优化,因此分布

式的伸缩性会比较好。(63M)



负载均衡

数据链路层负载均衡

一致性HASH算法

哈希取余算法扩展性差,一致性哈希环算法解决扩展问题但引入了均衡问题,基于虚拟节点的一致性哈希算法解决均衡问题,影响范围更小,更利于扩展;

基于虚拟节点的一致性 Hash 算法



发布于: 2020 年 11 月 22 日阅读数: 18
用户头像

花果山

关注

还未添加个人签名 2019.05.09 加入

还未添加个人简介

评论

发布
暂无评论
架构师训练营 week5 学习总结