自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

刘本龙的专栏

个人邮箱:3089008201@qq.com. 技术交流群:684457529

  • 博客(20)
  • 资源 (1)
  • 论坛 (2)

原创 高并发分布式环境中获取全局唯一ID[分布式数据库全局唯一主键生成]

需求说明在过去单机系统中,生成唯一ID比较简单,可以使用mysql的自增主键或者oracle中的sequence, 在现在的大型高并发分布式系统中,以上策略就会有问题了,因为不同的数据库会部署到不同的机器上,一般都是多主实例,而且再加上高并发的话,就会有重复ID的情况了。至于为什么会有重复就不多说了,技术人员都懂的。本文讲述的案例不仅仅局限于数据库中的ID主键生产,也可以适用于其他分布式环境中的唯一

2016-12-26 11:06:17 16084 1

原创 docker安装教程

系统环境linux版本:centos7[root@zk1 ~]# uname -r3.10.0-327.el7.x86_64[root@zk1 ~]# cat /etc/redhat-release CentOS Linux release 7.2.1511 (Core) 安装步骤更新yumyum update安装dockeryum install docker安装成功后查看docker

2016-12-25 20:41:32 1692

原创 Redis学习笔记(九)redis实现时时直播列表缓存,支持分页[热点数据存储]

需求说明在直播平台中,用户查看直播列表,这个列表数据具有时时性,并且是强热点数据,也就是说每时每刻都可能会有新的直播。这些数据如果每次都去数据库读取肯定是不可取的,所以这可以考虑使用redis来实现。使用redis队列来保存直播列表

2016-12-23 14:12:07 13225 5

转载 Redis 利用Hash存储节约内存

Instagram可以说是网拍App的始祖级应用,也是当前最火热的拍照App之一,Instagram的照片数量已经达到3亿,而在Instagram里,我们需要知道每一张照片的作者是谁,下面就是Instagram团队如何使用Redis来解决这个问题并进行内存优化的。首先,这个通过图片ID反查用户UID的应用有以下几点需求:1. 查询速度要足够快2. 数据要能全部放到内存里,最好是一台E

2016-12-22 16:30:26 17086 3

原创 Redis学习笔记(八)redis之lua脚本学习

