Loading...
synchronized与AbstractQueuedSynchronizersynchronizedsynchronized是排它锁,是jvm内置的加锁方式,本质上是创建一个对象,在对象之上添加标识,来确定是否有其他线程获得了锁。synchronized实现方式在jdk1.5之前,synchronized每次都需要向操作系统申请重量级锁,效率很低。从jdk1.5开始,引入了锁升级的概念。锁...
openresty对于lua的简单应用访问redisredis2-nginx-moduleredis2-nginx-module是一个支持 Redis 2.0 协议的 Nginx upstream 模块,它可以让 Nginx 以非阻塞方式直接防问远方的 Redis 服务,同时支持 TCP 协议和 Unix Domain Socket 模式,并且可以启用强大的 Redis 连接池功能。http...
Nginx与redis对Lua的简单集成什么是LuaLua 是由巴西里约热内卢天主教大学(Pontifical Catholic University of Rio de Janeiro)里的一个研究小组于1993年开发的一种轻量、小巧的脚本语言,用标准 C 语言编写,其设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能。官网:http://www.lua.org/redi...
zookeeper配置中心与分布式锁的简单实现配置中心分布式系统的配置保存在一个公共区域,当配置被修改或删除的时候通知所有人。配置信息实体类public class MyConf { private String conf; public String getConf() { return conf; } public void setC...
zookeeper搭建、PAXOS、ZAB及基本API官网http://zookeeper.apache.org/架构如图,zookeeper是一套分布式架构,分布式有复制与分片两个维度,zookeeper属于复制集群,也就是说,集群中所有的节点都保留全部的数据,但是zookeeper中是存在leader的,leader可以读写,follower则只能读,写操作会传递给leader执行。zo...
redis初级api (springboot)依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency>配置...
缓存的击穿、穿透、雪崩以及redis分布式锁原理缓存击穿某个key超时或被LRU清除之后,有大量请求并发访问该key,导致大量请求抵达数据库。解决思路是阻止访问到达数据库,利用redis是单进程单实例的特点:如果某个请求get key没有请求到数据setnx插入一条数据,设置锁只有成功插入获得锁的人可以访问数据库,其他人睡眠一会再去redis中取这样同时只有一个访问到达数据库,取回数据并刷新...
redis集群为什么要集群redis是单机、单节点、单实例的,这样就会出现以下问题单点故障容量有限I/O和计算的压力大AKF扩展立方体AKF扩展立方体(Scalability Cube),是《架构即未来》一书中提出的可扩展模型,这个立方体有三个轴线,每个轴线描述扩展性的一个维度,他们分别是产品、流程和团队:X轴 —— 代表无差别的克隆服务和数据,工作可以很均匀的分散在不同的服务实例上;Y轴 ...
LVS原理以及搭建网络架构网络有七层架构,自上而下分别是,应用层、表示层、会话层、传输控制层、网络层、链路层、物理层。在实际应用中,可以把应用层、表示层、会话层合并成应用层,简化为五层结构。如果客户端与服务器之间要建立通信,首先要建立连接,然后才能传输数据,建立连接的过程由位于传输控制层的TCP协议负责,在本地随机开一个端口与的目标端口进行三次握手,开启一个socket会话,然后就可以通过该...
FastDFS 集群架构六台服务器,tracker节点ip:131,132,storage节点:181,182对应group1,191,192对应group2单机配置首先在六台服务器上分别配置单机FastDFS环境:FastDFS搭建及使用Tracker集群搭建在131,132上分别启动tracker/etc/init.d/fdfs_trackerd start查看端口netstat -un...