高并发、高性能、高可用

三高

也就是所谓的高并发、高可用、高性能。这三者的关系是,当今的互联网高并发出现的情况比较多,为了解决高并发,所以我们需要保证系统的高可用和高性能。这三者的评判指标是,高并发方面要求 QPS(Queries Per Second,每秒查询率) 大于 10 万,高性能方面要求请求延迟小于 100 ms,高可用方面要高于 99.99%。

高并发

高并发是指能在同一时间内正确处理更多的请求

负载均衡

高并发首选方案就是集群化部署,一台服务器承载的QPS有限,多台服务器叠加效果就会有明显提升。当有集群以后,就需要把流量引到集群中某个节点,这时候就需要用到负载均衡

池化技术

复用单个连接无法承载高并发,如果每次请求都新建连接、关闭连接,考虑到TCP的三次握手、四次挥手,需要花费大量开销。池化技术的核心是资源的“预分配”和“循环利用”,常用的池化技术有线程池、连接池、进程池、对象池、内存池、协程池

流量过滤

做好前置校验,对于非法的、不符合要求的请求,设计好过滤器进行过滤,在进行真正的业务逻辑处理之前,先对流量过滤一轮,减少并发压力

消息队列

有些业务涉及到的处理流程非常多,但是很多步骤并不要求实时性,那么我们就可以通过消息队列异步处理。一般像秒杀、抽奖、抢卷这种活动都会伴随短时间内海量的请求, 一般都超过后端的处理能力,那么我们就可以在接入层将请求放到消息队列里,后端根据自己的处理能力不断从队列里取出请求进行业务处理,起到平均流量的作用。

高性能

高性能是指程序处理速度非常快,所占内存少、CPU 占用率低,解决方案有:避免因为 IO 阻塞让 CPU 闲置,导致 CPU 的浪费。

缓存技术

使用缓存减少IO次数,从而提高性能

磁盘技术

磁盘的数据读写效率低,而且比较耗费性能,所以我们可以把数据先写到内存中,然后在规定时间再写入磁盘

数据库优化

使用索引和查询优化可以提高数据库查询速度

网络传送优化

例如Dubbo底层基于dubbo协议,这样可以免除了http的3次握手等通信过程

添加硬件设备

使用更高效的cpu、内存等

高可用

高可用系统能够长时间的正常运行

微服务架构

利用微服务架构,分散能力,使得各个模块独立成为一个小系统,降低系统间的耦合性,提高系统对外提供正常服务的能力

熔断限流

熔断与限流,二者的目的都是提供过载保护,保证系统不至于崩溃,无法使用

分布式+集群部署

在高并发场景下,一个服务的部署,不应该只部署在一台服务器上,起码 3 台以上,这样,一台服务器宕机了,还有另外的服务器能正常使用并对外服务,这样就用到了集群的部署方式。
而采用微服务架构,也不应该把每个独立的小系统都部署在同一台服务器上,一个小系统就是一台服务器,这就使用了分布式部署。

Java-Base64算法_创新_防止表单重复提交 JAVA企业级基础课题(HashMap那些事) 企业架构师必备技能(JAVA核心技术反射) JavaWeb之基础(手写实现Tomcat服务器) java多线程编程 纯手写实现SpringIOC实现过程 JEE企业级开发(企业级项目开发权威指南) 网络爬虫之JAVA正则表达式 手写springMVC框架 老司机带你透析springMVC内部实现方式 打造高效代码结构(java性能优化) 新版本通俗易懂_观察者模式递进时讲解 ibatis连接数据库 高并发之单(多)生产者消费者线程 高并发复用数据库链接技术详解之数据库连接池 类加载器的高级特性(自定义类加器实现加密解密) iBATIS开源主流框架(实现半自动化hibernate) 企业实用技能之详解(眼睛横纹模式验证码防止恶意登陆) 动态页面的静态化处理 图片上传技术 在springMVC中实现原始的Excel文件下载方式 企业级分布式缓存技术之(redis详解) 企业高并发基石(Tomcat服务器性能优化) spring事务处理 课程文档 高并发之基础数据MySql调优 mongodb 三级联动课程资料 应用架构之灵魂设计模式 应用架构之魂设计模式实战演练应用架构之魂设计模式实战演练 揭开springAOP神秘面纱(动态代理) Mysql性能优化之索引优化 写实现Tomcat服务器 移动后台端框架设计 公司级框架原理解析 解密公司内部框架开发(打造属于自己的专属框架) 手写Tomca之深度解析动态资源请求原理 深度解析springMVC实现原理(手写springMVC框架) Java验证码 正则黑名单爬虫系统 深入数据库连接池内部运转原理 分布式服务下的交易一致 企业必备技能之面向服务编程Web-Service详解 分布式服务下的交易一致性原理及解决 分布式服务框架(dubbo+zookpeer) WEB高级前后台分离思维-懒加载无限级树形菜单 动态页面的静态化处理 大并发展示优化,动态页面的静态化 深入理解JDK动态代理本质 企业级高并发缓存解决方案 性能优化之Oracle语句优化雾区 前后台数据验证架构源码级解析 session跨域共享 JAVANIO原理详解 高并发数据库(Mysql数据库性能优化) 软件质量管控 企业常用框架springMVC基于注解+xml配置方式实现链接 WEB服务器优化之Tomcat7性能调优 JVM概述 Java开发技术之(项目工程的日志管理) 数据库连接池原理详解 Java企业级框架之核心技术(反射) Java-Base64算法(创新_防止表单重复提交) 揭开springAOP神秘面纱之动态代理 网络爬虫之JAVA正则表达式
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值