EN

龙芯业务

LOONGSON BUSINESS

栏目导航

Kafka

LOONGSON SOLUTION

Kafka

开源生态 2019-04-15 阅读次数:

请在下面红框内插入图片,不要放其它内容

  • 软件名称
    Kafka
  • 软件版本
    2.1.1-rc1
  • 源码链接
    https://github.com/apache/kafka/releases
  • 软件介绍
    Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者规模的网站中的所有动作流数据。 这种动作(网页浏览,搜索和其他用户的行动)是在现代网络上的许多社会功能的一个关键因素。 这些数据通常是由于吞吐量的要求而通过处理日志和日志聚合来解决。 对于像Hadoop一样的日志数据和离线分析系统,但又要求实时处理的限制,这是一个可行的解决方案。Kafka的目的是通过Hadoop的并行加载机制来统一线上和离线的消息处理,也是为了通过集群来提供实时的消息。
    Kafka的特性:
    - 高吞吐量、低延迟:kafka每秒可以处理几十万条消息,它的延迟最低只有几毫秒,每个topic可以分多个partition, consumer group 对partition进行consume操作。
    - 可扩展性:kafka集群支持热扩展
    - 持久性、可靠性:消息被持久化到本地磁盘,并且支持数据备份防止数据丢失
    - 容错性:允许集群中节点失败(若副本数量为n,则允许n-1个节点失败)
    - 高并发:支持数千个客户端同时读写
    Kafka的使用场景:
    - 日志收集:一个公司可以用Kafka可以收集各种服务的log,通过kafka以统一接口服务的方式开放给各种consumer,例如hadoop、Hbase、Solr等。
    - 消息系统:解耦和生产者和消费者、缓存消息等。
    - 用户活动跟踪:Kafka经常被用来记录web用户或者app用户的各种活动,如浏览网页、搜索、点击等活动,这些活动信息被各个服务器发布到kafka的topic中,然后订阅者通过订阅这些topic来做实时的监控分析,或者装载到hadoop、数据仓库中做离线分析和挖掘。
    - 运营指标:Kafka也经常用来记录运营监控数据。包括收集各种分布式应用的数据,生产各种操作的集中反馈,比如报警和报告。
    - 流式处理:比如spark streaming和storm
    - 事件源
  • 使用帮助
    kafka的使用场景。

    Kafka使用ZooKeeper,所以需要首先启动ZooKeeper服务。Kafka本身也提供了些脚本用于测试:
    启动zookeeper服务:
    bin/zookeeper-server-start.sh config/zookeeper.properties
    启动kafka服务:
    bin/kafka-server-start.sh config/server.properties
    可以启动名为test的话题:
    bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test
    用话题list脚本就能看到这个话题:
    bin/kafka-topics.sh --list --zookeeper localhost:2181
    test
    启动producer服务然后发送消息:
    bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test
    This is a message
    This is another message
    启动消费者,就能收到发送的消息。
    bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning
    This is a message
    This is another message
  • 详细帮助
    http://kafka.apache.org/quickstart
  •  
  • >
  •