SF
程序通事
程序通事
注册登录
关注博客
注册登录
主页
关于
RSS
不知道如何实现服务的动态发现?快来看看 Dubbo 是如何做到的
楼下小黑哥
2019-09-28
阅读 9 分钟
2.3k
上篇文章如果有人问你 Dubbo 中注册中心工作原理,就把这篇文章给他大致了解了注册中心作用以及 Dubbo Registry 模块源码,这篇文章将深入 Dubbo ZooKeeper 模块,去了解如何实现服务动态的发现。
rocketmq 部署启动指南-Docker 版
楼下小黑哥
2019-09-04
阅读 5 分钟
3.7k
在搭建之前,我们需要做一些准备工作,这里我们需要使用 docker 搭建服务,所以需要提前安装 docker。此外,由于 rocketmq 需要部署 broker 与 nameserver ,考虑到分开部署比较麻烦,这里将会使用 docker-compose。
SPI 机制-插件化扩展功能
楼下小黑哥
2019-08-29
阅读 3 分钟
2.7k
SPI(Service Provider Interfaces),中文直译服务提供者接口,一种服务发现机制。可能很多人都不太熟悉这个机制,但是平常或多或少都用到了这个机制,比如我们使用 JDBC 连接操作数据库的时候。
ZooKeeper 相关概念以及使用小结
楼下小黑哥
2019-08-23
阅读 5 分钟
2.8k
Dubbo 通过注册中心在分布式环境中实现服务的注册与发现,而注册中心通常采用 ZooKeeper,研究注册中心相关源码绕不开 ZooKeeper,所以学习了 ZooKeeper 的基本概念以及相关 API 操作。
如果有人问你 Dubbo 中注册中心工作原理,就把这篇文章给他
楼下小黑哥
2019-08-21
阅读 5 分钟
1.5k
当然可以,只要知道服务提供者地址相关信息,消费者配置之后就可以调用。如果只有几个服务,这么玩当然没问题。但是生产服务动辄成千上百,如果每个服务都需要手写配置信息,想象一下是多么麻烦。
为什么双重检查锁模式需要 volatile ?
楼下小黑哥
2019-08-15
阅读 3 分钟
1.2k
双重检查锁定(Double check locked)模式经常会出现在一些框架源码中,目的是为了延迟初始化变量。这个模式还可以用来创建单例。下面来看一个 Spring 中双重检查锁定的例子。
ibatis 核心原理解析
楼下小黑哥
2019-08-10
阅读 4 分钟
1.7k
最近查找一个生产问题的原因,需要深入研究 ibatis 框架的源码。虽然最后证明问题的原因与 ibatis 无关,但是这个过程加深了对 ibatis 框架原理的理解。
深入学习 Intellij IDEA 调试技巧
楼下小黑哥
2019-07-31
阅读 3 分钟
3.2k
程序员的日常工作除了写代码之外,很大一部分时间将会在查找 BUG,解决问题。查找 BUG,离不开在 IDE 中调试代码。熟练的掌握调试技巧,可以帮助我们减少查找时间,快速定位问题。
Spring 注解编程之注解属性别名与覆盖
楼下小黑哥
2019-07-20
阅读 4 分钟
2.3k
前两篇文章咱聊了深入了解了 Spring 注解编程一些原理,这篇文章我们关注注解属性方法,聊聊 Spring 为注解的带来的功能,属性别名与覆盖。
Spring 注解编程之 AnnotationMetadata
楼下小黑哥
2019-07-13
阅读 4 分钟
3k
在上篇文章 Spring 注解编程之模式注解 中我们讲到 Spring 模式注解底层原理,依靠 AnnotationMetadata 接口判断是否存在指定元注解。 这篇文章我们主要深入 AnnotationMetadata,了解其底层原理。 Spring 版本为 5.1.8-RELEASE AnnotationMetadata 结构 使用 IDEA 生成 AnnotationMetadata 类图,如下: AnnotationMeta...
Spring 注解编程之模式注解
楼下小黑哥
2019-07-01
阅读 5 分钟
1.5k
上篇文章研究 Spring XML Schema 扩展进制,这段时候一直研究 Spring 注解编程的原理。原本以为有了之前研究基础,可以很快理解注解编程原理。没想到这个过程非常困难,注解编程源码难度是 XML 扩展好几倍。o(╥﹏╥)o。
缘起 Dubbo ,讲讲 Spring XML Schema 扩展机制
楼下小黑哥
2019-06-16
阅读 6 分钟
1.8k
在 Dubbo 中,可以使用 XML 配置相关信息,也可以用来引入服务或者导出服务。配置完成,启动工程,Spring 会读取配置文件,生成注入 相关 Bean。那 Dubbo 如何实现自定义 XML 被 Spring 加载读取?
还不知道如何使用 IDEA ?教你三招快速掌握 IDEA
楼下小黑哥
2019-05-30
阅读 2 分钟
2.3k
IntelliJ IDEA 是一个非常强大的 IDE,拥有许多功能。在 IDEA 中大部分功能都可以用快捷键去完成,如果掌握了大部分快捷键,可以只使用键盘开发了。
从源码解析 Spring JDBC 异常抽象
楼下小黑哥
2019-05-25
阅读 4 分钟
1.5k
初入学习 JDBC 操作数据库,想必大家都写过下面的代码: 数据库为:H2 如果需要处理特定 SQL 异常,比如 SQL 语句错误,这个时候我们应该怎么办? 查看 SQLException 源码,我们可以发现两个重要的方法。 SQLException.getErrorCode:返回数据库特定的错误码,由数据库厂商制定,不同厂商错误码不同。如重复主键错误码在 ...
Dubbo 2.7.1 踩坑记
楼下小黑哥
2019-05-16
阅读 3 分钟
2.3k
Dubbo 2.7 版本增加新特性,新系统开始使用 Dubbo 2.7.1 尝鲜新功能。使用过程中不慎踩到这个版本的 Bug。 系统架构 Spring Boot 2.14-Release + Dubbo 2.7.1 现象 Dubbo 服务者启动成功,正常提供服务,消费者调用偶现失败的情况。错误如下图: 可以看出,主要原因为 cause: message can not send, because channel is c...
为什么选择 Intellij IDEA 作为日常开发工具
楼下小黑哥
2019-01-13
阅读 5 分钟
2.7k
作为一个从事 Java 开发的程序员,每天离不开编辑器的帮助。还记得刚开始学习 Java 编程的时候,使用 Eclipse 作为日常开发工具。后来工作以后,需要使用 Intellij IDEA,刚开始其实并不想怎么用。毕竟 Eclipse 已经足够强大,可以满足日常开发的需求,何必再花时间再去学习其他工具那。刚开始改变是困难的。但是没办法...
一次慢查询暴露的隐蔽的问题
楼下小黑哥
2019-01-05
阅读 4 分钟
2.3k
最近业务上需要上线一个预警功能,需要查出一段时间内交易,求出当前交易成功率。当成功率低于设定阈值时,短信预警。业务逻辑很简单,测试环境测试也没问题之后,部署上线。实际生产运行时却发现每次 SQL 查询需要花费 60 多秒。
聊聊我的 Java 自学之路
楼下小黑哥
2018-12-25
阅读 4 分钟
1.4k
最近经常在知乎收到类似『没基础,java 如何自学』、『怎么才能掌握编程』等等问题,再加上发现高中同学也在自学。有感而发,讲讲我的自学之路。
从源码学习设计模式之模板方法
楼下小黑哥
2018-12-19
阅读 5 分钟
1.6k
模板方法模式定义了一个算法的步骤,并允许子类别为一个或多个步骤提供其实践方式。让子类别在不改变算法架构的情况下,重新定义算法中的某些步骤。在软件工程中,它是一种软件设计模式,和C++模板没有关连。
聊聊分布式事务
楼下小黑哥
2018-12-14
阅读 6 分钟
3.1k
数据库系统具有事务特性,这是其有别与文件系统重要特性。传统的文件系统,如果正在写文件,操作系统突然崩溃,此时文件可能被破坏。数据库系统引入事务特性,可以保证数据库从一种状态转换为另一种状态。在提交工作时,可以确保要么所有修改都被保存,要么所有都不保存。
数据库相关异常分析
楼下小黑哥
2018-12-11
阅读 6 分钟
4.8k
起因 最近一段时间,生产系统持续碰到一些数据库异常,导致 sql 执行失败。 应用环境 Java 1.7 + Mysql 5.6 + spring + ibatis 问题排查 将各种失败的异常记录了一下,碰到最多下面几种异常。 java.net.SocketTimeoutException: Read timed out java.sql.BatchUpdateException: No operations allowed after statement c...
小心递归中内存泄漏
楼下小黑哥
2018-12-10
阅读 4 分钟
1.9k
前段时间由于业务需要,需要从数据库中查询出来所有满足条件的数据,然后导入到文件中。于是随便写了个程序,查询出所有满足条件然后再写入文件。但是实际上线后却发现,程序刚开始运行马上看到部分数据写入到文件,但是后面运行越来越慢,于是对此分析排查了一下。
1
2
3
(current)
上一页
3
(current)
下一页