如何打造一个高并发,处理海量数据,高性能,易扩展,可伸缩,高可用的网站?

简而言之,采用分布式系统,分布式应用和服务,分布式数据和存储,分布式静态资源,分布式计算,分布式配置和分布式锁。

负载均衡,故障转移,实现高并发

高可用:

主要是利用冗余数据的原理,应用和服务器部署在多台机器上,数据存储部署在多台机器上,在多台机器上利用mysql的主从分离实现多态服务器数据相互备份,万一有一台服务器宕机,直接转移另外一台数据服务器上读取数据。也不会导致数据丢失。

对于应用服务器,可以通过nginx负载均衡实现设备组成一个集群,如果有服务器宕机,就需要把请求切换到其他服务器上,这样级可以实现高可用,但是,在应用服务器上不能保存请求的会话信息,服务器宕机,会话丢失,即使将用户请求转发到其他服务器上也无法完成业务处理。

对于存储服务器,它是存储数据,数据需要实时备份,当服务器宕机时,只需要将请求转移到其他可用的服务器上即可。

集群:可伸缩性

伸缩性是指可以动态的向集群服务器中添加一个节点或者减少一个节点。

但是,对于缓存服务器,添加节点或者减少节点都会导致数据不可读,虽然可以通过从新访问数据库获得数据,但是,如果应用已经严重依赖缓存,读取那些无法访问的数据,也会导致整个网站瘫痪,所以要改进路由算法来保证缓存数据的可读性。

异步:各个系统之间越独立,它们之间关系越少,越好

单一服务器可以通过多线程实现共享内存队列的方式实现异步,将处在业务前面的线程将输出写入队列,后面的线程将从队列中读取数据进行处理。在分布式系统中,多个服务器集群通过分布式消息队列实现异步,分布式消息可以看成是内存队列的分布式部署。

1.松耦合,异步架构是典型的消费者和生产者模式,两者之间不存在直接调用,只要保持数据结构一致,彼此功能可以随意改动没有任何影响,可扩展性高。

2.提高可靠性,一旦消费者服务器发声故障,数据会在消费者消息队列中堆积,不会影响生产者可以继续处理业务请求,系统整体表现无故障,消费者服务器恢复后,继续处理消费者消息队列数据。

3.加快网页反应速度,处在业务处理前的生产者将消息传递给消息队列后,不需要等待消费者返回消息就可以直接返回,响应延迟减少。比如:秒杀业务等。

4.消除并发访问高峰,双11等活动高峰,可能会造成网站并发量大,负载过重,响应延迟,严重甚至宕机,使用消息队列就会将请求数据的消息放入消息队列中,等服务器依次处理,就不会造成服务器压力大,负载过重等情况。

冗余:

利用服务器冗余运行,数据冗余备份,这样当某台服务器宕机的时候,可以将其上的服务和数据访问转移到其他服务器上。

访问和负载很小的服务也必须部署至少两台服务器构成的一个集群,其目的就是通过冗余实现高可用。数据库除了定期备份,实现冷备份外,为了保证在线业务高可用,还需要对数据库进行主从分离(ameba),实时同步实现热备份。

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
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、付费专栏及课程。

余额充值