张哈希的博客

MyCat 1.6核心源代码贡献者之一,Ambry内化推行者。为全栈而努力,喜欢各种轮子,最近研究Pulsar...

排序:
默认
按更新时间
按访问量

BookKeeper全解(1)-BookKeeper简介和快速上手

什么是BookKeeper BookKeeper是一个提供日志条目流存储持久化的服务框架。特别适合日志流存储,一个比较经典的应用是作为消息队列Pulsar的持久框架。 那么BookKeeper是怎样产生的呢? 这个灵感来源于Hadoop生态系统。我们知道,Haddop生态系统的文件存储是HDFS,...

2018-10-16 16:06:44

阅读数:2311

评论数:0

Redis系列-生产应用篇-分布式锁(5)-单进程Redis分布式锁的Java实现(Redisson使用与底层实现)-原子锁类

Redisson单进程Redis分布式悲观锁的使用与实现 本文基于Redisson 3.7.5 4. 原子锁类 Redisson中实现了两种原子锁类:RAtomicLong和RAtomicDouble,还有RLongAdder和RDoubleAdder RAtomicDouble和...

2018-09-19 10:43:58

阅读数:2708

评论数:0

JDK核心JAVA源码解析(6) - 原子类AtomicLong与LongAdder对比

想写这个系列很久了,对自己也是个总结与提高。原来在学JAVA时,那些JAVA入门书籍会告诉你一些规律还有法则,但是用的时候我们一般很难想起来,因为我们用的少并且不知道为什么。知其所以然方能印象深刻并学以致用。 本篇文章针对JAVA中的原子类以及JDK1.8新增的LongAdder进行对比,探究它...

2018-09-18 14:10:42

阅读数:2696

评论数:0

Redis系列-生产应用篇-分布式锁(4)-单进程Redis分布式锁的Java实现(Redisson使用与底层实现)-读写锁

Redisson单进程Redis分布式悲观锁的使用与实现 本文基于Redisson 3.7.5 3. 读写锁 Redisson的分布式可重入读写锁RReadWriteLock Java对象实现了java.util.concurrent.locks.ReadWriteLock接口。...

2018-09-13 19:43:38

阅读数:2695

评论数:0

Redis系列-生产应用篇-分布式锁(3)-单进程Redis分布式锁的Java实现(Redisson使用与底层实现)-公平锁

Redisson单进程Redis分布式悲观锁的使用与实现 本文基于Redisson 3.7.5 2. 公平锁 这种锁的使用方式和Java本身框架中的FairLock一模一样: RLock fairLock = redisson.getFairLo...

2018-09-11 20:34:09

阅读数:2698

评论数:0

Redis系列-生产应用篇-分布式锁(2)-单进程Redis分布式锁的Java实现(Redisson使用与底层实现)-可重入锁

Redisson单进程Redis分布式悲观锁的使用与实现 本文基于Redisson 3.7.5 1. 可重入锁(Reentrant Lock) 这种锁的使用方式和Java本身框架中的Reentrant Lock一模一样 RLock lock = redisson.getLo...

2018-09-05 16:22:35

阅读数:3010

评论数:0

Redis系列-生产应用篇-分布式锁(1)-单进程Redis分布式锁实现思路

什么是分布式锁 针对共享内存模型的程序(例如JAVA程序),锁就是一个非常常用的机制。 一般简单分为悲观锁和乐观锁。悲观锁就是你获取这块数据的锁之后,别人就无法访问或操作这块数据,直到你释放这个锁。乐观锁一般就是CAS更新。 在单进程内内存的锁,只控制进程内数据的,就是非分布式锁。相反的,跨...

2018-09-03 17:12:25

阅读数:2899

评论数:0

JDK核心JAVA源码解析(5) - JAVA File MMAP原理解析

想写这个系列很久了,对自己也是个总结与提高。原来在学JAVA时,那些JAVA入门书籍会告诉你一些规律还有法则,但是用的时候我们一般很难想起来,因为我们用的少并且不知道为什么。知其所以然方能印象深刻并学以致用。 本篇文章针对JAVA中的MMAP的文件映射读写机制,来分析为何很多告诉框架用了这个机制...

2018-07-20 12:14:14

阅读数:2927

评论数:0

JDK核心JAVA源码解析(4) - 堆外内存、零拷贝、DirectByteBuffer以及针对于NIO中的FileChannel的思考

想写这个系列很久了,对自己也是个总结与提高。原来在学JAVA时,那些JAVA入门书籍会告诉你一些规律还有法则,但是用的时候我们一般很难想起来,因为我们用的少并且不知道为什么。知其所以然方能印象深刻并学以致用。 本篇文章针对堆外内存与DirectBuffer进行深入分析,了解Java对于堆外内存处...

2018-07-17 17:05:18

阅读数:4838

评论数:4

JDK核心JAVA源码解析(3) - 引用相关

