GaryLee's Blog
Kafka 2026.01.17
Kafka的消息是怎么读写的?
一、写操作1、Kafka存储模型=分区(Partition)+日志分段(Log Segment)在Kafka中每个Topic都被分成多个分区,每个分区都是一个有序、不可变的消息日志流(只追加不修改)同时为了避免单个日志文件过大导致IO效率低
2026-01-17
Kafka 2026.01.17
Kafka如果选举Leader时ISR为空怎么办?
一、背景:什么时候会发生Leader选举?当Controller检测到Leader不可用的时候,会重新选举新的Leader,其中Leader不可用的原因可能如下: Leader节点宕机:检测Leader所在Broker进程异常,导致心跳超
2026-01-17
场景题 2024.03.18
如何设计一个IM系统?
一、什么是IM系统?IM系统是即时通讯(Instant Messaging)系统的简称。它是一种实时、私密、便捷的在线通讯方式。用户可以通过文字、图片、音频、视频等多种方式进行信息交换。常见的即时通讯工具有微信、QQ等。 常见的IM术语:
2024-03-18
Golang 2024.02.22
Go的时间格式化为什么是2006-01-02 15:04:05?
一、背景在使用Java做时间格式化时,我们一般会用yyyy-MM-dd HH:mm:ss来表示某年某月某日某小时某分钟某秒的时间,但是到了Goland这边却是用2006-01-02 15:04:05,为什么呢? 所以我就有几个疑问: 为什
2024-02-22
Golang 2024.02.22
Go和Java有什么区别?
一、Go和Java有什么区别?1、接口 Go:只要实现了某个接口的所有方法,那么就认为它实现了该接口package main import "fmt" type Animal interface { // 叫声 shout() }
2024-02-22
Golang 2024.02.21
如何优雅停止Go进程?
一、什么是优雅停止?顾名思义,优雅停止就是优雅地停止正在运行的程序,目的是为了让程序停止的时候尽可能完成还没完成的逻辑,对于一个HTTP服务来说就是尽可能完成还没完成的请求并且不再接收新请求。 反之,如果不优雅停止,程序会将提供HTTP服务
2024-02-21
文章 2024.02.11
Go学习之路:开发工具
📅 时间工具 时间戳转换工具 crontab执行时间计算 💻 代码工具 sql生成go结构体 json生成go结构体 JSON在线解析及格式化验证 📖 文档 GORM-Go语言的ORM框架
2024-02-11 GaryLee
Go学习之路 Go学习之路
从入门到放弃
2024-02-06 GaryLee
场景题 2023.12.05
如何设计一个站内消息系统?
一、什么是站内消息系统?如图所示,以微博为例,这些评论、点赞等消息加起来就叫做站内消息系统。 站内消息系统大概有以下几项内容: 系统消息:如系统下发的一些公共信息等都叫做系统消息,即系统发给用户的消息 行为消息:如评论、点赞等互动行为产生
2023-12-05
场景题 2023.12.05
如何设计一个动态Feed流系统?
一、什么是Feed流?Feed流就是能够实时/智能推送消息的数据流,如微博、朋友圈、动态等都属于Feed流。 Feed流有几个重要的概念: Feed:每一条消息都是一个Feed,如微博中的每一条微博等 Feed流:多个Feed组成一个Fe
2023-12-05
2 / 17