Clive
高并发、高可用系统设计原则
关注作者
前往小程序,Get
更优
阅读体验!
立即前往
腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
首页
学习
活动
专区
工具
TVP
最新优惠活动
返回腾讯云官网
Clive
首页
学习
活动
专区
工具
TVP
最新优惠活动
返回腾讯云官网
社区首页
>
专栏
>
高并发、高可用系统设计原则
高并发、高可用系统设计原则
Clive
关注
发布于 2019-03-06 16:54:08
954
0
发布于 2019-03-06 16:54:08
举报
文章被收录于专栏:
Clive的技术分享
高并发原则
无状态:应用无状态,配置文件有状态
拆分:系统维度、功能维度、读写维度、AOP维度、模块维度
服务化:进程内服务->单机远程服务->集群手动注册服务->自动注册和发现服务->服务分组/隔离/路由->服务治理(限流/黑名单)
消息队列:实现服务解耦、异步处理、流量削峰/缓冲(需要注意:处理生产消息失败、消息重复接收处理、生产重试;作为大流量缓冲,牺牲强一致性,保证最终一致性;需要数据校对)
数据异构:异构数据形成闭环,数据存储到合适的存储引擎;聚合数据,使前端通过少量调用拿到所需数据;依赖系统出问题,还能正常工作
缓存:1、浏览器缓存(时效性不强的数据)2、APP客户端缓存(大促前提前下发素材到客户端)3、CDN缓存(把资源推送到离用户最近的CDN节点)4、接入层缓存(没有CDN缓存可以考虑使用Nginx搭建一层接入层)5、应用层缓存(在应用所在机器上部署一组Redis,直接本机读取数据,多机之间主从同步数据)6、分布式缓存(数据量太多,单机存储不了,用分片机制分散流量到多台要,或用分布式缓存实现,常见的分片规则:一致性哈希算法)
并发化
高可用原则
降级:开关集中化管理,推送机制把开关推送到各个应用;可降级的多级读服务;开关前置化;业务降级,高并发流量来袭,保障核心业务,保证数据最终一致性即可,可同步改异步,优先处理高优先级数据
限流:恶意请求指导Cache层;对于穿透到后端的流量考虑Nginx的limit模块;对恶意IP可用Nginx deny屏蔽
切流量:可用Nginx切换故障的应用层
可回滚:版本化(事务回滚、代码库回滚、部署版本回滚、数据版本回滚、静态资源版本回滚)
业务设计原则
防重设计:防重key、防重表、记录重复日志后续处理
幂等设计:业务系统重复消息消费幂等处理;第三方支付异步回调幂等处理
流程可定义
状态与状态机:状态设计有状态轨迹·,方便追溯;并发状态修改问题;状态变更有序问题;状态变更消息先到后到问题
系统后台操作可反馈
系统后台审批化
文档和注释
备份:代码库、多版本、人员备份
本文参与
腾讯云自媒体同步曝光计划
,分享自作者个人站点/博客。
原始发表:2019.02.21 ,如有侵权请联系
cloudcommunity@tencent.com
删除
前往查看
缓存
nginx
cdn
分布式
压力测试
本文分享自
作者个人站点/博客
前往查看
如有侵权,请联系
cloudcommunity@tencent.com
删除。
本文参与
腾讯云自媒体同步曝光计划
,欢迎热爱写作的你一起参与!
缓存
nginx
cdn
分布式
压力测试
评论
登录
后参与评论
0 条评论
热度
最新
推荐阅读
LV.
文章
0
获赞
0
目录
高并发原则
高可用原则
业务设计原则
相关产品与服务
内容分发网络 CDN
内容分发网络(Content Delivery Network,CDN)通过将站点内容发布至遍布全球的海量加速节点,使其用户可就近获取所需内容,避免因网络拥堵、跨运营商、跨地域、跨境等因素带来的网络不稳定、访问延迟高等问题,有效提升下载速度、降低响应时间,提供流畅的用户体验。
免费体验
产品介绍
产品文档
CDN 境内流量包 1元起 ,更有新老同享套餐包0.09元/GB起,立即选购
领券
问题归档
专栏文章
快讯文章归档
关键词归档
开发者手册归档
开发者手册 Section 归档
0
0
0
推荐