在互联网大行其道的今天,各种分布式系统已经司空见惯。搜索引擎、电商网站、微博、微信、O2O平台。。凡是涉及到大规模用户、高并发访问的,无一不是分布式。但不管那种业务,不管何种分布式系统,有一些基本的思想还是相通的。本文将对这些基本思想进行一个梳理汇总。 分拆 系统分拆 微信的架构师说过一句话:“大系 ...
分类:
其他好文 时间:
2018-08-23 15:30:48
阅读次数:
139
开涛大神在博客中说过:在开发高并发系统时有三把利器用来保护系统:缓存、降级和限流。本文结合作者的一些经验介绍限流的相关概念、算法和常规的实现方式。 缓存 缓存比较好理解,在大型高并发系统中,如果没有缓存数据库将分分钟被爆,系统也会瞬间瘫痪。使用缓存不单单能够提升系统访问速度、提高并发访问量,也是保护 ...
分类:
其他好文 时间:
2018-08-20 19:11:29
阅读次数:
230
线程不安全性 先来举例说明线程不安全是什么情况下发生的:例如一个变量可以被多个线程进行访问,那么在大量线程并发访问这个变量的情况下,线程执行的顺序会给最后的结果带来不可预估的错误。 先定义一个单例类SimpleWorkingHardSingleton: 可以看到下面这个单例若在多线程环境下运行,co ...
分类:
编程语言 时间:
2018-08-20 13:13:24
阅读次数:
121
Nginx负载均衡集群介绍 负载均衡集群提供了一种廉价,有效,透明的方法,来扩展网络设备和服务器的负载,带宽和吞吐量,同时加强了网络数据处理能力,提高了网络的灵活性和可用性。 搭建负载均衡服务的需求: (1)把单台计算机无法承受的大规模并发访问或数据流量分担到多台节点设备上,分别进行处理,减少用户等 ...
分类:
其他好文 时间:
2018-08-19 22:03:27
阅读次数:
217
原创: 咖啡拿铁 1.锁? 1.1何为锁 锁在现实中的意义为:封闭的器物,以钥匙或暗码开启。在计算机中的锁一般用来管理对共享资源的并发访问,比如我们java同学熟悉的Lock,synchronized等都是我们常见的锁。当然在我们的数据库中也有锁用来控制资源的并发访问,这也是数据库和文件系统的区别之 ...
分类:
数据库 时间:
2018-08-17 13:50:40
阅读次数:
189
工作模式:
LVS/NAT:通过网络地址转换实现的虚拟服务器
缺点:大并发访问时,调度器的性能成为瓶颈
LVS/DR:直接使用路由技术实现虚拟服务器
节点服务器需要配置VIP,注意MAC地址广播
LVS/TUN:通过隧道方式实现虚拟服务器
负载均衡调度算法:
(Round Robin)rr轮询:将客户端请求平均分发到Real Server
(Weighted Round Robin)wrr加权轮询:根据Real Server权重值进行轮询调度
(Least Connections)lc最少连接:选择连接数最少的服务器
(Weighted Least Connections)wlc加权最少连接:根据Real Server权重值,选择连接数最少的服务器
(Source Hashing)sh源地值散列:根据请求的目标IP地址,作为散列键(Hash Key)从静态分配的散列表找出对应的服务器
分类:
其他好文 时间:
2018-08-17 11:12:53
阅读次数:
167
构建Docker镜像实战之构建Tomcat9.0镜像(RPM一键安装Java环境)tomcat是一个免费开源的轻量级web服务器,在中小型企和并发访问量不高的场合普遍使用,是开发和调试JSP程序的首选。下面使用Dockerfile文件的方式来创建带有tomcat服务的Dockerfile镜像。(注:这里的Java环境是使用rpm一键式安装的且小编创建的是tomcat9.0的镜像)下面直接开始实验关
分类:
编程语言 时间:
2018-08-16 10:45:23
阅读次数:
204
简介Nginx是一款轻量级的Web服务器,Tomcat是一款免费开源的轻量级web服务器,在中小型企业和并发访问量不高的场合使用,是开发和调试JSP程序的首选。MSQL是当下最流行的关系型数据库,以上这些都可以使用Dockerfile文件的方式来创建其Docker镜像。构建nginx镜像下载基础镜像#dockerpullcentos建立工作目录#mkdir/nginx#cd/nginx/创建并编写
分类:
其他好文 时间:
2018-08-14 22:03:18
阅读次数:
204
锁是计算机协调多个进程或纯线程并发访问某一资源的机制。在数据库中,除传统的计算资源(CPU、RAM、I/O)的争用以外,数据也是一种供许多用户共享的资源。如何保证数据并发访问的一致性、有效性是所在有数据库必须解决的一个问题,锁冲突也是影响数据库并发访问性能的一个重要因素。从这个角度来说,锁对数据库而 ...
分类:
数据库 时间:
2018-08-10 17:14:21
阅读次数:
244
正文内容 模拟准备--如何模拟高并发访问一个脚本:apache安装文件的bin/ab.exe可以模拟并发量 -c 模拟多少并发量 -n 一共请求多少次 http://请求的脚本 MYSQL中的锁:语法 :LOCK TABLE 表名1 READ|WRITE, 表名2 READ|WRITE ...... ...
分类:
数据库 时间:
2018-08-09 14:05:03
阅读次数:
166