处理高并发的一般思路菜鸟知识_并发菜鸟教程下载

前言今天看见有人聊目前系统有2亿的PV,该如何优化?当我看到这个话题的时候,突然在想自己工作中也遇到了不少高并发的场景了,所以即兴发挥,在这里简单总结和分享下,欢迎指正和补充。正文读操作关于读,我们一般遵循如下优先级:优先级技术方案说明示例最高尽可能静态化对实时性要去不高的数据,尽可能全走CDN例如获取基础商品信息高就近使用内存优先级服务器内存、远程内存服务

处理高并发的一般思路菜鸟知识

前言

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

处理高并发的一般思路菜鸟知识_并发菜鸟教程下载

正文

读操作

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

优先级技术方案说明示例
最高尽可能静态化对实时性要去不高的数据,尽可能全走CDN例如获取基础商品信息
就近使用内存优先级服务器内存、远程内存服务例如秒杀、抢购库存(优先分配库存到服务器内存,其次远程内存服务<又涉及额外网络IO>)
极低数据库(能不读就不要读)连接池、sql优化常见业务

写操作

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

数据一致性要求技术方案
不高先写内存(优先级从服务器内存到远程内存服务) 再异步储存
同步完成最关键的任务 异步保证其他任务最终成功

削峰限流

从简单到复杂:

简单程度技术方案
最简单百分比流量拒绝(随机、没有先到先得不够公平)
简单原子操作限流(优先级使用服务器内存、其次远程内存服务)
稍麻烦队列限流(先到先得,公平)

服务稳定性

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

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

系统架构

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

运维架构

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

武器

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

技术名词说明
异步异步回调,层层回调似灾难(Promise也是很臃肿的链式代码)
epollIO多路复用,nginx/redis方案
协程轻量,用户态调度高并发能力

来自:https://segmentfault.com/a/1190000018921221

海计划公众号
(0)
上一篇 2020/03/30 16:07
下一篇 2020/03/30 16:07

