摘要:最近学习使用 rocketmq,需要搭建 rocketmq 服务端,本文主要记录 rocketmq 搭建过程以及这个过程踩到的一些坑。 准备工作 在搭建之前,我们需要做一些准备工作,这里我们需要使用 docker 搭建服务,所以需要提前安装 docker。此外,由于 rocketmq 需要部署 br 阅读全文
posted @ 2019-09-04 09:48 good_andyxu 阅读 (179) 评论 (1) 编辑
摘要:SPI(Service Provider Interfaces),中文直译服务提供者接口,一种服务发现机制。可能很多人都不太熟悉这个机制,但是平常或多或少都用到了这个机制,比如我们使用 JDBC 连接操作数据库的时候。 SPI 主要适用于功能扩展的场景,如一些框架提供某一部分功能可以由第三方开发人员 阅读全文
posted @ 2019-08-29 10:00 good_andyxu 阅读 (184) 评论 (2) 编辑
摘要:Dubbo 通过注册中心在分布式环境中实现服务的注册与发现,而注册中心通常采用 ZooKeeper,研究注册中心相关源码绕不开 ZooKeeper,所以学习了 ZooKeeper 的基本概念以及相关 API 操作。 ZooKeeper 相关概念 session 客户端与服务端采用 TCP 长连接,服 阅读全文
posted @ 2019-08-23 19:54 good_andyxu 阅读 (195) 评论 (0) 编辑
摘要:注册中心作用 开篇首先想思考一个问题,没有注册中心 Dubbo 还能玩下去吗? 当然可以,只要知道服务提供者地址相关信息,消费者配置之后就可以调用。如果只有几个服务,这么玩当然没问题。但是生产服务动辄成千上百,如果每个服务都需要手写配置信息,想象一下是多么麻烦。 好吧,如果上面的问题都不是事的话,试 阅读全文
posted @ 2019-08-21 12:15 good_andyxu 阅读 (424) 评论 (0) 编辑
摘要:双重检查锁定(Double check locked)模式经常会出现在一些框架源码中,目的是为了延迟初始化变量。这个模式还可以用来创建单例。下面来看一个 Spring 中双重检查锁定的例子。 这个例子中需要将配置文件加载到 中,由于读取资源比较耗时,所以将动作放到真正需要 的时候。我们可以看到 前面 阅读全文
posted @ 2019-08-15 10:27 good_andyxu 阅读 (284) 评论 (0) 编辑
摘要:最近查找一个生产问题的原因,需要深入研究 ibatis 框架的源码。虽然最后证明问题的原因与 ibatis 无关,但是这个过程加深了对 ibatis 框架原理的理解。 这篇文章主要就来讲讲 ibatis 框架的原理。 可能现在很多人已不再使用 ibatis 或者说也没听 ibatis,不过肯定了解过 阅读全文
posted @ 2019-08-10 13:52 good_andyxu 阅读 (131) 评论 (0) 编辑
摘要:程序员的日常工作除了写代码之外,很大一部分时间将会在查找 BUG,解决问题。查找 BUG,离不开在 IDE 中调试代码。熟练的掌握调试技巧,可以帮助我们减少查找时间,快速定位问题。 在 IDEA 中调试代码很方便,只要开启调试,在相应代码处使用断点,然后进行相应调试即可。正是因为只要掌握这几个功能, 阅读全文
posted @ 2019-07-31 20:44 good_andyxu 阅读 (674) 评论 (0) 编辑
摘要:深入学习 Spring `AnnotationMetadata`,了解其注解底层原理。 阅读全文
posted @ 2019-07-20 18:03 good_andyxu 阅读 (403) 评论 (0) 编辑
摘要:前两篇文章咱聊了深入了解了 Spring 注解编程一些原理,这篇文章我们关注注解属性方法,聊聊 Spring 为注解的带来的功能,属性别名与覆盖。 注解属性方法 在进入了解 Spring 注解属性功能之前,我们先看一个正常 Java 注解。 在注解中,属性方法与其他类/接口方法写法类似,但是存在一些 阅读全文
posted @ 2019-07-13 16:45 good_andyxu 阅读 (399) 评论 (1) 编辑
摘要:上篇文章研究 [Spring XML Schema 扩展进制](https://juejin.im/post/5d06018b518825276a286a3d),这段时候一直研究 Spring 注解编程的原理。原本以为有了之前研究基础,可以很快理解注解编程原理。没想到这个过程非常困难,注解编程源码难度是 XML 扩展好几倍。o(╥﹏╥)o。 阅读全文
posted @ 2019-07-01 17:19 good_andyxu 阅读 (424) 评论 (0) 编辑