引:NameSrv是RocketMQ的注册中心,保存所有Broker、Topic的元数据。Broker启动后会向namesrv发送心跳,namesrv也会定时检测broker的可用性,并移除不可用的broker。对于生产者和消费者来说,它提供了Broker的查询服务。
DDD Flag
引:上周看完了Eric Evans 的《领域驱动设计—软件核心复杂性应对之道》,影响比较深的就是是这样一句话——软件的核心是其为用户解决领域相关问题的能力。
再看单元测试
引:对于大部分开发来说,写单元测试时一件多么痛苦的事呀!
RocketMQ源码分析——环境搭建
引:终于要开始了吗,一直想好好弄清楚一款MQ,作为一名Javaer,肯定选择RocketMQ,希望今天是一个好开始!
CSAPP读后感
引:对于一个非科班的程序员,计算机基础可能永远都是他的梦魇。我也不例外,虽然之前也看过计算机组成,操作系统,计算机网络,数据结构与算法,但是可能都是自学,然后有点浮于表面,让自己的心里一直都不太踏实。CSAPP是自己一直想读的书,但是很多时候看了两章就放弃了,这次算是坚持了3个星期看完了它,然后发表水文一篇!证明自己来过🤣
JVM源码——劝退待起航
原以为可以平结自己略懂的C++去看JVM源码,但是等到自己真正去打开源码,就算是对着博客看,也是十分吃力,还看了知乎R大对看JVM源码的看法。SO,我被自己和R大劝退了,可能目前的自己还不适合去看,希望自己以后有需要有梦想再来看!
JVM源码——Mac下编译JDK
引:好像是在大四的时候,自己按照《深入理解Java虚拟机》去编译JDK没有成功!但是在最近经历一些面试之后,感到JVM绝对是面试的一块重点,而看源码绝对是你深入理解JVM的一个很重要的点!在看源码,就需要调试,那么编译自己JDK越是必然的。这次我们在Mac下去编译OpenJDK9!!!
分布式事务
众所周知,事务可以保证一组操作要么全都正确执行,要么全都不执行。目前的数据库只能支持同一个数据库中的事务。但现在的系统往往采用微服务架构,业务系统拥有独立的数据库,因此就出现了跨多个数据库的事务需求,这个时候就需要使用分布式事务啦!
分布式锁
在单机场景下,可以使用语言的内置锁(如JDK中的ReentrantLcok或者synchronized)来实现进程同步。但是在分布式场景下,需要同步的进程可能位于不同的节点上,那么就需要使用分布式锁。
consistent hashing algorithm
引:在分布式集群中,对机器的添加删除,或者机器故障后自动脱离集群这些操作是分布式集群管理最基本的功能。如果采用常用的hash(object)%N算法,那么在有机器添加或者删除后,很多原有的数据就无法找到了,这时候一致性哈希算法就站出来了!