上一篇我们把整个架构演变过程大致说了一下,这次我们来说说从哪方面进行考虑设计为了使网站的能够应对高并发访问,海量数据处理,高可靠运行等一系列问题,我们可以选择横向或纵向两个方向来入手基本思路首先可以对整个架构进行分层,一般可以分为 应用层,服务层,数据层;实践中,大的分层结构中还可以继续分层,比如 应用层 还可以继续分为 视图层 和 业务逻辑层,服务层也可以继续细分为 数据接口层 逻辑处理层 等通过...
分类:
Web程序 时间:
2016-05-12 11:26:36
阅读次数:
226
事务ACID特性序号特性描述1原子性(Atomicity)原子性是指事务是一个不可分割的工作单位,事务中的操作要么都发生,要么都不发生。2一致性(Consistency)事务必须使数据库从一个一致性状态变换到另外一个一致性状态。3隔离性(Isolation)事务的隔离性是多个用户并发访问数据..
分类:
数据库 时间:
2016-05-12 08:04:49
阅读次数:
303
一、多个线程操作一个对象实例 当两个线程同时访问一个没有同步的方法,如果两个线程同时操作业务对象中的实例变量,则有可能会出现“非线程安全问题”。 1 package concurrent; 2 /** 3 * 测试不同线程操作同一个实例变量线程安全问题 4 * @author foolishbird ...
分类:
其他好文 时间:
2016-05-08 22:33:17
阅读次数:
182
为什么Nginx的性能要比Apache高很多? 这得益于Nginx使用了最新的epoll(Linux 2.6内核)和kqueue(freebsd)网络I/O模型,而Apache则使用的是传统的select模型。 目前Linux下能够承受高并发访问的Squid、Memcached都采用的是epoll网 ...
分类:
Web程序 时间:
2016-05-05 21:57:39
阅读次数:
207
ListenableFuture顾名思义就是可以监听的Future,它是对java原生Future的扩展增强 RateLimiter类似于JDK的信号量Semphore,他用来限制对资源并发访问的线程数,本文介绍RateLimiter使用 Guava并发 ListenableFuture RateL ...
分类:
其他好文 时间:
2016-05-04 10:21:02
阅读次数:
219
上一篇文章《MySQL悲观锁总结和实践》谈到了MySQL悲观锁,但是悲观锁并不是适用于任何场景,它也有它存在的一些不足,因为悲观锁大多数情况下依靠数据库的锁机制实现,以保证操作最大程度的独占性。如果加锁的时间过长,其他用户长时间无法访问,影响了程序的并发访问性,同时这样对数据库性能开销影响也很大,特 ...
分类:
数据库 时间:
2016-05-03 12:24:33
阅读次数:
292
前言: 我们都知道事务的几种性质,数据库为了维护这些性质,尤其是一致性和隔离性,一般使用加锁这种方式。同时数据库又是个高并发的应用,同一时间会有大量的并发访问,如果加锁过度,会极大的降低并发处理能力。所以对于加锁的处理,可以说就是数据库对于事务处理的精髓所在。这里通过分析MySQL中InnoDB引擎 ...
分类:
数据库 时间:
2016-05-01 19:15:20
阅读次数:
280
此次是分布式的第三次作业,作业要求如下:
1、基于TCP通讯(ServerSocket、Socket套接字),编写一个带有图形用户界面的浏览器和
一个支持文档读取并返回给客户浏览器的web服务器。客户端支持超链接事件处理,服务器采用多
线程技术支持并发访问。
2、在此基础上,修改服务器侧设计与实现,使之能够动态地添加客户端请求的类文件,即设计
一个小服务程序容器。
3、试在服务器侧代码...
分类:
Web程序 时间:
2016-04-29 19:19:22
阅读次数:
171
简介
在大中型分布式系统中,通常系统很多依赖(HTTP,Hession,Netty,Dubbo等),在高并发访问下,这些依赖的稳定性与否对系统的影响非常大,但是依赖有很多不可控问题:
如网络连接缓慢,资源繁忙,暂时不可用,服务脱机等。
在正常情况下:
分布式系统延迟和容错框架Hystrix技术交流 > regular.png" src="http://lujs.cn/confluenc...
分类:
其他好文 时间:
2016-04-29 16:58:47
阅读次数:
165
线程池是Mysql5.6的一个核心功能,对 于服务器应用而言,无论是web应用服务还是DB服务,高并发请求始终是一个绕不开的话题。当有大量请求并发访问时,一定伴随着资源的不断创建和释放,导 致资源利用率低,降低了服务质量。线程池是一种通用的技术,通过预先创建一定数量的线程,当有请求达到时,线程池分配 ...
分类:
数据库 时间:
2016-04-29 14:22:12
阅读次数:
229