必读 | 大规模使用 Apache Kafka 的20个最佳实践 配图来源:书籍<深入理解Kafka> Apache Kafka是一款流行的分布式数据流平台,它已经广泛地被诸如New Relic(数据智能平台).Uber.Square(移动支付公司)等大型公司用来构建可扩展的.高吞吐量的.且高可靠的实时数据流系统.例如,在New Relic的生产环境中,Kafka群集每秒能够处理超过1500万条消息,而且其数据聚合率接近1 Tbps. 可见,Kafka大幅简化了对于数据流的处理,因此它也获得了…
原标题:Kafka如何做到1秒处理1500万条消息? Apache Kafka 是一款流行的分布式数据流平台,它已经广泛地被诸如 New Relic(数据智能平台).Uber.Square(移动支付公司)等大型公司用来构建可扩展的.高吞吐量的.且高可靠的实时数据流系统. 例如,在 New Relic 的生产环境中,Kafka 群集每秒能够处理超过 1500 万条消息,而且其数据聚合率接近 1Tbps. 可见,Kafka 大幅简化了对于数据流的处理,因此它也获得了众多应用开发人员和数据管理专家的青…
Spring Boot 自定义kafka 消费者配置 ContainerFactory最佳实践 本篇博文主要提供一个在 SpringBoot 中自定义 kafka配置的实践,想象这样一个场景:你的系统需要监听多个不同集群的消息,在不同的集群中topic冲突了,所以你需要分别定义kafka消息配置. 此篇文章会在SpringBoot 提供的默认模板上提供扩展,不会因为你自定义了消费者配置,而导致原生SpringBoot的Kakfa模板配置失效. 引入 MAVEN 依赖 版本需要你自己指定 <dep…
异常处理是 Java 开发中的一个重要部分,是为了处理任何错误状况,比如资源不可访问,非法输入,空输入等等.Java 提供了几个异常处理特性,以try,catch 和 finally 关键字的形式内建于语言自身之中.Java 编程语言也允许创建新的自定义异常,并通过使用 throw 和 throws关键字抛出它们.在Java编程中,Java 的异常处理不单单是知道语法这么简单,它必须遵循标准的 JDK 库,和处理错误和异常的开源代码. 这里我们将讨论一些关于异常处理的 Java 最佳实践.在我们…
导读 集成spring-kafka,生产者生产邮件message,消费者负责发送 引入线程池,多线程发送消息 多邮件服务器配置 定时任务生产消息:计划邮件发送 实现过程 导入依赖 <properties> <java.version>1.8</java.version> <mysql.version>5.1.38</mysql.version> <mapper.version>2.1.5</mapper.version>…
摘要: 本文向您详细介绍如何使用DataWorks数据同步功能,将Kafka集群上的数据迁移到阿里云MaxCompute大数据计算服务. 前提条件 搭建Kafka集群 进行数据迁移前,您需要保证自己的Kafka集群环境正常.本文使用阿里云EMR服务自动化搭建Kafka集群,详细过程请参见:Kafka 快速入门. 本文使用的EMR Kafka版本信息如下:EMR版本: EMR-3.12.1集群类型: Kafka软件信息: Ganglia 3.7.2 ZooKeeper 3.4.12 Kafka 2…
XPage 对于 Domino 开发人员的一大好处就是能够很方便和高效的访问关系型数据库.本文通过实例代码展现了在 XPage 中访问关系型数据库的具体步骤 , 同时讲解了一些在 XPage 中高效访问关系型数据库的技术,例如通过使用连接池提供访问的效率.最后文章会对关系型数据库的访问的最佳实践做一些讨论.XPages 访问关系型数据库技术与最佳实践我们在进行 XPages 应用开发的时候,有时一些事务性数据存在关系型数据库中,或者要集成其他系统中的数据,需要访问关系型数据库中的数据.XPage…
本文作者是一位软件工程师,他对20位开发人员和数据科学家使用Apache Kafka的方式进行了最大限度得深入研究,最终将生产实践环节需要注意的问题总结为本文所列的20条建议. Apache Kafka是一个广受欢迎的分布式流媒体平台,New Relic.Uber以及Square等数千家公司都在使用它构建可扩展.高吞吐量.可靠的实时流媒体系统.例如,New Relic的Kafka集群每秒处理超过1500万条消息,总数据速率接近1 Tbps. Kafka在应用程序开发人员和数据科学家中非常受欢迎,…
原文作者:Ben Bromhead      译者:江玮 原文地址:https://www.infoq.com/articles/apache-kafka-best-practices-to-optimize-your-deployment 关键点: Kafka的低开销和易于水平伸缩的设计使得它能基于廉价硬件高效地运行. 使用最好的磁盘为ZooKeeper提供强大的网络带宽,分别存储日志,隔离ZooKeeper进程,禁用交换以减少延迟. 将Kafka的默认复制因子从2增加到3,这在大多数生产环境…
1.卡夫卡教程 今天,我们正在使用Apache Kafka Tutorial开始我们的新旅程.在这个Kafka教程中,我们将看到什么是Kafka,Apache Kafka历史以及Kafka的原因.此外,我们将学习Kafka Architecture,Kafka和Kafka Partition的组件.此外,我们将讨论Kafka和Kafka用例中的各种比较.除此之外,我们将在这个Kafka教程中看到各种术语,如Kafka Broker,Kafka Cluster,Kafka Consumer,Kaf…
摘要:本文介绍了在Apache Hadoop上运行应用程序的最佳实践,实际上,我们引入了网格模式(Grid Pattern)的概念,它和设计模式类似,它代表运行在网格(Grid)上的应用程序的可复用解决方案. Apache Hadoop是一个用于构建大规模,共享存储和计算基础设施的软件框架,Hadoop集群经常用于各种研究和开发项目,如Yahoo!,eBay,Facebook,Twitter等互联网公司就大量使用了Hadoop,并在核心业务系统中扮演中关键角色,因此正确部署Hadoop集群是确保…
ELK 性能(4) - 大规模 Elasticsearch 集群性能的最佳实践 介绍 集群规模 集群数:6 整体集群规模: 300 Elasticsearch 实例 141 物理服务器 4200 CPU 核心 38TB RAM 1.5 Pb 存储 索引日志: 100 亿/天 400k/秒 内容 开场白 健康提示 将 Elasticsearch 集群的名称 "elasticsearch" 进行重命名.当网络内有两个以上的集群时,就会发现这样做所带来的好处. 为了防止误删除,设置参数 ac…
1. 介绍Kafka是由Apache软件基金会开发的一个开源流处理平台,由Scala和Java编写.Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者在网站中的所有动作流数据. 这种动作(网页浏览,搜索和其他用户的行动)是在现代网络上的许多社会功能的一个关键因素. 这些数据通常是由于吞吐量的要求而通过处理日志和日志聚合来解决. 对于像Hadoop一样的日志数据和离线分析系统,但又要求实时处理的限制,这是一个可行的解决方案.Kafka的目的是通过Hadoop的并行加载机制来统一线上…
http://www.infoq.com/cn/articles/kafka-analysis-part-1 Kafka是由LinkedIn开发的一个分布式的消息系统,使用Scala编写,它以可水平扩展和高吞吐率而被广泛使用.目前越来越多的开源分布式处理系统如Cloudera.Apache Storm.Spark都支持与Kafka集成.InfoQ一直在紧密关注Kafka的应用以及发展,“Kafka剖析”专栏将会从架构设计.实现.应用场景.性能等方面深度解析Kafka. 背景介绍 Kafka创建背…
作者 王枫 发布于2014年5月28日 前言 Microsoft Azure 是微软公有云的唯一解决方案.借助这一平台,用户可以以多种方式部署和发布自己的应用. 这是一个开放的平台,除了对于Windows服务器和SQL Server的支持,Microsoft Azure也支持了大量主流开源软件和框架,包括Linux, Tomcat®, Java®等.如何将一个基于开源软件的系统迁移到Microsoft Azure平台,并充分发挥云在弹性.敏捷性等方面的优势? 本文和读者分享一些最佳实践经验,并在…
原文地址地址: http://blogxinxiucan.sh1.newtouch.com/2017/07/12/Apache-Kafka-介绍/ Apache Kafka教程 之 Apache Kafka - 介绍 Apache Kafka - 介绍 Apache Kafka起源于LinkedIn,后来成为2011年的开源Apache项目,然后在2012年成为Apache的一流项目.Kafka以Scala和Java编写.Apache Kafka是基于发布订阅的容错消息系统.它是快速,可扩展和分…
消息队列 消息队列技术是分布式应用间交换信息的一种技术.消息队列可驻留在内存或磁盘上, 队列存储消息直到它们被应用程序读走.通过消息队列,应用程序可独立地执行--它们不需要知道彼此的位置.或在继续执行前不需要等待接收程序接收此消息.在分布式计算环境中,为了集成分布式应用,开发者需要对异构网络环境下的分布式应用提供有效的通信手段.为了管理需要共享的信息,对应用提供公共的信息交换机制是重要的.常用的消息队列技术是 Message Queue. Message Queue 的通讯模式 点对点通讯:点对…
胡夕 <Apache Kafka实战>作者,北航计算机硕士毕业,现任某互金公司计算平台总监,曾就职于IBM.搜狗.微博等公司.国内活跃的Kafka代码贡献者. 前言 虽然目前Apache Kafka已经全面进化成一个流处理平台,但大多数的用户依然使用的是其核心功能:消息队列.对于如何有效地监控和调优Kafka是一个大话题,很多用户都有这样的困扰,今天我们就来讨论一下. 一.Kafka综述 在讨论具体的监控与调优之前,我想用一张PPT图来简单说明一下当前Kafka生态系统的各个组件.就像我前面所…
Explore the configuration changes that Cigna’s Big Data Analytics team has made to optimize the performance of its real-time architecture. Real-time stream processing with Apache Kafka as a backbone provides many benefits. For example, this architect…
Cloudera recently announced formal support for Apache Kafka. This simple use case illustrates how to make web log analysis, powered in part by Kafka, one of your first steps in a pervasive analytics journey. If you are not looking at your company’s o…
The new integration between Flume and Kafka offers sub-second-latency event processing without the need for dedicated infrastructure. In this previous post you learned some Apache Kafka basics and explored a scenario for using Kafka in an online appl…
<Apache kafka实战>读书笔记-kafka集群监控工具 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 如官网所述,Kafka使用基于yammer metrics的监控指标体系来统计broker端和clinets端的各种监控指标(metric).说到yammer metrics,其官网过出了这样的一句话: yammer metrics是一个java库,它使得你能够对生产环境代码所做之事具有无与伦比的洞察力. 当然,虽然该项目已经进化到3.x版本,但即使最新版本的ka…
<Apache Kafka 实战>读书笔记-认识Apache Kafka 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.kafka概要设计 kafka在设计初衷就是为了解决互联网公司的超级大量级数据的实时传输.为了实现这个目标,kafka在设计之初就需要考虑以下四个方面: 第一:吞吐量/延迟 第二:消息持久化  第三:负载均衡和故障转移 第四:伸缩性 1>.吞吐量/延时介绍 我们先打个比方:若kafka处理一条消息需要花费2ms,那么计算得到的吞吐量不会超过500…
本文来自于DataWorks Summit/Hadoop Summit上的<Apache Kafka最佳实践>分享,里面给出了很多关于Kafka的使用心得,非常值得一看,今推荐给大家. 硬件配置 JBOD: Just bunch of disks,就是普通的一堆磁盘组成的集群 OS调优 1 页缓存:尽量分配与所有日志的激活日志段大小相同的页缓存大小 2 文件描述符限制: 10万以上 3 禁掉swap 4 使用Java 8和G1,分配6~8GB的堆大小 磁盘调优 1 使用多块磁盘,专属分配给ka…
1. Kafka.scala 在Kafka的main入口中startup KafkaServerStartable, 而KafkaServerStartable这是对KafkaServer的封装 1: val kafkaServerStartble = new KafkaServerStartable(serverConfig) 2: kafkaServerStartble.startup 1: package kafka.server 2: class KafkaServerStartable…
1.大纲 了解 Apache Kafka是什么 掌握Apache Kafka的基本架构 搭建Kafka集群 掌握操作集群的两种方式 了解Apache Kafka高级部分的内容 2.消息系统的作用是什么? 消息系统最核心的功能有三个,分别是解耦.异步.并行. 下面我们通过用户注册的案例来说明消息系统的作用: 2.1.用户注册的一般流程 问题:随着后端流程越来越多,每步流程都需要额外的耗费很多时间,从而会导致用户更长的等待延迟. 2.2.改进成并行流程 问题:系统并行的发起了4 个请求,4 个请求中…
背景介绍 消息队列的比较 kafka框架介绍 术语解释 文件存储 可靠性保证 高吞吐量实现 负载均衡 应用场景 背景介绍: kafka是由Apache软件基金会维护的一个开源流处理平台,由scala和java编写.最早开发自LinkedIn,用做LinkedIn的活动流(Activity Stream)和运营数据处理管道(Pipeline)的基础.现在它已被多家不同类型的公司作为多种类型的数据管道和消息系统使用. kafka是一种分布式的,基于发布/订阅的消息系统. kafka特点: 快速持久化…
前一篇Kafka框架设计来自英文原文(Kafka Architecture Design)的翻译及整理文章,非常有借鉴性,本文是从一个企业使用Kafka框架的角度来记录及整理的Kafka框架的技术资料,也非常有借鉴价值,为了便于阅读与分享,我将其整理一篇Blog. 本文内容文件夹摘要例如以下: 1)apache kafka消息服务 2)kafka在zookeeper中存储结构 3)kafka log4j配置 4)kafka replication设计机制 5)apache kafka监控系列-监…
本文转自:http://technet.microsoft.com/zh-cn/magazine/jj717232.aspx 英文版:http://msdn.microsoft.com/library/azure/jj717232.aspx 作者:Mark Simms 和 Michael Thomassy 供稿作者:Jason Roth 和 Ralph Squillace 审阅者:Brad Calder.Dennis Mulder.Mark Ozur.Nina Sarawgi.Marc Merc…
  对于大数据,我们要考虑的问题有很多,首先海量数据如何收集(如Flume),然后对于收集到的数据如何存储(典型的分布式文件系统HDFS.分布式数据库HBase.NoSQL数据库Redis),其次存储的数据不是存起来就没事了,要通过计算从中获取有用的信息,这就涉及到计算模型(典型的离线计算MapReduce.流式实时计算Storm.Spark),或者要从数据中挖掘信息,还需要相应的机器学习算法.在这些之上,还有一些各种各样的查询分析数据的工具(如Hive.Pig等).除此之外,要构建分布式应用还…