zoukankan      html  css  js  c++  java
  • 技术解决方案储备(摘自rrc-wiki)

    编号 名称 描述 解决问题 适用场景 绝对不可用场景 衍生问题 优点 缺点 推荐开源项目
    1 缓存 在数据源之前增加一层或多层数据缓存,降低访问低性能数据源的频次或减少网络/IO开销,以达到提升性能的目的。 1. 高并发性能 1. 读多写少的业务
    2. 读场景下热点数据命中率高
    3. 多数据的更新展示时延要求较低
      1. 热点数据分布不均匀,还是可能导致 cache 物理机成为访问热点,引发问题
    2. 如果存在回源策略,则在 cache 失效时,要注意短时间内大量回源请求发生,引发雪崩
    3. 要考虑 cache 的整体容量
    1. 目前最常见的解决方案,整体技术栈成熟,相关资料丰富   1. [YAC](https://github.com/laruence/yac)
    2. [redis](https://redis.io)
    3. [memcached](https://memcached.org)
    2 离线数据预热 将复杂计算逻辑从实时处理中抽离,提升实时访问时的性能。 1. 高并发性能 1. 数据更新频率低
    2. 数据更新入口可控
    3. 整体数据容量可控
      1. 读写逻辑比较分散,会降低代码可读性
    2. 所有预热的逻辑需要做统一管理,还需要和读取逻辑做关联
         
    3 压测 如何做压测? 评估性能、资源预分配 任何新增接口或较大变更的接口建议做压测   1. 如何加压?
    2. 配置差异的影响
    3. 上下游依赖的情况下怎么压
         
    4 重传和超时 不同场景下重传和超时策略? 可靠性、响应时间可控 1. 合理超时避免异常时负载飙升   1. 非幂等接口避免重传
    2. 超时参数要考虑上游的超时情况?
         
    5 性能监控 现有工具有哪些?(阿里云、openfalcon、线上日志或Kafka、命令等) 日常运维、性能优化            
    6 服务发现和注册 业务平台有用Consul做统一路由中心,但有单点风险,利弊   1. 接口分散
    2. 加密认证方式各不相同
      是个大单点      
    7 降级机制 目前我们用的Etcd+Confd,但用于db的账号和地址的变更;另外通过SLB做后端服务器流量控制   容灾方案          
    8 异步化 异步处理的方式有哪些(队列、DB、fastcgi_finish_request?)?适用范围?可能问题 解耦 触发事件   1. 异步任务通知      
    9 SQL vs. NoSQL

    数据存储方案有哪些?

    什么场景选用什么方案有什么评判标准么?

    数据存储 数据存储          
  • 相关阅读:
    bzoj2064分裂(dp)
    关于逆元的学习笔记(尚未完成)
    线性基学习笔记
    bzoj2460元素(线性基,贪心)
    CF280C Game on tree(期望dp)
    XJOI contest800
    关闭极域电子教室学生端的各种方法
    大坑!有网,电脑qq登不上去!!
    4.25 ZJOI2017 10AM
    bzoj1621
  • 原文地址:https://www.cnblogs.com/wt645631686/p/13878487.html
Copyright © 2011-2022 走看看