【学习分享】开发者最佳实践挑战营第七期第四章节学习体会

举报
CharlesE 发表于 2020/09/15 18:33:13 2020/09/15
【摘要】 分享开发者最佳实践挑战营第4章的学习体会与心得。

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的线程发现

队列中有消息,可以唤醒其他线程一起消费消息,以达到快速响应的目的。

这种方案适用于对消费消息的实时性要求不高的应用场景。如果要求准实时消费消息,则建议保持所有消费者处于活跃状态。 


【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。