先抛出一个问题,如何解决互联网项目中的高并发问题?
1.网络层
2.服务器层面,常用的有nginx分流,负载均衡,负载权重。这些就是为了减轻单台服务器的压力。
3.业务划分
这才是高并发解决方案的重点,系统应该被细粒度地分割成多个模块,如天猫的购物车系统、结算系统等,在具体划分出来的系统上做负载均衡等。
4.代码层面的限流策略。访问太多的话就拒绝。
代码层面的限流策略
Semaphore sema = new Semaphore(5);//这里的5就表示最多接受5个线程。
sema.aquire();//获取授权
代码块;
sema.release();//释放
原文:http://www.cnblogs.com/sigm/p/6247028.html