继续发展, 发现需要针对某以一业务做成一个 应用服务器集群.
集群 与 分布式的区别
演化过程: 混沌状态(所有东西都在一个server上) -> 各自独立server -> 集群化 -> 分布式改造 -> 多集群部署
每个集群自己还是分布式的.
用户量继续扩大,需要异地部署
拆分的维度
系统维度: 按业务逻辑拆分
功能维度: 比如已经按业务拆分成优惠券系统,继续按照功能拆分
读写维度: 读服务可以使用缓存提供性能
队列
核心是异步平缓的进行处理. 排队机制
消息队列实现分布式事务
总结:
缓存
主要介绍一下应用层的 redis
缓存的策略(常用策略)
以上数据不一致因为非原子操作.
下边的策略, 对缓存组件要求高,一般开源免费的缓存不提供,只能买商用的。
缓存碰到的问题(雪崩,穿透)
布隆过滤器
int 型有点扯了,我感觉没有用. 不推荐使用.
降级 (服务降级)
系统功能降级, 写服务降级. 可以理解为丢车保帅.
如何实现降级
限流
该拒绝时就拒绝. 例如对某一个接口每秒100个请求,多余的就拒绝.
比如复杂db查询,缓存没用, 降级没用,只有限流. 直接拒绝服务.