Golang Kafka入门

这是我在过去两周内接触Apache Kafka的经验。 甚至几个月前,我的CTO都向我介绍了Kafka,但是我仍然对如何向Kafka生成和使用数据存在一些问题,只是有空闲时间再次查看它。 我遇到的最困难的部分是当我尝试设置使用docker运行的Kafka集群时。 虽然那里有一些开源的docker镜像,但是它们只是一个在单个节点上运行Kafka的示例。 在本文中,我将向您简要介绍什么是Kafka,如何使用Docker进行设置,以及如何创建简单的程序来产生和使用来自Kafka的消息。 这篇文章的幕后故事是关于“如何使API更快地保存数据,从而降低延迟并可以服务更多的客户端。”此外,该文章还打算在Qiscus上用作内部工程展示(是的)。 ,我们在Qiscus会定期将内部共享设置为到目前为止所学的知识)。 因此,让我们从Apache Kafka本身开始。 Apache Kafka是一个开放源代码的流处理软件平台,始于Linkedin。 它是用Scala和Java编写的。 Kafka基于提交日志,这意味着Kafka存储记录日志,并且它将跟踪正在发生的事情。 该提交日志与RDBMS的常用用法相似。 为了更容易想象,它更像一个队列,您总是在尾部附加新数据。 虽然看起来很简单,但是在Kafka中,它可以将记录维护在具有相同主题的多个分区中。 基于Kafka文档的主题是将记录发布到的类别或feed名称。…