高并发高可用架构设计之简介

masy masy     2023-03-17     498

关键词:

设计一个好的架构需要满足:高并发、高性能、高可用 三个条件。
举一个实际的例子,如高并发方面要求QPS 大于 10万;高性能方面要求请求延迟小于 100 ms;高可用方面要高于 99.99%。
注:QPS(Query Per Second):每秒请求数,就是说服务器在一秒的时间内处理了多少个请求。

高并发

高并发指的是系统能够同时处理大量请求。
解决高并发的首选方案当然是集群化部署啦,一台服务器的QPS是有极限的,那就多加几台服务器来分担了。
用了集群化部署,就要考虑如何将流量分发到集群,这就用到了负载均衡技术,目前流行的是 LVSNginx
常用的负载算法有轮询法、随机法、源地址哈希法、加权轮询法、加权随机法、最小连接数法等。
注:LVS 负责网络四层协议转发,无法按 HTTP 协议中的请求路径做负载均衡,所以还需要 Nginx。

业务实战:对于千万级流量的秒杀业务,一台LVS扛不住流量洪峰,通常需要 10 台左右,其上面用DDNS(Dynamic DNS)做域名解析负载均衡。搭配高性能网卡,单台LVS能够提供百万以上并发能力。

高性能

高性能是指系统处理单个请求的响应时间,这个指标对用户来说是最直观的,也是最能提现代码编写的好坏的能力的。
影响系统性能有如下几个方面

  • 用户网络环境
  • 请求/响应的数据包大小
  • 业务系统 CPU、内存、磁盘等性能
  • 业务链路的长度
  • 下游系统的性能
  • 算法实现是否高效

高可用

高可用是指服务可用时长,以及故障恢复等。
解决方案有主备切换,减少故障时间;熔断,提供过载保护;限流,提供过载保护;降级等。

参考:https://mp.weixin.qq.com/s?__biz=MzU0OTE4MzYzMw==&mid=2247513248&idx=4&sn=88b61bd33f61bdae70e697bb229d5737&chksm=fbb13d5eccc6b44867a933514addc8b59098d5233fa39eccf912c0e43249745d26c378d0f3b1&scene=27

高并发高可用架构设计之简介

设计一个好的架构需要满足:高并发、高性能、高可用三个条件。举一个实际的例子,如高并发方面要求QPS大于10万;高性能方面要求请求延迟小于100ms;高可用方面要高于99.99%。注:QPS(QueryPerSecond):每秒请求数,就是说服务... 查看详情

高并发高可用架构设计之简介

设计一个好的架构需要满足:高并发、高性能、高可用三个条件。举一个实际的例子,如高并发方面要求QPS大于10万;高性能方面要求请求延迟小于100ms;高可用方面要高于99.99%。注:QPS(QueryPerSecond):每秒请求数,就是说服务... 查看详情

架构高可用高并发系统的设计原则

...该这么学》学习笔记及自己的感悟:架构设计之高可用高并发系统设计原则,架构设计包括墨参考技术A通过学习《亿级流量网站架构核心技术》及《linux就该这么学》学习笔记及自己的感悟:架构设计之高可用高并发系统设计原... 查看详情

成为架构师课程系列高并发系统设计的三大目标:高性能高可用可扩展

...计,你可能听到最多的词儿就是 三高,也就是 高并发、高性能、高可用,它们是互联网系统架构设计永恒的主题。在前两节课中,我带你了解了高并发系统设计的含义,意义以及分层设计原则,接下来,我想带你整体了... 查看详情

java架构师大型分布式综合项目实战,高并发,集群,高可用,程序设计,性能优化,架构设计,负载均衡,大数据量

...F0}15套java架构师、集群、高可用、高可扩展、高性能、高并发、性能优化、Springboot、Redis、ActiveMQ、Nginx、Mycat、Netty、Jvm大型分布式项目实战视频教程 视频课程包含:高级Java架构师包含:Springboot、Spring& 查看详情

1.mysql之mha高可用(01)(代码片段)

1.前言  在众多的Mysql高可用架构中,MHA架构目前属于现在比较成熟且岁数比较年长的架构之一了,目前,在Mysql的业界比较流行的高可用架构除了MHA,还有官方的MGR高可用架构、Percona公司出品的PXC(perconaXtraDBCluster)高可用架构... 查看详情

