blog.hongxi.org

Java生态研究(Spring Boot + Redis + Dubbo + RocketMQ + Elasticsearch)

【转】ActiveMQ消息传送机制以及ACK机制详解

本文转载自 http://shift-alt-ctrl.iteye.com/blog/2020182 AcitveMQ是作为一种消息存储和分发组件,涉及到client与broker端数据交互的方方面面,它不仅要担保消息的存储安全性,还要提供额外的手段来确保消息的分发是可靠的。   一....

2017-03-19 14:24:33

阅读数:3

评论数:0

Redis复制

    在Redis中,用户可以通过执行SLAVEOF命令或者设置slaveof选项,让一个服务器去复制(replicate)另一个服务器,我们称呼被复制的服务器为主服务器(master),而对主服务器进行复制的服务器则被称为从服务器(slave)。     127.0.0.1:12345&...

2017-03-19 13:42:35

阅读数:1

评论数:0

链表反转

链表的反转是常见的面试题目。本文总结了2种方法。 1 定义 单链表node的数据结构定义如下: class ListNode { int val; ListNode next; ListNode(int x) { val = x; ...

2017-03-14 19:42:33

阅读数:1

评论数:0

深入解读zookeeper一致性原理

一、ZooKeeper 的实现 1.1 ZooKeeper处理单点故障 我们知道可以通过ZooKeeper对分布式系统进行Master选举,来解决分布式系统的单点故障,如图所示。 图 1.1 ZooKeeper解决单点故障   那么我们继续分析一下,ZooKeeper通过Master...

2017-03-14 12:28:15

阅读数:4

评论数:0

《Redis设计与实现》学习笔记-发布与订阅、事务、慢查询日志

发布与订阅 Redis通过发布订阅提供一对多甚至是多对多的节点消息通信,发布订阅由PUBLISH、SUBSCRIBE、PSUBSCRIBE、PUBSUB等命令组成。 SUBSCRIBE命令:订阅某频道,在redisServer结构中通过pubsub_channels字典属性保存当前服务器所...

2017-03-12 14:10:49

阅读数:1

评论数:0

将redis当做使用LRU算法的缓存来使用

当Redis被当做缓存来使用,当你新增数据时,让它自动地回收旧数据是件很方便的事情。这个行为在开发者社区非常有名,因为它是流行的memcached系统的默认行为。 LRU是Redis唯一支持的回收方法。本页面包括一些常规话题,Redis的maxmemory指令用于将可用内存限制成一个固定大小,...

2017-03-12 13:11:53

阅读数:0

评论数:0

Redis Sentinel

Redis Sentinel Documentation Redis 的 Sentinel 系统用于管理多个 Redis 服务器(instance), 该系统执行以下三个任务: 监控(Monitoring): Sentinel 会不断地检查你的主服务器和从服务器是否运作正常。 提醒...

2017-03-12 11:38:27

阅读数:1

评论数:0

深入理解Redis中的主键失效及其实现机制

    作为一种定期清理无效数据的重要机制,主键失效存在于大多数缓存系统中,Reids也不例外。在Redis提供的诸多命令中,EXPIRE、EXPIREAT、PEXPIRE、PEXPIREAT以及SETEX和PSETEX均可以用来设置一条Key-Value对的失效时间,而一条Key-Value...

2017-03-12 09:37:27

阅读数:5

评论数:0

微博CacheService架构浅析

本文转自http://www.infoq.com/cn/articles/weibo-cacheservice-architecture 微博作为国内最大的社交媒体网站之一,每天承载着亿万用户的服务请求,这些请求的背后,需要消耗着巨大的计算、内存、网络、I/O等资源。而且因为微博的产品特性,...

2017-03-12 08:15:28

阅读数:5

评论数:0

Redis Cluster 原理

 一、CLUSTER MEET 命令的实现     通过向节点 A 发送 CLUSTER MEET 命令,客户端可以让接收命令的节点 A 将另一个节点 B 添加到节点 A 当前所在的集群里面:     CLUSTER MEET <ip> &...

2017-03-11 10:26:16

阅读数:2

评论数:0

唯品会Redis cluster大规模生产实践经验

嘉宾:陈群很高兴有机会给大家分享redis cluster的生产实践经验。目前在唯品会主要负责redis/hbase的运维和开发支持工作,也参与工具开发工作。Outline一、生产应用场景二、存储架构演变三、应用最佳实践四、运维经验总结第1、2节:介绍redis cluster在唯品会的生产应...

2017-03-06 00:49:53

阅读数:18

评论数:0

tomcat的NIO线程模型源码分析

1 tomcat8的并发参数控制 这种问题其实到官方文档上查看一番就可以知道,tomcat很早的版本还是使用的BIO,之后就支持NIO了,具体版本我也不记得了,有兴趣的自己可以去查下。本篇的tomcat版本是tomcat8.5。可以到这里看下tomcat8.5的配置参数 我们先来简单回顾下...

2017-03-06 00:00:38

阅读数:3

评论数:0

Netty的线程模型

1. 背景 1.1. Java线程模型的演进 1.1.1. 单线程 时间回到十几年前,那时主流的CPU都还是单核(除了商用高性能的小机),CPU的核心频率是机器最重要的指标之一。 在Java领域当时比较流行的是单线程编程,对于CPU密集型的应用程序而言,频繁的通过多线程进行协作和抢占时间...

2017-03-05 21:23:53

阅读数:6

评论数:0

Dubbo架构设计详解

Dubbo是Alibaba开源的分布式服务框架,它最大的特点是按照分层的方式来架构,使用这种方式可以使各个层之间解耦合(或者最大限度地松耦合)。从服务模型的角度来看,Dubbo采用的是一种非常简单的模型,要么是提供方提供服务,要么是消费方消费服务,所以基于这一点可以抽象出服务提供方(Provi...

2017-03-05 01:56:11

阅读数:4

评论数:0

为什么ConcurrentHashMap是弱一致的(jdk6)

本文将用到Java内存模型的happens-before偏序关系(下文将简称为hb)以及ConcurrentHashMap的底层模型相关的知识。本文将从ConcurrentHashMap的get,clear,iterator(entrySet、keySet、values方法)三个方法来分析它们...

2017-03-04 14:11:51

阅读数:3

评论数:0

MySQL使用可重复读作为默认隔离级别的原因之一

  一般的DBMS系统,默认都会使用读提交(Read-Comitted,RC)作为默认隔离级别,如Oracle、SQL Server等,而MySQL却使用可重复读(Read-Repeatable,RR)。要知道,越高的隔离级别,能解决的数据一致性问题越多,理论上性能损耗更大,可并发性越低。隔离...

2017-03-03 22:35:09

阅读数:3

评论数:0

MySQL隔离级别实验

事务具有ACID四种特性。 但是Isolation并发可能引起如下问题: 1.脏读 允许读取到未提交的脏数据。 2.不可重复读 如果你在时间点T1读取了一些记录,在T2时再想重新读取一次同样的这些记录时,这些记录可能已经被改变、或者消失不见。 3.幻读 解决了不重复读,保证了同一个...

2017-03-03 22:27:39

阅读数:1

评论数:0

正确认识String池

String Pool是运行时常量池中虚拟出来的一个概念。 举个例子: String str0 = "abc"; String str1 = new String("abc");       当执行String ...

2017-03-02 13:05:27

阅读数:4

评论数:0

全面剖析synchronized

剖析 Synchronized Synchronized 介绍 Synchronized 方面的文章网上有很多了。它主要是用来进行同步操作。也被称为重量级的锁,它的同步包括: 对于普通方法同步,锁是当前实例对象 对于静态方法同步,锁是当前类的 Class 对象 对于方法块同...

2017-03-01 00:59:00

阅读数:4

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