Go学习项目推荐
Go语言(Golang)因其简洁、高效、出色的并发支持以及强大的标准库,在开源社区有大量优秀的项目。以下是一些适合学习和巩固Go语言基础知识的开源项目推荐,您可以根据自己的兴趣和学习方向进行选择:
个人博客
关于软件、系统设计与持续学习。文章由 Notion 写作并在这里发布。
目前已发布 307 篇文章。
筛选结果
共 263 篇
Go语言(Golang)因其简洁、高效、出色的并发支持以及强大的标准库,在开源社区有大量优秀的项目。以下是一些适合学习和巩固Go语言基础知识的开源项目推荐,您可以根据自己的兴趣和学习方向进行选择:
列出一些之前提到过的,以及其他一些适合学习和练手的Rust项目的具体GitHub地址:
CAP定理是分布式系统设计中的核心原则,由Eric Brewer提出,指出在面临网络分区(Partition Tolerance, P)时,系统无法同时保证一致性(Consistency, C)和可用性(Availability, A)。
以下是主流的日志采集中间件(工具),它们在功能、性能及适用场景上各有特点,可根据具体需求选择:
Kafka 生产者发送消息时,可以通过三种方式来指定消息发送到哪个分区,以满足如“同一订单编号消息落到同一分区”等顺序性或分区控制的需求。
Kafka 中的 死信队列(Dead Letter Queue, DLQ) 实现,并不是 Kafka 原生内置的功能,而是通过 业务逻辑约定 或 框架支持 来实现的。它的本质是:在消费失败后将消息主动发送到另一个特殊的 Topic 中,由开发者或框架负责这部分逻辑。
消息积压是指在 Kafka 消费者无法及时消费消息时,导致消息在 Topic 中的分区积压(即未消费的消息数量不断增加)。这种情况通常会发生在以下场景中: • 消费者的消费能力不足,处理速度慢; • 消费者实例数量不足,无法处理大量消息; • 消费者与生产者之间的处理速度差异较大。 为了确保系统的健康运行,及时处理消息积压是非常重要的。下面将介绍几种常见的解决方案。
Kafka 的分区(Partition)数是决定 并行度、吞吐能力、可扩展性与消息顺序性 的关键参数。在实际生产环境中合理配置分区数,是设计 Kafka 架构的重要一环。
主题索引