构建高并发高可用的电商平台架构实践

从各个角度总结了电商平台中的架构实践,由于时间仓促,定了个初稿,待补充完善,欢迎大家一起交流。转载请声明出处:http://blog.csdn.net/yangbutao/article/details/12242441作者:杨步涛关注分布式架构、大数据、搜索、开源技术QQ:30... 查看详情

构建高并发高可用的电商平台架构实践(转)

转载自:http://blog.csdn.net/yangbutao/article/details/12242441一、 设计理念  1.      空间换时间1)      多级缓存,静态化客户端页面缓存(httpheader中包含Expires 查看详情

成为架构师课程系列怎样进行高性能高可用的高并发系统的设计?

为什么要学习高并发系统设计?在解答「为什么要学习高并发系统设计」之前,我想让你思考几个问题:在微博中,明星动辄拥有几千万甚至上亿的粉丝,你要怎么保证明星发布的内容让粉丝实时地看到呢?淘宝双十一,当你和... 查看详情

看过来!商城系统的三高(高并发高性能高可用)了解一下!

...师在设计系统时要考虑到业务功能的实现,保证系统的高并发性和高可用性。下面就带大家了解什么是高并发?什么是高性能?什么是高可用?1、商城高并发(HighConcurrency)图片来自互联网, 查看详情

im即时通讯开发:高可用易伸缩高并发的im群聊单聊架构方案设计

要实现一整套能用于大用户量、高并发场景下的IM群聊,技术难度远超IM系统中的其它功能,原因在于:IM群聊消息的实时写扩散特性带来了一系列技术难题。举个例子:如一个2000人群里,一条普通消息的发出问题,将瞬间写扩... 查看详情

高并发之网络io模型

你好,我是坤哥今天我们聊一下高并发下的网络IO模型高并发即我们所说的C10K(一个server服务1w个client),C10M,写出高并发的程序相信是每个后端程序员的追求,高并发架构其实有一些很通用的架构设计,如无锁化,缓存等,今... 查看详情

互联网三高设计之高可用设计

前言高可用(Highavailability,即HA)的主要目的是为了保障「业务的连续性」,即在用户眼里,业务永远是正常(或者说基本正常)对外提供服务的。高可用主要是针对架构而言,那么要做好高可用,就要首先设计好架构,第一步... 查看详情

架构之高可用性(ha)集群(keepalived)

...p;Keepalived简介  Keepalived是Linux下一个轻量级别的高可用解决方案。高可用(HighAvalilability,HA),其实两种不同的含义:广义来讲,是指整个系统的高可用行,狭义的来讲就是之主机的冗余和接管,  它与HeartBeatRoseHA实... 查看详情

高并发系统设计:系统设计目标②系统怎样做到高可用?

通常来讲,一个高并发大流量的系统,系统出现故障比系统性能低更损伤用户的使用体验。可用性的度量可用性是一个抽象的概念,你需要知道要如何来度量它,与之相关的概念是:MTBF和MTTR。MTBF(MeanTimeBetweenFailure)是平均故... 查看详情

java从入门到架构师|高并发|高性能|高可用|分布式|性能调优|设计模式|大型电商项目

没有设计的思想,你就不能成为一名架构师。架构师是一个能撸的了一手好代码,画的了一个漂亮的UML/原型,写的了一篇技术文档,更加能解决好项目关键技术的综合人才。架构师=前端工程师+后端程序员+系统分析师+关键技术... 查看详情

高并发高可用的架构实践-静态架构蓝图

高并发高可用的架构实践参考博客:https://blog.csdn.net/taotoxht/article/details/46931045二、 静态架构蓝图  整个架构是分层的分布式的架构,纵向包括CDN,负载均衡/反向代理,web应用,业务层,基础服务层,数据存储层。水... 查看详情

互联网三高设计之高并发

一、什么是​高并发​高并发(HighConcurrency)是互联网分布式系统架构设计中必须考虑的因素之一,它通常是指,通过设计保证系统能够同时并行处理很多请求。高并发相关常用的一些指标有响应时间(ResponseTime),吞吐量(Thr... 查看详情