架构师训练营 第五周 【学习总结】
通过第五周的学习,主要收获有:
1、这周主要学习了缓存、消息队列、负载均衡、分布式数据库。
2、关于缓存,更加理解了缓存的意义:
缓存都是为了加速数据读取而存在的,没有修改操作。
缓存用于加速读取,数据并不是百分之百准确和及时的,但实际中是可以接受少量的数据失效和短暂的数据延迟更新的。
缓存集群在扩容时,可以使用一致性hash算法来确保只有少量的数据失效,以避免雪崩导致瞬间服务器压力过大而瘫痪。
3、关于消息队列,更加理解的消息队列的意义:
消息队列的存在,可以使得原来同步的业务逻辑,变为异步处理,这样可以使得系统承受更大的并发请求,削峰填谷,提升系统性能。
消息队列还能使得业务逻辑解耦,更小的耦合面,意味着更好的系统维护性。
以此可延申出事件驱动的架构EDA。
4、关于负载均衡:
理解了各种负载均衡方式的利弊。
越靠近网络底层的负载均衡实现方式,性能越好,当然使用门槛也越高。实际中根据情况选择最合适的方案。
负载均衡要考虑session绑定。
5、数据库主从复制,mysql为例:
主从复制一方面可以实现数据备份,另一方面可以读写分离。
主主复制,主要是为了解决数据库高可用的。
以上方案并不能提升数据写的性能。
6、很多时候,理解为什么这样做,比做法本身更重要。
评论