想写这个系列很久了,对自己也是个总结与提高。原来在学JAVA时,那些JAVA入门书籍会告诉你一些规律还有法则,但是用的时候我们一般很难想起来,因为我们用的少并且不知道为什么。知其所以然方能印象深刻并学以致用。 本篇文章针对引用分析,是后面分析各种框架机制的基础 Java引用相关 强引...

2018-07-10 20:44:45

阅读数:2720

评论数:0

JDK核心JAVA源码解析(2) - String(上)

想写这个系列很久了,对自己也是个总结与提高。原来在学JAVA时,那些JAVA入门书籍会告诉你一些规律还有法则,但是用的时候我们一般很难想起来,因为我们用的少并且不知道为什么。知其所以然方能印象深刻并学以致用。 本文从JDK 1.8 & JDK 9.0 String的...

2018-06-25 16:12:46

阅读数:4300

评论数:0

Spring Cloud Ribbon 全解 (8) - SpringCloud环境下Ribbon+Eureka配置

本文基于SpringCloud-Dalston.SR5 一般SpringCloud环境下是Ribbon+Eureka一起使用的: SpringCloud环境下Ribbon+Eureka配置 示例项目 实例项目地址:https://github.com/HashZhang/Scanf...

2018-05-16 11:05:24

阅读数:4833

评论数:0

Spring Cloud Ribbon 全解 (7) - SpringCloud环境下纯Ribbon(不包含Eureka)重试配置

本文基于SpringCloud-Dalston.SR5 前面已经分析了Ribbon各个组件详细的源码,以及整体的流程 SpringCloud环境下纯Ribbon(不包含Eureka)使用与启动分析: 示例项目 以下项目可以参考:https://github.com/HashZhan...

2018-05-16 11:03:08

阅读数:4797

评论数:0

Spring Cloud Ribbon 全解 (6) - SpringCloud环境下纯Ribbon(不包含Eureka)使用与启动分析

本文基于SpringCloud-Dalston.SR5 前面已经分析了Ribbon各个组件详细的源码,以及整体的流程 SpringCloud环境下纯Ribbon(不包含Eureka)使用与启动分析: 示例项目 以下项目可以参考:https://github.com/HashZhan...

2018-05-16 11:01:48

阅读数:4678

评论数:1

Spring Cloud Ribbon 全解 (5) - 基本组件实现源码(3)

本文基于SpringCloud-Dalston.SR5 我们继续分析如下组件: 所有Ribbon负载均衡器需要实现的接口IClient 服务实例列表维护机制实现的接口ServerList 负载均衡数据记录LoadBalancerStats 负责选取Server的接口ILoadBalancer...

2018-05-08 08:36:34

阅读数:5022

评论数:0

Spring Cloud Ribbon 全解 (4) - 基本组件实现源码(2)

本文基于SpringCloud-Dalston.SR5 我们继续逐个分析 所有Ribbon负载均衡器需要实现的接口IClient 服务实例列表维护机制实现的接口ServerList 负载均衡数据记录LoadBalancerStats 负责选取Server的接口ILoadBalancer 负载...

2018-05-08 08:34:32

阅读数:4756

评论数:0

Spring Cloud Ribbon 全解 (3) - 基本组件实现源码(1)

本文基于SpringCloud-Dalston.SR5 上一篇我们了解到Ribbon主要由如下几个组件组成: 所有Ribbon负载均衡器需要实现的接口IClient 服务实例列表维护机制实现的接口ServerList 负载均衡数据记录LoadBalancerStats 负责选取Server的...

2018-03-27 19:14:43

阅读数:5035

评论数:0

Spring Cloud Ribbon 全解 (2) - 基本组件简介

本文基于SpringCloud-Dalston.SR5 对于一个负载均衡器,就是以用户请求为输入,请求响应为输出的代理模块。 这个模块基本上就是包括一个服务实例列表,根据请求还有负载均衡规则选择一个合适的实例来执行请求并返回响应。 这个服务实例列表,一般包含每个实例基本信息,然后还有...

2018-03-27 11:53:12

阅读数:2897

评论数:0

Spring Cloud Eureka 全解 (8) - 安全配置

本文基于SpringCloud-Dalston.SR5 一般的,Eureka在内网服务,我们不会对于外网暴露Eureka端口,所以一般Eureka不做任何验证。假设我们想进一步增强Eureka的安全性,可以结合spring security来简单配置一些安全设置 首先在Spring Cloud...

2018-03-26 18:14:21

阅读数:2990

评论数:0

Spring Cloud Ribbon 全解 (1) - 总览篇

本文基于SpringCloud-Dalston.SR5 Ribbon是一个客户端负载均衡解决方案,简单来说,就是从Eureka获取可用服务实例列表,然后将请求根据某种策略发到这些实例上面执行 What is Spring Cloud Netflix? 其官方文档中对自己的定义是: ...

2018-03-05 18:11:25

阅读数:5986

评论数:0

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