前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >处理高并发的一般思路

处理高并发的一般思路

作者头像
用户1093396
发布2020-10-29 11:22:22
5180
发布2020-10-29 11:22:22
举报
文章被收录于专栏:TIGERB的技术博客

前言

今天看见有人聊目前系统有2亿的PV,该如何优化?当我看到这个话题的时候,突然在想自己工作中也遇到了不少高并发的场景了,所以即兴发挥,在这里简单总结和分享下服务端相关,欢迎指正和补充。

正文

读操作

关于读,我们一般遵循如下优先级:

优先级

技术方案

说明

示例

最高

尽可能静态化

对实时性要求不高的数据,尽可能全走CDN

例如获取基础商品信息

就近使用内存

优先级服务器内存、远程内存服务

例如秒杀、抢购库存(优先分配库存到服务器内存,其次远程内存服务<又涉及额外网络IO>)

极低

数据库(能不读就不要读)

连接池、sql优化

常见业务

写操作

关于写,我们一般会按照数据的一致性要求级别来看:

数据一致性要求

技术方案

不高

先写内存(优先级从服务器内存到远程内存服务) 再异步储存

同步完成最关键的任务 异步保证其他任务最终成功

削峰限流

从简单到复杂:

简单程度

技术方案

最简单

百分比流量拒绝(随机、没有先到先得不够公平)

简单

原子操作限流(优先级使用服务器内存、其次远程内存服务)

稍麻烦

队列限流(先到先得,公平)

服务稳定性

在高并发的场景,有时候为了保证核心业务的正常进行,我们需要对一些次要的业务进行服务降级。简单的降级方案如下:

  1. 配置开关降级:手动进行配置开关降级
  2. 定时开关降级:自动定时降级

系统架构

关于系统架构,不用想的太复杂,简单的拆离此业务即可。

运维架构

部署层面,尽可能的把此类服务单独部署。

武器

“工欲善其事,必先利其器”,处理高并发我们当然少不了好的武器。以下是高并发“三剑客”:

技术名词

说明

异步

例如nodejs,层层回调似灾难(Promise也是很臃肿的链式代码)

epoll

IO多路复用,nginx/redis方案

协程

轻量,用户态调度高并发能力

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-04-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 TIGERB的技术博客 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 正文
    • 读操作
      • 写操作
        • 削峰限流
          • 服务稳定性
            • 系统架构
              • 运维架构
                • 武器
                相关产品与服务
                内容分发网络 CDN
                内容分发网络(Content Delivery Network,CDN)通过将站点内容发布至遍布全球的海量加速节点,使其用户可就近获取所需内容,避免因网络拥堵、跨运营商、跨地域、跨境等因素带来的网络不稳定、访问延迟高等问题,有效提升下载速度、降低响应时间,提供流畅的用户体验。
                领券
                问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档