您可能感兴趣的内容

  • Visual Studio Code 有哪些工程方面的亮点?使用指南_工程小白常识

    Visual Studio Code(VS Code)近年来获得了爆炸式增长,成为广大开发者工具库中的必备神器。它作为一个开源项目,也吸引了无数第三方开发者和终端用户,成为顶尖开源项目之一。它在功能上做到了够用,体验上做到了好用,更在拥有海量插件的情况下做到了简洁流畅,实属难能可贵。我是VS Code用户,同时也为它开发插件,插件市场里的众多Java插件基本

    2020/03/26
  • 常用的CSS命名规则基础教程_命名小白常识

    应该很多人都会有PO这种东西,但是对刚学CSS的人真的很重要,尤其像我这种英文不好的人,这些是必背的的单字喔^^,这些数据只是我在学习的时候,参考别人的数据之后用自己的思考整理出来的,像参考书写的真的都看不懂,通常翻第一页之后,永远就不会再翻第二页了,当然我也是搂…..一、常用的CSS命名规则头:header内容:content导览:nav侧栏:side

    2020/03/24
  • Blockly – 来自Google的可视化编程工具使用帮助_编程使用帮助

    Google Blockly 是一款基于Web的、开源的、可视化程序编辑器。你可以通过拖拽块的形式快速构建程序,而这些所拖拽的每个块就是组成程序的基本单元。可视化编程完成,Blockly 直接支持 JavaScript、Python、PHP、Lua、Dart 语言源码的导出。此外,还可以将 Blockly 编辑器快速集成到Web、Android或iOS环境中

    2020/04/05
  • Css背景定位入门基础_背景小白知识

    同一个标签可以同时设置背景颜色和背景图片,如果颜色和图片同时存在,那么图片会覆盖颜色。1.在CSS中有一个叫做background-position:属性,就是专门用来控制背景图片的位置2.格式:background-position:值1 值2;值1的取值范围:left center right值1代表背景图片的水平位置值2的取值范围:t

    2020/03/24
  • Vue中用canvas实现二维码和图片合成海报菜鸟教程网_海报入门指南

    在项目中经常会遇到需要将不同的二维码放到一张通用图片上,提供用户下载,简单来说,就是利用canvas将同等比例的二维码在图片上叠加,生成海报1. 设置相应比例一般来说海报背景都是固定的,可以直接放在public文件夹,二维码可根据后台返回数据,也可用canvas生成,在此不多赘述import posterBgImg from ‘../public/image

    2020/03/30
  • css文本操作基础知识教程_操作小白攻略

    1.文本对齐方式(水平方向) text-align这个属性能控制标签内文本的对齐方式,还能控制子元素中行内元素和行内块级元素的对齐方式(水平方向)它有三个值:left:左对齐(默认)center:居中对齐right:右对齐
    div的文本子元素span<div

    2020/03/26
  • html转义特殊字符代码大全零基础入门_转义符基础指南

    注意:使用数字代码或英文代码需要在代码后面加一个英文的分号「;」第二列转义符号为使用数字代码或英文代码后得的的符号html转义特殊字符代码大全原符号转义符号数字代码英文代码解释制表符&#09/t Horizontal tab换行&#10/n Line feed回车&#13/r Carriage Return空格&#32&nbsp’ ‘ Space!!&#33

    2020/03/24
  • sessionstorage中存储JSON数据使用教程_json小白攻略

    在web开发时,可能经常会用到sessionstorage存储数据,存储单个字符串数据变量时并不困难var str = ‘This is a string’;
    sessionstorage.setItem(‘param’,str);获取sessionstoragevar item = sessionstorage.getItem(‘param’);
    cons

    2020/03/23
  • 缓存一致性的设计入门知识_缓存使用教程

    对数据库的热数据进行缓存是一种常见方案,但是如何保证缓存的数据和数据库的数据一致性呢?本文将进行详细的探讨。常见的设计有如下三种:一、先更新数据库再更新缓存数据库有对应操作的时候,则操作对应的缓存,即数据库插入,则缓存插入;数据库更新缓存更新;数据库删除,缓存删除。此种方案常见于缓存的数据比较简单,不需要复杂计算的过程中。1.1 优点缓存不会miss, 命中

    2020/03/29
  • 知乎小白入门_网络问答社区,连接各行各业的用户

    知乎使用说明 官方网址:https://www.zhihu.com 简介描述:网络问答社区,连接各行各业的用户 知乎是网络问答社区,连接各行各业的用户。用户分享着彼此的知识、经验和…

    2020/03/06
  • Normalize.css零基础入门浏览器更加一致地呈现所有元素,并符合现代标准。

    Normalize.css基础入门 官方网址:http://necolas.github.io/normalize.css/ GitHub:https://github.com/n…

    2020/03/05
  • angularjs-slider使用帮助_面向AngularJS的slider 指令实现

    angularjs-slider使用帮助 官方网址:http://angular-slider.github.io/angularjs-slider/ GitHub:https:/…

    2020/03/06
  • 程序猿跳槽季,为什么你的薪水总升不上去?【转载】小白入门_程序员使用教程

    作者简介:马云飞,一名 Android 程序猿,扯扯技术,聊聊人生。有个人公众号「我就是马云飞」,如若喜欢本文,不妨关注看看。现在身处跳槽高峰季,作为即将跳槽的我,在这里分享几点建议给大家。简历怎么投?众所周知,找工作的前提是面试,面试的前提是过了简历,过了简历的前提是你怎么投。这边我不分析简历怎么写,来说说怎么投。在座的各位,有在校生,有毕业生,还有工作几

    2020/04/05
  • img中alt和title属性的区别零基础入门_区别入门攻略

    在图像标签img中,除了常用的宽度width和高度height属性之外,还有两个比较重要并且也会用到的属性,就是alt和title,这都是用来显示图片内容的具体信息的,但是这两个属性也有不同的地方。alt 用来给图片来提示的,title用来给链接文字或普通文字提示的。

    <meta

    2020/03/26
  • 拼图.pintuer菜鸟知识跨屏响应式布局前端开发CSS框架

    拼图.pintuer基础入门 官方网址:http://www.pintuer.com/ 简介描述:跨屏响应式布局前端开发CSS框架 拼图是优秀的响应式前端CSS开源框架,国内前端框…

    2020/03/05
  • UIgradients入门基础教程_简洁舒服的渐变配色

    UIgradients入门基础教程 官方网址:https://uigradients.com/ 简介描述:简洁舒服的渐变配色 UIgradients是一个提供免费渐变色效果的站点,…

    2020/03/10