- 博客(11)
- 资源 (4)
- 收藏
- 关注
原创 汉明重量/汉明距离
汉明重量/汉明距离布赖恩·克尼根位计数算法的基本思想。该算法使用特定比特位和算术运算移除等于 1 的最右比特位。当我们在 number 和 number-1 上做 AND 位运算时,原数字 number 的最右边等于 1 的比特会被移除。基于以上思路,通过 2 次迭代就可以知道 10001000 中 1 的位数,而不需要 8 次。汉明距离即 异...
2021-04-21 15:02:53 518
原创 RocketMq和kafka消息发送流程对比
RocketMq和kafka消息发送流程对比RocketMq消息发送流程具体实现在sendDefaultImpl中首先确保producer的启动状态 check消息的完整性 根据topic的name去拿最近的topic信息(该信息第一次从nameServer更新获取),并将topic信息保存在topicPublishInfoTable(所有发送者的topic的本地缓存,消费者的缓存在re...
2021-04-12 15:17:19 163
转载 kafka事务消息处理
转自:http://matt33.com/2018/11/04/kafka-transaction/侵删这篇文章是 Kafka Exactly-Once 实现系列的第二篇,主要讲述 Kafka 事务性的实现,这部分的实现要比幂等性的实现复杂一些,幂等性实现是事务性实现的基础,幂等性提供了单会话单 Partition Exactly-Once 语义的实现,正是因为 Idempotent Producer 不提供跨多个 Partition 和跨会话场景下的保证,因此,我们是需要一种更强的事务保证,能够原子.
2021-04-12 11:52:21 3327
原创 分布式数据一致性算法
分布式数据一致性算法在分布式系统中,多个数据节点保持数据一致的一种协议.强一致性协议:paxos、raft、zab弱一致性协议:gossip已实现的例子Google的Chubby分布式锁服务,采用了Paxos算法 etcd分布式键值数据库,采用了Raft算法 ZooKeeper分布式应用协调服务,Chubby的开源实现,采用ZAB算法 TIDB SERV...
2021-04-01 11:35:12 326
原创 TIDB初识
TIDB初识整体架构图负载均衡层TIDB SERVER层TIKV层分布式数据一致(主从同步)分布式的事务一致(不同region 数据操作同步)PD集群整体架构图负载均衡层这一次层其实属于非TIDB的架构层,不过为了方便整体性的理解,这里简单叙述下.由于TIDB SERVER层是一个无状态的集群,所以外部客户端访问的时候,需要通过一个负载路由到某一台TIDB SERVER.TIDB SERVER层这一层通过mysql原生的协议与应用applocation层交互。接收来自应用层的sql请求。接收到
2021-03-31 21:22:20 173 1
原创 Java 面向对象设计
java中基础设计原则 设计原则大概有6条。但是归纳下来,其实就说了2点。 1、对扩展开放、对修改关闭 a.开闭原则: 对功能的扩展开发,对功能的修改关闭。鼓励扩展,拒绝修改。 b.里氏替换原则: 基类出现的地方,其子类都可以出现。其实算是java多态性的一种体现,也是实现开闭的手段。目测,jdk中有部分源码是违反这...
2018-08-27 11:54:19 90
转载 Kafka学习
Kafka消费组(consumer group) 一直以来都想写一点关于kafka consumer的东西,特别是关于新版consumer的中文资料很少。最近Kafka社区邮件组已经在讨论是否应该正式使用新版本consumer替换老版本,笔者也觉得时机成熟了,于是写下这篇文章讨论并总结一下新版本consumer的些许设计理念,希望能把consumer这点事说清楚,从而对广大使用者有所帮助。...
2018-07-16 18:59:15 107
原创 NIO学习-1-文件描述符
一、什么是文件描述符在Linux下一切皆文件,对于内核而言,所有打开的文件都通过文件描述符引用,文件描述符是一个非负整数,当打开一个现有文件或者创建一个新文件时,内核向进程返回一个文件描述符。当读、写一个文件时,使用open或creat返回文件描述符标示该文件,将其作为参数传送给read或write.在linux中,进程是通过文件描述符(file descriptors 简称fd)来访问文件的,文...
2018-06-30 18:36:22 887
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人