摘要: GroupCoordinator是KafkaServer的一个组件,每个KafkaServer实例都有一个GroupCoordinator成员,它的主要功能有: 负责管理消费组,包括消费组的位移提交和消费组的成员管理,GroupCoordinator存储着消费组的成员元信息。 负责Consumer 阅读全文
posted @ 2022-11-25 09:41 晨枫1 阅读(933) 评论(0) 推荐(1) 编辑
摘要: 1. 基本概念 消费kafka消息的客户端称为consumer,consumer负责订阅kafka的topic,并从该topic上拉取消息。除了consumer本身,kafka还有一个消费组(consumer group)的概念。每个kafka consumer都属于一个消费者组,一条消息只会被一个 阅读全文
posted @ 2022-11-21 10:49 晨枫1 阅读(264) 评论(0) 推荐(0) 编辑
摘要: 前言 本系列是kafka相关的第一篇,主要对kafka的producer和consumer进行介绍。此系列不会对kafka的原理进行介绍,因此需要读者有一定的kafka背景知识和使用经验。 1. producer整体架构 kafka的生产者,是异步生产,主要由两个线程组成。主线程通过send()方法 阅读全文
posted @ 2022-11-16 10:56 晨枫1 阅读(171) 评论(0) 推荐(0) 编辑
摘要: 前言 在 Engine与Context 中,我们提到了Context的作用之一就是解析request请求并实现request在上下游的传递,其中的解析request调用的是binding相关的函数,解析完数据,还需要对数据进行有效性验证,这部分是通过validator相关的函数实现的。本章重点讲解b 阅读全文
posted @ 2022-10-23 14:31 晨枫1 阅读(1669) 评论(0) 推荐(0) 编辑
摘要: 前言 在上一章,我们讲述了request请求是如何在gin中流转的,其中提到了两个比较重要的结构体Engine和Context。Engine在gin中充当server的角色,Context则负责对request的封装(类似net/http中的request),本章详细介绍一下这两个结构体及其作用。 阅读全文
posted @ 2022-10-23 13:39 晨枫1 阅读(878) 评论(0) 推荐(0) 编辑
摘要: 前言 本篇为gin框架的第二篇,主要讲述gin框架如何接收一次http请求,并执行对应的请求处理函数,即request请求在gin框架中的流转过程。gin框架的底层,仍然是采用go原生网络库net/http,遵循one connection per goroutine。因此在讲述gin的请求处理之前 阅读全文
posted @ 2022-10-23 10:26 晨枫1 阅读(965) 评论(0) 推荐(0) 编辑
摘要: 1. 前言 本篇是对gin框架源码解析的第一篇,主要讲述gin的路由httprouter的原理:radix tree(压缩字典树)。 2. Trie(字典树) 在讲述radix tree之前,不得不简单提到radix tree的基础版本trie,又叫字典树,前缀匹配树(prefix tree),适合 阅读全文
posted @ 2022-10-21 10:47 晨枫1 阅读(847) 评论(0) 推荐(0) 编辑
摘要: 前言 在日常开发中,队列是常用到的数据结构,BlockQueue、PriorityQueue、DelayQueue更是其中的重点。BlockQueue即阻塞队列,当队列满时,继续发送会阻塞;当队列为空时,继续接收会阻塞,是典型的生产-消费类型。PriorityQueue基于MaxHeap/MinHe 阅读全文
posted @ 2022-05-30 10:10 晨枫1 阅读(785) 评论(0) 推荐(0) 编辑
摘要: 分布式系统中,数据需要在多个节点之间进行同步。由于不可靠的网络传输,难以统一的时间戳等问题,如何保证分布式系统数据的一致性,一直是一个比较复杂的问题。本文重点介绍分布式系统一致性问题产生的原因和解决方案的发展过程,属于概述性文章,需要读者有一定的分布式基础概念的了解。 1. 数据复制模型 分布式系统 阅读全文
posted @ 2021-12-19 19:54 晨枫1 阅读(495) 评论(0) 推荐(0) 编辑
摘要: 前言 网络一直是一个老生常谈的内容,谈及网络编程,始终离不开网络编程的五种模型:阻塞IO(Blocking IO),非阻塞IO(Nonblocking IO),多路复用IO(Multiplexing IO),事件驱动IO(Signal driven IO)和异步IO(Asyncronous IO)。 阅读全文
posted @ 2021-11-28 22:11 晨枫1 阅读(885) 评论(0) 推荐(0) 编辑