如何应对高并发

#高并发应对方案

架构方面
  • 分层

对系统架构的分层,分为展示层,业务层,服务层,数据层等,可以使得分工明确,实现解耦,便于管理

按业务种类分层,可以实现服务化,解耦。

  • 分布式(即模块服务化)

不同的功能模块以服务的方式在不同服务器上提供,可以分解单台服务器的负担

  • 集群

在分布式的基础上,对访问频率高的模块再进行集群部署,通过负载均衡协同对外提供服务,可以分解高并发量模块对服务器的压力

前端
  • DNS

实现同一个域名转发到不同IP,负载均衡。

  • CDN

就近访问,用户将会访问存放热点资源和静态资源的最近的服务器。

反向代理(缓存静态资源,无需后端服务支持)

应用层
  • 应用缓存

即应用服务器本地缓存热点资源(对象形式),减少对数据库访问次数

  • 分布式缓存

数据特征:热点数据,读比写多,不会马上失效),例如terracotta的bigmemory

  • 异步

一方面可以应用在单机多线程中,将业务线程放入队列处理。另一方面可以应用在分布式系统中,通过分布式消息实现服务请求相应的异步

异步可以加快网站响应速度,有效实现高并发的销峰。

数据库

读写分离(主从数据库)

数据库拆分(垂直/水平)

必用数据库(容灾)

框架缓存(例如Hibernate的一二级缓存)

#高并发带来的问题和解决方案

事务问题(一致性)

容器事务管理

锁机制

隔离机制

状态问题(session)

  • 用cooke记录sesion

缺点是有大小限制,另外不稳定,客户端可能关闭浏览器导致数据丢失,且不安全

  • session复制

即集群中的服务器都持有一份sesion,每次有数据变化时需要同步给其他服务器,适合小规模网站

  • session绑定

由负载均衡服务器将客户的IP/cookie与session绑定,实现会话粘滞。

但这种方案缺乏高可用性,因为客户的关闭浏览器可能会改变cookie,客户端IP也可能变化,服务器端也可能宕机导致session丢失。

  • session服务器

包含两个层面,

一个是利用分布式缓存,可以实现会话的保持,适合一般集群需求

另一个是独立session服务器,适合更高要求的需求,例如单点登录(SSO)

原创文章,作者:QCUHW,如若转载,请注明出处:http://www.wangzhanshi.com/n/12851.html

(0)
QCUHW的头像QCUHW
上一篇 2025年1月1日 17:07:16
下一篇 2025年1月1日 17:07:18

相关推荐

  • CDN的基本原理和用处

    网站那些事内容分发网络(Content Delivery Network,简称CDN)是建立并覆盖在承载网之上,由分布在不同区域的边缘节点服务器群组成的分布式网络。网站那些事CDN…

    2025年1月1日
  • cdn能加速的原理是什么

    用户在购买网站那些事的CDN服务之后,在使用过程中会比较关心是否有实际效果,首先大家要先确保是否已经开通成功,然后按照基本步骤添加加速域名、配置CNAME,这些都成功搞定之后,接下…

    2025年1月2日
  • CDN和游戏加速器有什么区别

    很多懂IT的游戏玩家都会将CDN和游戏加速器混淆,实际上从效果上看,CDN和网游加速器都具备让网络访问变快的能力,可以帮助玩家游戏的体验和访问效率提升,但是在它们在原理上是有本质区…

    2025年1月1日
  • cdn能防ddos攻击吗

    随着最近两年,互联网络技术不断改进,cdn已经不再简单的给网页提供加速了,而是能够更好的保护网站不被攻击,完好的保护好网站,成为了cdn系统运行中的主要责任。那么cdn能防ddos…

    CDN加速 2025年1月1日
  • 如何用CDN给网站加速

    随着互联网的发展以及视频直播行业的大火,国内的CDN行业逐渐得到了重视,迎来的整个行业发展的黄金期。 CDN技术是近年来在美国首先兴起的,并且得到了迅速发展的一种解决互联网性能不佳…

    CDN加速 2025年1月1日
  • 关于cdn的工作原理的简单介绍

    用户在购买网站那些事的CDN服务之后,在使用过程中会比较关心是否有实际效果,首先大家要先确保是否已经开通成功,然后按照基本步骤添加加速域名、配置CNAME,这些都成功搞定之后,接下…

    2025年1月1日
  • 怎么在cdn模式中使用vue

    我们知道jq是简化了dom操作,而react和vue则是通过使用虚拟dom的方式,不需要频繁的更改ui界面,而是通过更改数据的方式来更新界面。我们知道些jq插件时会在IFFE中传入…

    2025年1月1日
  • cdn服务器种类和好处

    用户在购买网站那些事的CDN服务之后,在使用过程中会比较关心是否有实际效果,首先大家要先确保是否已经开通成功,然后按照基本步骤添加加速域名、配置CNAME,这些都成功搞定之后,接下…

    2025年1月2日
  • CDN与缓存加速有什么区别

    对于cdn加速可能网站的经营者们都不是陌生,它是内容分发网络,通过在网络各处放置节点服务器所构成的在现有的互联网基础之上的一层虚拟网络。CDN系统能够根据到用户的距离和响应时间等综…

    CDN加速 2025年1月1日
  • cdn服务器有什么用

    介绍 CDN,英文全称为Content Delivery Network,也就是内容分发网络(或者内容传送网络),这是一种用来改善互联网质量的技术。 互联网相应知识 首先我们先谈一…

    CDN加速 2025年1月1日

发表回复

登录后才能评论