天翼云实践(五):kafka使用
kafka我们经常听说,来源于LinkedIn公司,后来加入了Apache的阵营。kafka主要应用的场景:1、前端不断发送信息,后来造成拥塞,需要缓冲地带。2、前端发送的信息种类很多,需要根据不同的消息优先级,将优先级高的消息优先处理。
如果没有kafka会出现什么场景。记得在京东刚推出秒杀商品时,只要一到秒杀时间,系统肯定崩溃,气得刘BOSS在微博上Show了一把刀。在kafka应用后,客户会延迟时间收到秒杀是否成功的信息,客户感知急剧上升。
一、kafka的架构是串行处理方式
kafka对消息保存时根据Topic进行归类,发送消息者成为Producer,消息接受者成为Consumer,此外kafka集群有多个kafka实例组成,每个实例(server)成为broker。无论是kafka集群,还是producer和consumer都依赖于zookeeper来保证系统可用性集群保存一些meta信息。
二、kafka有两种消息传递模式
点对点模式,只有一个消费者能收到消息
发布订阅模式,订阅了该Topic的消费者都能收到消息。真实场景中该模式用得更多。
Kafka支持消息持久化(将消息存入硬盘中),消费端为拉模型,消费状态和订阅关系由客户端端负责维护,消息消费完后不会立即删除,会保留历史消息。
三、kafka在天翼云中实战
1、kafka依赖于java运行环境,首先应在Centos中安装java sdk包。运行java -version能看到版本号,即运行成功。
2、在apache官网中下载kafka,网上的配置教程多,我们不详述。今天我们按单机模式进行配置。将配置文件中的broker_id配置为1,代表为第一台消息服务器。
3、创建一个Topic消息test1。
4、查看test1的Topic已创建成功。
5、我们在Topic test1主题下创建一个消息。
6、我们成功消费到了这个消息!
希望以上文章能帮到您。
更多内容实时更新,请访问公众号。