中间件
文章平均质量分 80
LovelyBear2019
专注Java后台开发,网络爬虫开发
展开
-
ActiveMQ初体验
文章目录一、下载安装ActiveMQ启动ActiveMQ三、ActiveMQ Demo工程创建生产者创建消费者运行ActiveMQDemo项目生产者发消息运行结果消费者收消息运行结果ActiveMQ使用场景一、下载安装ActiveMQActiveMQ官网下载地址:http://activemq.apache.org/download-archives.htmlActiveMQ 提供了Wind...原创 2018-11-15 14:15:40 · 1373 阅读 · 0 评论 -
分布式锁简单入门以及三种实现方式
主要介绍了分布式锁的由来,以及三大实现分布式锁的方式,分别为数据库分布式锁,Redis分布式锁,Zookeeper分布式锁。转载 2018-12-07 10:03:27 · 1882 阅读 · 0 评论 -
Kafka、ActiveMQ、RabbitMQ及RocketMQ性能对比
从单机吞吐量、topic 数量对吞吐量的影响、时效性、可用性、消息可靠性和功能支持等方面分析几大中间件的性能对比。原创 2018-12-06 11:07:46 · 4657 阅读 · 4 评论 -
Redis集群-主从复制模式
为了降低每个redis服务器的负载,可以设置多个Redis服务器一起执行任务,做主从模式集群,一个redis服务器负责写数据,其他的服务器负责读数据,主服务器的数据也会自动的同步给其他的从服务器。原创 2018-12-03 16:26:58 · 1467 阅读 · 0 评论 -
Redis缓存一致性问题
前言从理论上来说,给缓存设置过期时间,是保证最终一致性的解决方案。这种方案下,我们可以对存入缓存的数据设置过期时间,所有的写操作以数据库为准,对缓存操作只是尽最大努力即可。也就是说如果数据库写成功,缓存更新失败,那么只要到达过期时间,则后面的读请求自然会从数据库中读取新值然后更新缓存。因此,接下来讨论的思路不依赖于给缓存设置过期时间这个方案。先更新数据库,再更新缓存一、线程安全问题假设同...原创 2018-11-28 17:27:27 · 5132 阅读 · 2 评论 -
Redis持久化浅析
Redis持久化主要包含RDB和AOF两种方式。本文主要阐述了两种方式的原理,优缺点及异同点,详情请参考博文。原创 2018-12-01 11:24:04 · 2279 阅读 · 0 评论 -
Redis事物探秘
文章目录说明事物实现MULTI命令命令入队事务队列执行事务WATCH命令WATCH命令监视数据库键监视机制的触发事务安全性判断总结说明Redis中的事务与传统关系型数据库(如mysql)的事务是不同的。Redis中的事务是一组命令的集合,事务与命令都是最小执行单位,原理是先将属于一个事务的命令发送给Redis,然后Redis一次执行这些命令。Redis的事务可以保证一个事务内的命令一次执...原创 2018-12-01 11:23:02 · 1193 阅读 · 0 评论 -
Redis数据淘汰策略
定时删除策略 : 在设置键的过期时间的同时,创建一个定时器,让定时器在键的过期时间来临时,立即执行对键的删除操作。优点 : 对内存友好,保证过期键会尽可能快地被删除,并释放过期键所占用的内存。缺点 : 对CPU时间不友好,占用太多CPU时间,影响服务器的响应时间和吞吐量。惰性删除策略 : 放任过期键不管,每次从键空间读写操作时,都检查键是否过期,如果过期,删除该键,如果没有过期,返...原创 2018-11-28 13:19:46 · 3524 阅读 · 1 评论 -
Redis配置详解
1. Redis默认不是以守护进程的方式运行,可以通过该配置项修改,使用yes启用守护进程。daemonize no //不以守护进程方式运行daemonize yes //以守护进程方式运行2. 当Redis以守护进程方式运行时,Redis默认会把pid写入/var/run/redis.pid文件,可以通过pidfile指定。pidfile /var/run/redis.pid3....原创 2018-11-28 10:27:08 · 1175 阅读 · 1 评论 -
CentOS-7下安装redis-2.8
准备redis安装包wget http://download.redis.io/releases/redis-2.8.3.tar.gz解压并拷贝到/usr/目录tar -zxvf redis-2.8.3.tar.gzcp -r redis-2.8.3 /usr/编译源码cd /usr/redis-2.8.3/make拷贝文件将redis-server、redis-ben...原创 2018-11-28 09:53:55 · 1722 阅读 · 0 评论 -
Redis集群-哨兵模式
哨兵模式是Redis官方推荐的集群部署方式,与主从复制方式不同,哨兵模式可以在Master宕机时,自动实现主备切换。详情请阅读本文。原创 2018-12-04 19:53:12 · 1970 阅读 · 0 评论 -
Redis穿透与雪崩的预防与解决方案
文章目录缓存穿透概念解决方案方案一方案二缓存雪崩概念解决方案方案一方案二方案三方案四缓存击穿概念解决方案方案一方案二缓存穿透概念缓存穿透是指查询一个一定不存在的数据,由于缓存不会命中,需要从数据库查询,查不到数据则不写入缓存,这将导致这个不存在的数据每次请求都去数据库查询,造成缓存穿透。解决方案方案一对所有可能查询的参数以hash形式存储,在控制层进行校验,若不符合查询条件则丢弃。或者...原创 2018-11-29 10:22:18 · 5192 阅读 · 6 评论 -
在Kafka中使用Avro编码消息
文章目录Avro简介Avro使用方法添加依赖Jar包定义模式解析模式并将记录转byte[]Avro简介Avro 是一个数据序列化的系统,它可以将数据结构或对象转化成便于存储或传输的格式。Avro设计之初就用来支持数据密集型应用,适合于远程或本地大规模数据的存储和交换。Avro支持多种语言实现,主要有C, C++, C#, Java, PHP, Python, and Ruby等。Avro使用...原创 2018-11-18 15:22:08 · 4087 阅读 · 0 评论 -
Redis入门
简介REmote DIctionary Server(Redis) 是一个由Salvatore Sanfilippo写的key-value存储系统。Redis是一个开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。数据类型redis由C语言编写,它的数据模型为key-value。它支持丰富的数据结构(类型...原创 2018-11-22 15:09:38 · 1336 阅读 · 4 评论 -
序列化与反序列化技术选型
文章目录一、使用场景二、概念三、参考指标四、序列化与反序列化协议通用组件流程图待序列化类XMLThriftProtobufAvro一、使用场景1、网络传输2、加密、持久化二、概念1、通信协议中的位置七层模型的表示层或者四层模型的应用层2、概念序列化 : 数据结构或者对象 -> 二进制反序列化 : 二进制 -> 数据结构或者对象注:二进制串 存储在内存中的一块数据, ...原创 2018-11-15 14:53:56 · 1407 阅读 · 2 评论 -
Kafka Produce如何保证数据不丢失
概述Kafka的发送模式可以分为同步模式和异步模式,可以通过参数producer.type=sync和producer.type=async指定。同步模式producer.type设置为sync时为同步模式。此时可以通过配置request.required.acks的值来指定确认机制,分别为0 : 不等待broker返回确认消息。-1 : 等待topic中partition lead...原创 2018-12-25 11:00:22 · 1938 阅读 · 6 评论