2020-02-03
服务注册发现:Eureka源码剖析(4)核心机制之Eureka Client首次启动抓取全量注册表

  • Eureka Client首次抓取是在启动时进行的
  • 通过eurekaTransport.queryClient这个jersey客户端,请求eureka server的 GET /v2/apps/APP_NAME 接口
  • 拿到响应的Applications后会将顺序打乱,然后存到本地

  • eureka server的ApplicationsResource.getContainers方法会收到请求

  • 从响应缓存中把key为ALL_APPS的数据数据返回给客户端

Read More

2019-12-13
服务注册发现:Eureka源码剖析(3)服务注册

Eureka Client启动流程

Read More

2019-12-09
服务注册发现:Eureka源码剖析(2)Eureka Server启动

Eureka Server模块分析

1、Eureka Server原来是一个简单的Servlet应用

Read More

2019-12-08
服务注册发现:Eureka源码剖析(1)源码阅读环境搭建

源码阅读环境搭建

Read More

2019-12-05
Spring Cloud Netflix技术栈系列文章

为什么写?

时下Spring Cloud Netflix全家桶已经成为了事实上的微服务实践落地的不二选择,笔者在公司也负责、参与一系列的微服务改造项目,该系列文章涵盖了笔者从刚接触该技术栈的入门到实战,再到源码分析的整个过程,是对自己经历的一次梳理,希望对您也有所帮助。

Read More

2019-07-18
使用vim的宏录制功能格式化注释文档

起因

经常看各类 javadoc 发现有一类 doc 并没有被做成标准的 doc 格式,直接复制出来想翻译一下,需要做一些预处理,比如删除注释、合并断行,前者各种编辑器的列模式搞定,后者就坑爹了,之前是手工一行一行的删除换行符,然后加空格的,非常坑爹。对于这类重复性操作,使用 vim 的宏录制就再好不过了。

Read More

2017-02-08
TreeSet内部原理

问题

  • TreeSet真的是使用TreeMap来存储元素的吗?
  • TreeSet是有序的吗?
  • TreeSet和LinkedHashSet有何不同?
Read More

2017-02-01
HashSet内部原理

问题

  • 集合(Collection)和集合(Set)有什么区别?
  • HashSet怎么保证添加元素不重复?
  • HashSet是否允许null元素?
  • HashSet是有序的吗?
  • HashSet是同步的吗?
  • 什么是fail-fast?
Read More

2016-09-02
JDK源码阅读心得

简介

最近写了一些 java 核心技术的文章放在 WikiNotes里,有些体会也想在这里记录一下。 这篇文章主要讲述jdk本身的源码该如何阅读,关于各种框架的源码阅读我们后面再一起探讨。

Read More

2016-08-11
WeakHashMap内部原理

简介

WeakHashMap是一种弱引用map,内部的key会存储为弱引用,当jvm gc的时候,如果这些key没有强引用存在的话,会被gc回收掉,下一次当我们操作map的时候会把对应的Entry整个删除掉,基于这种特性,WeakHashMap特别适用于缓存处理。

Read More