redis系列文章目录使用spring-data-redis实现incr自增Redis 利用Hash存储节约内存Redis学习笔记(九)redis实现时时直播列表缓存,支持分页[热点数据存储]Redis学习笔记(八)redis之lua脚本学习Redis学习笔记(七)jedis超时重试机制注意事项Redis学习笔记(六)redis实现分布式锁Redis学习笔记(五)jedis(Je...

2016-12-22 16:08:41 13132 2

原创 Redis学习笔记(七)jedis超时重试机制注意事项

jedis客户端在创建连接时会设置一个超时,并且会有重试机制。问题起源在使用jedis客户端的时候,我测试了一下incr命令,该命令在执行过程中是原子的,所以理论上不会出现问题(不论单线程还是多线程)代码如下:/** * incrf: * 将 key 中储存的数字值增一。 如果 key 不存在,那么 key 的值会先被初始化为 0 ,然后再执行 INCR 操作。

2016-12-22 16:03:11 21085 2

原创 hexo+github博客环境搭建

常用命令hexo new "postName" #新建文章hexo new page "pageName" #新建页面hexo generate #生成静态页面至public目录hexo server #开启预览访问端口(默认端口4000,'ctrl + c'关闭server)hexo deploy #将.deploy目录部署到GitHubhexo help # 查看帮助hexo ve

2016-12-21 12:52:06 1371

原创 akka学习教程(二)HelloWord

本示例来自于官方示例(http://doc.akka.io/docs/akka/2.4.4/intro/getting-started.html): 文中找到 Using Akka with Maven 。点击“Akka Main in Java”下载示例。http://www.lightbend.com/activator/template/akka-sample-main-java 注意:

2016-12-21 12:16:07 19120

原创 akka学习教程(一)简介

为什么要用akkaAkka提供可扩展的实时事务处理。Akka是一个运行时与编程模型一致的系统,为以下目标设计:垂直扩展(并发)水平扩展(远程调用)高容错在Akka的世界里,只有一个内容需要学习和管理,具有高内聚和高一致的语义。Akka是一种高度可扩展的软件,这不仅仅表现在性能方面,也表现在它所适用的应用的大小。Akka的核心,Akka-actor是非常小的,可以非常方便地放进你的应用中,提供

2016-12-21 12:15:21 39104 5

原创 ELK(二)nginx日志分析

简介由于公司没有日志收集系统,所以之前搭建了一个ELK日志收集分析系统,如此一来查询日志就方便了很多,再加上ELK的一些方便实用的索引分析功能,可以将数据已图表形式展现,一目了然。网上好多都是采用了ELK+redis的架构,但考虑到目前公司业务不是很多,所以没有加入redis一层 ELK的安装请参考我上一篇文章 ELK环境搭建日志收集配置其实你的ELK系统搭建完成以后,剩下的主要就是logst

2016-12-21 12:14:21 9427

原创 ELK(一)ELK日志收集分析系统环境搭建

基本环境Linux系统elasticsearch-2.4.2.tar.gzlogstash-2.4.1.tar.gzkibana-4.6.3-linux-x86_64.tar.gz基本概念本节内容摘自http://baidu.blog.51cto.com/71938/1676798日志主要包括系统日志、应用程序日志和安全日志。系统运维和开发人员可以通过日志了解服务器软硬件信息、检查配置过程中

2016-12-21 12:12:31 4887

原创 Redis学习笔记(六)redis实现分布式锁

分布式锁介绍 注:本文讲的是分布式互斥锁在很多互联网产品应用中,有些场景需要加锁处理,比如:秒杀,全局递增ID,楼层生成,还有一些分布式任务调度等等。大部分的解决方案是基于DB实现的,Redis为单进程单线程模式,采用队列模式将并发访问变成串行访问,且多客户端对Redis的连接并不存在竞争关系。其次Redis提供一些命令SETNX,GETSET,可以方便实现分布式锁机制。本着批判性原则,现在网

2016-12-21 12:08:59 15761 14

原创 Redis学习笔记(五)jedis(JedisCluster)操作Redis集群 redis-cluster

版本说明 jedis2.9.0 redis3.2.5这里只是几个简单的demo,直接上代码吧,没啥好说的import org.apache.commons.pool2.impl.GenericObjectPoolConfig;import org.junit.After;import org.junit.Before;import org.junit.Test;import r

2016-12-20 18:24:11 80422 6

原创 disruptor学习教程(一)helloWord

一、什么是 Disruptor 从功能上来看,Disruptor 是实现了“队列”的功能,而且是一个有界队列。那么它的应用场景自然就是“生产者-消费者”模型的应用场合了。可以拿 JDK 的 BlockingQueue 做一个简单对比,以便更好地认识 Disruptor 是什么。我们知道 BlockingQueue 是一个 FIFO 队列,生产者(Producer)往队列里发布(publish)一项事

2016-12-20 12:54:19 3053

原创 java高并发:CAS无锁原理及广泛应用

前言在现在的互联网技术领域,用户流量越来越大,系统中并发量越来越大,大公司的日活动辄成百上千万。如何面对如此高的并发是当今互联网技术圈一直在努力的事情。 应对高并发需要在各个技术层面进行合理的设计和技术选型才可以。本文只讲述微观层面是如何应对多线程高并发的,介绍著名的CAS原理以及其广泛应用。 本文中jdk版本使用的是jdk1.7.0_55. 不同版本实现可能稍有差异.CAS无锁实现原理为什

2016-12-20 12:53:39 26588 3

原创 ZKClient zookeeper 丢失事件 分析

由于ZK的watch一次性注册原因,以及client断开连接到重新连接上这一段时间差,可能导致zookeeper客户端不能够接收到完所有的ZK事件 不要强依赖于ZK的事件,要知道ZK事件可能丢失,也可能多个事件收到的数据是相同的(注意等幂性)。ZK能做到的是分布式数据一致性服务,可以保证最终一致性。在开发的时候要谨慎处理。 下面是测试以及原因分析

2016-12-17 16:25:54 8690

原创 redis学习笔记(四)redis缓存与数据库一致性问题

redis与数据库数据一致性问题是个老生常谈的问题了,这里也没啥新鲜玩意,就是总结一下不一致产生的原因我们在使用redis过程中,或者网上一些资料,通常会这样做:先读取缓存,如果缓存不存在,则读取数据库。伪代码如下: Object stuObj = new Object(); public Stu getStuFromCache(String key){ Stu stu

2016-12-16 10:47:26 15172 1

原创 redis学习笔记(三)redis数据淘汰策略

本文讲的是 当redis设定了最大内存之后,缓存中的数据集大小超过了一定比例,实施的淘汰策略,不是删除过期键的策略,虽然两者非常相似。 redis系列文章目录Redis 利用Hash存储节约内存 使用spring-data-redis实现incr自增 Redis学习笔记(九)redis实现时时直播列表缓存,支持分页[热点数据存储] Redis学习笔记(八)redis之lua脚...

2016-12-16 10:39:09 10148 3

原创 redis学习笔记(二)JedisCluster + redis 3.2.5集群

redis系列文章目录Redis 利用Hash存储节约内存 使用spring-data-redis实现incr自增 Redis学习笔记(九)redis实现时时直播列表缓存,支持分页[热点数据存储] Redis学习笔记(八)redis之lua脚本学习 Redis学习笔记(七)jedis超时重试机制注意事项 Redis学习笔记(六)redis实现分布式锁 Redis...

2016-12-16 10:05:22 10488 3

原创 redis学习笔记(一)redis3.2.5集群安装与测试

redis3.2.5集群安装,以及简单测试。具体实现原理后续再讲

2016-12-05 23:19:00 9157 3

jquery右键菜单

jquery右键菜单 支持原著

2013-06-02

快乐崇拜234的留言板

发表于 2020-01-02 最后回复 2020-01-02

当梦想和身体健康发生冲突,你会如何选择

发表于 2014-10-29 最后回复 2014-11-06

空空如也
提示
确定要删除当前文章?
取消 删除