分布式系统设计之高性能、高可用与高并发
概述
- 在现代的互联网应用设计当中,通常会提到应用系统需要达到高性能,高可用和高并发这三“高”目标,其中这三个概念既有联系又有区别。
高性能
- 首先高性能是指应用系统对于客户端请求的处理速度快,响应时间短,对于用户来说就是该应用的操作流畅,拥有良好的用户体验。所以高性能是应用系统所需要具备的基本条件,不过不同业务的高性能的定义会有差别,如在线网络游戏需要保证在毫秒级别的响应时间,否则会让用户感觉非常卡顿,而银行转账系统则可以是秒级别,如10秒内,用户还是可以接收的。
高可用
- 高可用是指在任何时候用户都可以正常使用系统,不能出现系统无法提供服务的情况,如我们经常会听到的需要保证系统的“7*24”可用或者多少个9的可用性保证,如99.9%,99.99%,99.999%等,就是高可用方面的要求。高可用是应用系统稳定性方面的一个定义,不同系统对于可用性方面的要求也是不一样,如股票交易系统在交易时间段内是不能出现任何不可用情况发生的,而企业内部OA系统则可以容忍某些时间点的不可用。
高并发
- 高性能和高可用是应用系统设计需要达到的目标,只有系统保证高性能和高可用才能让用户用得开心与放心,才能吸引更多的用户来使用该应用。在流量就是价值的今天,这两个方面的目标对企业发展具有重要意义。
- 不过高性能与高可用的实现难点是如何在处理高并发流量时继续保持。因为如果并发请求流量不大,则系统拥有充足的资源来快速处理每个请求,并且不会出现系统过载导致宕机的问题,所以性能和可用性方面是很容易得到保证的。但是如果是高并发场景,即每秒会有成千上万,甚至更多的请求发送给应用系统,则应用系统可能会无法同时快速处理所有请求而导致响应慢,甚至系统资源耗尽导致宕机,出现服务不可用的场景。
总结
- 所以高并发是原因,高性能和高可用是结果,即因为在并发量不大的场景中,应用系统的性能和可用性很容易得到保证,但是在高并发场景中,由于机器处理能力有限,则需要额外考虑应用系统的性能和可用性问题,目标是在高并发场景中,应用系统依然能够保持高性能和高可用。
分布式系统设计之高性能、高可用与高并发相关推荐
- 微信开源PhxQueue:高可用、高可靠、高性能的分布式队列**
消息队列概述 消息队列作为成熟的异步通信模式,对比常用的同步通信模式,有如下优势: 解耦:防止引入过多的 API 给系统的稳定性带来风险:调用方使用不当会给被调用方系统造成压力,被调用方处理不当会降低 ...
- 全面认识高并发:高性能、高可用、高扩展
Table of Contents 01 如何理解高并发? 02 高并发系统设计的目标是什么? 2.1 宏观目标 2.2 微观目标 ❇ 性能指标 ❇ 可用性指标 ❇ 可扩展性指标 03 高并发的实践方 ...
- 高并发、高可用、高负载、分布式架构
微博短视频百万级高可用.高并发架构如何设计? 抖音微博等短视频千万级高可用.高并发架构如何设计? 从零到百亿级,揭秘科大讯飞广告平台架构演进之路 苏宁Spring Cloud微服务脚手架工具实践分享 ...
- 抽奖活动的高可用、高并发优化
这几年工作中做过不少营销活动,这里以抽奖活动为例,讨论一下如何设计出一个高可用.高并发的营销系统. 高可用.高并发架构的核心是分流和限流.系统架构时,应根据每一种营销活动的场景与特性,制定不同的分流. ...
- 阿里高可用、高并发不传之秘!Spring Cloud+Nginx架构核心编程笔记限时开源!
Spring Cloud+Nginx相结合的分布式Web应用架构已经成为IT领域应用架构的事实标准.Spring Cloud+Nginx架构具有高度可伸缩.高可用.高并发的能力,这使其成为各新产品.新 ...
- MySQL高可靠_MySQL高可用与高可靠架构
前言 数据库高可用是生产环境使用数据库必要条件,MySQL数据库通常使用复制技术实现.然MySQL复制本身存在很多的"坑"容易被忽视,导致一些开发或运维人员对于MySQL复制的可靠 ...
- oom 如何避免 高并发_微博短视频百万级高可用、高并发架构如何设计?
本文从设计及服务可用性方面,详细解析了微博短视频高可用.高并发架构设计中的问题与解决方案. 今天与大家分享的是微博短视频业务的高并发架构,具体内容分为如下三个方面: 团队介绍 微博视频业务场景 &qu ...
- 微博短视频千万级高可用、高并发架构如何设计?
作者:刘志勇,本文来自新浪微博视频平台资深架构师刘志勇在 LiveVideoStackCon 2018 讲师热身分享,并由 LiveVideoStack 整理而成. 本文从设计及服务可用性方面,详细解 ...
- 架构应用之高可用、高复用
架构应用之高可用.高复用 . 一.存储高可用 存储的高可用,主要是通过数据冗余的方式来实现高可用,复杂性主要是在如何保持数据一致性,复制延迟和网络中断都会带来数据不一致.主要考虑的就是,数据如何复制, ...
最新文章
- 自己写的Treeview控件绑定数据源
- Android应用内多进程分析和研究
- prometheus连续查询_Grafana + Prometheus快速搭建监控平台
- mysql的innodb如何定位锁问题,mysql如何减少主从复制延迟?
- CSDN开播工具-嘉宾端使用说明
- 突击计划——求整数中的较大者
- 学习Oracle分析函数(Analytic Functions)
- 自动布局和view 设置frame同时有效
- Monterey Cache Cleaner 17 for mac(苹果系统维护软件)
- 读取cpu温度的api_读取CPU核心温度
- 10min说完淘宝最初10年的产品故事
- 【Educational Codeforces Round 61 (Rated for Div. 2) D.Stressful Training】二分
- 【研究报告】从单目深度估计到单目三维场景重建-沈春华老师-VALSE Webinar 22-13(总第279期)
- 珍藏了很久的特效例子,分享给前端感兴趣的同学
- BAT云战争新动向:收编“旧军”,占山为王
- Oracle误删除数据的恢复方法(转)
- pdn阻抗测试_基于SIWAVE的PDN阻抗仿真与测试对比
- 【设cache的容量为214块,每块是一个32位字,主存容量是cache容量的256倍,其中有如表4.11所示数据(地址和数据均采用十六进制表示)】
- 使用python来嗅探局域网内的QQ号码
- JS 获取某个时间距离现在时间有多少时分秒