【学习分享】开发者最佳实践挑战营第七期第四章节学习体会
Kafka是一个拥有高吞吐、可持久化、可水平扩展,支持流式数据处理等多种特性的分布式消息流处理中间件,采用分布式消息发布与订阅机制,在日志收集、流式数据传输、在线/离线系统分析、实时监控等领域有广泛的应用。
第四章任务:
创建DMS Kafka实例,根据实践指南完成实践操作。
实验准备:
ECS(Windows版)+分布式消息服务 Kafka,注意和ECS选择相同虚拟私有云、子网以及安全组 。
参照:Java开发环境搭建,下载并安装Maven,JDK,IntelliJ IDEA。
实践步骤:
1、导入项目
点击下图按钮,找到项目并打开。
2、配置环境
点击File,修改Settings和Project Structure(重要,如果这两个没配置好,实验将无法正常运行。)
s
修改Settings,如果在安装IDEA的时候没有安装maven相关模块,点击maven home directory后方的”…“,选择到下载好的maven目录,选中后,如果出现”Version:xxx“则证明设置成功。
如果出现下图红框中提示目录无效,则需重新选择目录。
Project Structure,需检查Source Folder是否设定为红框内两个文件。
3、在Kafka创建Topic
创建完成后,需注意Topic名称,并在”基本信息“找到链接地址。
4、根据需求修改代码
找到生产者与消费者的properties文件,修改topic名称和接口地址,删除SASL相关内容。
5、运行demo
先运行生产者的主函数,再运行消费者的主函数,即可看到消息的消息的产生,和部分消费者活跃信息。
实验总结:
在开了多个线程同时访问的情况下,如果队列里已经没有消息了,只需保留一个线程poll各分区的消息就足够了,当在polling的线程发现
队列中有消息,可以唤醒其他线程一起消费消息,以达到快速响应的目的。
这种方案适用于对消费消息的实时性要求不高的应用场景。如果要求准实时消费消息,则建议保持所有消费者处于活跃状态。
- 点赞
- 收藏
- 关注作者
评论(0)