上一页 1 2 3 4 5 6 7 8 ··· 67 下一页
摘要: 分区器 消息在通过 send() 方法发往 broker 的过程中,有可能需要经过拦截器(Interceptor)、序列化器(Serializer)和分区器(Partitioner)的一系列作用之后才能被真正地发往 broker。拦截器(下一章会详细介绍)一般不是必需的,而序列化器是必需的。消息经过 阅读全文
posted @ 2023-02-24 23:43 Dazzling! 阅读(148) 评论(0) 推荐(0) 编辑
摘要: 序列化 生产者需要用序列化器(Serializer)把对象转换成字节数组才能通过网络发送给 Kafka。而在对侧,消费者需要用反序列化器(Deserializer)把从 Kafka 中收到的字节数组转换成相应的对象。 消息的 key 和 value 都使用字符串,对应程序中的序列化器也使用了客户端自 阅读全文
posted @ 2023-02-24 14:05 Dazzling! 阅读(866) 评论(0) 推荐(0) 编辑
摘要: 参数配置 bootstrap.servers:该参数用来指定生产者客户端连接 Kafka 集群所需的 broker 地址清单,具体的内容格式为 host1:port1,host2:port2,可以设置一个或多个地址,中间以逗号隔开,此参数的默认值为“”。注意这里并非需要所有的 broker 地址,因 阅读全文
posted @ 2023-02-24 00:27 Dazzling! 阅读(80) 评论(0) 推荐(0) 编辑
摘要: 什么是 ZooKeeper 假设对 ZooKeeper 中的数据做了变更(比如新增了一台 Kafka 或者挂掉了一个 Kafka 节点),这时候 ZooKeeper 会主动通知其他监听这个数据的客户端,立即告诉其他客户端说这份元数据有变更。 ZooKeeper 的设计十分巧妙,它的主动通知机制采取的 阅读全文
posted @ 2023-02-19 21:32 Dazzling! 阅读(120) 评论(0) 推荐(0) 编辑
摘要: 对于一个数据存储系统来说,如何保证数据可靠性、提高读写吞吐量是重中之重。 一、文档分布式存储的流程 我们知道 ES 的索引有一个或者多个分片,而分片又分为主分片和副本分片两种。 那数据写入索引的过程是怎么样的呢?数据写入主分片和副分片的流程又是怎样的呢? 文档分布式存储首先需要找到能存储文档的主分片 阅读全文
posted @ 2023-02-16 11:59 Dazzling! 阅读(1159) 评论(0) 推荐(0) 编辑
摘要: 如上图,这个倒排索引使用哈希表来实现也是可以的,其有着 O(1) 查询复杂度,能完美地满足我们的需求。但是呢,现实中数据往往是海量的,如果简单地使用哈希表来实现倒排索引是不可行的,因为存储海量的数据时,系统将会面临下面几个问题: 分词形成的词项(term)可能是海量的,需要可以在内存和磁盘上高效存储 阅读全文
posted @ 2023-02-16 10:50 Dazzling! 阅读(204) 评论(0) 推荐(0) 编辑
摘要: 垃圾回收算法 新生代中因为对象都是“朝生夕死的”,深入理解JVM虚拟机上说98%的对象存活率很低,适用于复制算法,复制算法比较适合用于存活率低的内存区域。它优化了标记/清除算法的效率和内存碎片问题。 老年代中存活率较高,要是使用复制算法,每次都要复制大量的对象,会浪费大量的时间,因此复制算法不适合回 阅读全文
posted @ 2023-02-12 16:54 Dazzling! 阅读(11) 评论(0) 推荐(0) 编辑
摘要: Java 内存模型规定了 JVM 应该如何使用计算机内存(RAM)。 广义来讲, Java 内存模型分为两个部分: JVM 内存结构 JMM 与线程规范 其中,JVM 内存结构是底层实现,也是我们理解和认识 JMM 的基础。 大家熟知的堆内存、栈内存等运行时数据区的划分就可以归为 JVM 内存结构。 阅读全文
posted @ 2023-02-09 16:15 Dazzling! 阅读(57) 评论(0) 推荐(0) 编辑
摘要: 字符集简介 我们知道在计算机中只能存储二进制数据,那该怎么存储字符串呢?当然是建立字符与二进制数据的映射关系了,建立这个关系最起码要搞清楚两件事儿: 你要把哪些字符映射成二进制数据? 也就是界定清楚字符范围。 怎么映射? 将一个字符映射成一个二进制数据的过程也叫做编码,将一个二进制数据映射到一个字符 阅读全文
posted @ 2023-02-07 00:05 Dazzling! 阅读(80) 评论(0) 推荐(0) 编辑
摘要: 为什么要学习 RocketMQ? 相信无论是前端还是后端的同学,不管是在平常的自我充电、还是日常的工作中,对 RocketMQ、Kafka 等主流消息队列多多少少都有一定的了解。现在的服务端架构中,一个业务模块中的服务往往会根据一定维度拆分成多个服务。而消息队列大家可以理解为 多个服务、系统之间沟通 阅读全文
posted @ 2023-02-05 14:53 Dazzling! 阅读(128) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 ··· 67 下一页