技术解决方案储备(摘自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

数据存储方案有哪些?

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

数据存储 数据存储          
posted @   温柔的风  阅读(197)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
历史上的今天:
2019-10-26 Mysql在线加索引锁表归纳
2018-10-26 Centos6下给PHP安装Qconf扩展
点击右上角即可分享
微信分享提示