高并发
小飞侠-2
我的github地址https://github.com/liujiekasini 欢迎大家分享讨论
展开
-
一例千万级pv高性能高并发网站架构图
一个支撑千万级PV的网站是非常考验一个架构是否成熟、健壮(本文不涉及软件架构的层面,有兴趣也可以讨论)。现抛出一个系统层面的架构,不保证是最优的方案,但也许适合你。理由是再优秀的架构都不具备通用性,需要根据每种应用特点针对性来设计。希望起到抛砖引玉的作用,大家多多参与,发表意见。架构说明:架构中直接引入软件名称的模块,是个人推荐使用的,如Haproxy、Hadoop等;关于转载 2016-11-07 13:54:37 · 4347 阅读 · 0 评论 -
mysql+spring+mybatis实现数据库读写分离[代码配置]
场景:一个读数据源一个读写数据源。原理:借助spring的【org.springframework.jdbc.datasource.lookup.AbstractRoutingDataSource】这个抽象类实现,看名字可以了解到是一个路由数据源的东西,这个类中有一个方法[java] view plain copy /**转载 2017-03-20 10:42:33 · 499 阅读 · 0 评论 -
Mysql主从配置,实现读写分离
大型网站为了软解大量的并发访问,除了在网站实现分布式负载均衡,远远不够。到了数据业务层、数据访问层,如果还是传统的数据结构,或者只是单单靠一台服务器扛,如此多的数据库连接操作,数据库必然会崩溃,数据丢失的话,后果更是 不堪设想。这时候,我们会考虑如何减少数据库的联接,一方面采用优秀的代码框架,进行代码的优化,采用优秀的数据缓存技术如:memcached,如果资金丰厚的话,必然会想到假设服务器群,来转载 2017-03-20 10:32:58 · 336 阅读 · 0 评论 -
聊聊高并发(二)结合实例说说线程封闭和背后的设计思想
高并发问题抛去架构层面的问题,落实到代码层面就是多线程的问题。多线程的问题主要是线程安全的问题(其他还有活跃性问题,性能问题等)。那什么是线程安全?下面这个定义来自《Java并发编程实战》,这本书强烈推荐,是几个Java语言的作者合写的,都是并发编程方面的大神。线程安全指的是:当多个线程访问某个类时,这个类始终都能表现出正确的行为。正确指的是“所见即所知”,程序执行的结果和转载 2017-02-15 11:06:52 · 395 阅读 · 0 评论 -
千万级并发连接的秘密
既然我们已经解决了过万并发连接(C10K concurrent connection problem)的问题,现在如何升级到支持千万级的并发连接?你会说:“不可能”。不,现在,一些系统通过使用一些不广为人知的先进技术,已经能够提供千万级的并发连接。为了明白这是如何实现,我们找到了Errata Security的CEO—— Robert Graham和他在Shmoocon 2013上精彩转载 2017-03-01 15:31:15 · 1169 阅读 · 0 评论 -
MySQL数据库分表的3种方法
一,先说一下为什么要分表当一张的数据达到几百万时,你查询一次所花的时间会变多,如果有联合查询的话,我想有可能会死在那儿了。分表的目的就在于此,减小数据库的负担,缩短查询时间。根据个人经验,mysql执行一个sql的过程如下:1,接收到sql;2,把sql放到排队队列中 ;3,执行sql;4,返回执行结果。在这个执行过程中最花时间在什么地方呢?第一,是排队等待的时间,第二,sql转载 2016-12-12 16:12:27 · 444 阅读 · 0 评论 -
服务器双机热备概述
双机热备工作意图如上所示。 问:什么时候需要双机热备呢? 答:这个问题其实比较简单,一般服务器要长年累月的工作,其备份工作就绝对少不了。所以,决定是否使用双机热备,笔者觉得应首先对系统的重要性,以及终端用户对服务中断的容忍程度进行考虑,然后再来决定是否使用双机热备。比如网络中的用户最多能容忍多长时间恢复服务?如果服务不能很快恢复会造成什么样的后果等等。转载 2016-12-12 16:11:31 · 9671 阅读 · 0 评论 -
两台WEB服务器(LAMP)通过DNS轮询功能实现负载均衡
两台web实现负载均衡,通过NFS把网页文件共享出来,把mysql独立出来实验环境准备:三台服务器server1:172.16.0.22(Web+PHP+DNS)---->/wwwserver2:172.16.0.23(Mysql)--->/dataserver3:172.16.0.24(Web+PHP+NFS)--->/www/users/test.com转载 2016-12-12 16:10:54 · 2097 阅读 · 0 评论 -
java中的缓存技术该如何实现
1缓存为什么要存在?2缓存可以存在于什么地方?3缓存有哪些属性?4缓存介质?搞清楚这4个问题,那么我们就可以随意的通过应用的场景来判断使用何种缓存了.1. 缓存为什么要存在?一 般情况下,一个网站,或者一个应用,它的一般形式是,浏览器请求应用服务器,应用服务器做一堆计算后再请求数据库,数据库收到请求后再作一堆计算后把数据 返回给应用服务器,应用服务器再作一堆计算转载 2016-12-12 16:10:29 · 1966 阅读 · 0 评论 -
如何学习高并发
1. 前端:异步请求+资源静态化+cdn 2. 后端:请求队列+轮询分发+负载均衡+共享缓存 3. 数据层:redis缓存+数据分表+写队列 4. 存储:raid阵列+热备 5. 网络:dns轮询+DDOS攻击防护原创 2016-12-12 16:03:29 · 909 阅读 · 0 评论 -
高并发web系统设计
一、一般高并发web系统这里的一般指的是秒杀之类的电子商务系统,比如说小米抢购、淘宝双十一、秒杀活动等等,12306订票网站与其有本质区别,下面会有说到。系统架构图下图是我调查众多资料总结出的系统架构图,当然这也不能作为通用的解决方案,首先像淘宝等企业公布的资料肯定不是最先进或者是性能最好的,其次具体情况还需具体分析。核心技术点前端优化 前端优化主要包括动态内转载 2016-11-15 14:31:07 · 2369 阅读 · 0 评论 -
java web开发 高并发处理
java处理高并发高负载类网站中数据库的设计方法(java教程,java处理大量数据,java高负载数据) 一:高并发高负载类网站关注点之数据库 没错,首先是数据库,这是大多数应用所面临的首个SPOF。尤其是Web2.0的应用,数据库的响应是首先要解决的。一般来说MySQL是最常用的,可能最初是一个mysql主机,当数据增加到100万以上,那么,MySQL的效能急剧下降。常用的转载 2016-11-15 14:27:28 · 1809 阅读 · 0 评论 -
手把手让你实现开源企业级web高并发解决方案
本来想起个比较风趣点的标题,可想来思去,还是走常规路线,做一系列的手把手吧。这样一来,便于我的老朋友们识别,也让我对这篇文章的粒度把我有个定位。 本篇博文主要介绍利用开源的解决方案,来为企业搭建web高并发服务器架构花了一个多小时,画了张图片,希望能先帮你理解整个架构,之后我在一一介绍.linux的大型架构其实是一点点小架构拼接起来的,笔者从各个应用开始配置,最后在完全整合起来,以实现转载 2016-11-15 14:26:49 · 575 阅读 · 0 评论 -
大型高并发高负载web应用系统架构-数据库架构策略
在WEB网站的规模从小到大不断扩展的过程中,数据库的访问压力也不断的增加,数据库的架构也需要动态扩展,在数据库的扩展过程基本上包含如下几步,每一个扩展都可以比上一步骤的部署方式的性能得到数量级的提升。 1、WEB应用和数据库部署在同一台服务器上 一般的小规模的网站采用这种方式,用户量、数据量、并发访问量都比较小,否则单台服务器无法承受,并且在遇到性能瓶颈的时候升转载 2016-11-15 14:26:11 · 783 阅读 · 0 评论 -
聊聊高并发系统之降级特技
在开发高并发系统时有三把利器用来保护系统:缓存、降级和限流。之前已经有一些文章介绍过缓存和限流了。本文将详细聊聊降级。当访问量剧增、服务出现问题(如响应时间慢或不响应)或非核心服务影响到核心流程的性能时,仍然需要保证服务还是可用的,即使是有损服务。系统可以根据一些关键数据进行自动降级,也可以配置开关实现人工降级。本文将介绍一些笔者在实际工作中遇到的或见到过的一些降级方案供大家参考。转载 2016-11-02 09:19:48 · 6096 阅读 · 0 评论 -
聊聊高并发
聊聊高并发之隔离术博客分类: 架构隔离是指将系统或资源分割开,系统隔离是为了在系统发生故障时能限定传播范围和影响范围,即发生故障后不会出现滚雪球效应,从而保证只有出问题的服务不可用,其他服务还是可用的;而资源隔离有脏数据隔离、通过隔离后减少资源竞争提升性能等。我遇到的比较多的隔离手段有线程隔离、进程隔离、集群隔离、机房隔离、读写隔离、动静隔离、爬虫隔离等。而转载 2016-11-02 09:17:01 · 3570 阅读 · 0 评论 -
大型分布式网站架构技术总结
本文是学习大型分布式网站架构的技术总结。对架构一个高性能,高可用,可伸缩,可扩展的分布式网站进行了概要性描述,并给出一个架构参考。一部分为读书笔记,一部分是个人经验总结。对大型分布式网站架构有很好的参考价值。(如果感觉对大家有帮助,请帮忙点推荐,谢谢。本博客会逐步推出一系列的关于大型分布式网站架构,设计模式,架构模式方面的系列文章,交流群:466097527) 本次分享大纲如下大型网转载 2016-11-07 15:24:00 · 363 阅读 · 0 评论 -
构建高并发高可用的电商平台架构实践
一、 设计理念 1. 空间换时间 1) 多级缓存,静态化客户端页面缓存(http header中包含Expires/Cache of Control,last modified(304,server不返回body,客户端可以继续用cache,减少流量),ETag)反向代理缓存应用端的缓存(memcache)内存数据库Buffer、转载 2016-11-07 13:58:42 · 590 阅读 · 0 评论 -
使用Spring实现读写分离(MySQL实现主从复制)
1. 背景我们一般应用对数据库而言都是“读多写少”,也就说对数据库读取数据的压力比较大,有一个思路就是说采用数据库集群的方案,其中一个是主库,负责写入数据,我们称之为:写库;其它都是从库,负责读取数据,我们称之为:读库;那么,对我们的要求是:1、 读库和写库的数据一致;2、 写数据必须写到写库;3、 读数据必须到读库;2. 方案转载 2017-03-20 10:45:35 · 852 阅读 · 1 评论