kafka netty
介绍
在上一个博客中 ,我介绍了Netty用作Web服务器。 该示例运行良好……只要需要广播服务器即可。
大多数情况下不是很有用。 更有可能的是,每个客户端仅接收针对其的数据,并保留了特殊情况下的广播,例如“服务器在15分钟内停机!” 关于该特定服务器示例的另一件事是,一切都是独立的。 例如,单片应用程序很好,但是在当今环境中,分布式微服务要好得多。 可伸缩性和可靠性至关重要。
Netty和Kafka在一起很棒。 Netty擅长处理大量客户,Kafka擅长使大量服务协同工作。 结合起来,它们是开发中的最佳选择。 但是,有些“陷阱”可能会使其变得繁琐。 该博客以及示例微服务/ Netty体系结构和功能全面的代码将有望帮助减轻烦恼并实现甜味。
第一要务
示例代码位于此处 。
有详细的自述文件,描述了设置环境所需的内容。 我试图将需求降到最低,仅Java 8和Maven 。 SLF4J和Logback用于记录日志。 我为Mac OSX和Ubuntu设置了脚本(我在Parallels容器中运行的14.04版本是我测试过的脚本),因此如果您在Windows上进行开发,则表示歉意。 该代码全是Java,并且我在Windows上看到过Kafka教程,因此所有内容都应在此处运行。 Maven构建也应该产生可以启动的目标,因此,在安装Zookeeper / Kafka的时候加了一点肘油(您可以按照脚本查看需要的设置),手动运行它并不重要。视窗。
注:如README.md
中所述,该脚本将删除任何现有的Zookeeper / Kafka安装和数据。 如果您已有设置,请不要使用脚本!
安装和配置必备mvn package
如果不使用脚本,请运行mvn package
如果是,则运行maclocal_run.sh
(或l