Kafka

Python Kafka 报错:ImportError: cannot import name 'KafkaConsumer'

笑着哭i 提交于 2020-10-02 12:51:54
在Django的项目中安装了 kafka-python ,但是不能正常运行,直接就报错了。 import sys from kafka import KafkaConsumer def kafkatest(): print "Step 1 complete" consumer=KafkaConsumer('test',bootstrap_servers=['localhost:9092']) for message in consumer: print "Next message" print message if __name__=="__main__": kafkatest() 然后在使用时,报错提示: ImportError: cannot import name 'KafkaConsumer' 找了半天没有找到解决方案,最后发现自己创建的文件名叫做: kafka.py ,突然意识到问题出在哪里了。 原因: 简单说就是因为,创建的文件名是 kafka.py ,这会导致代码运行时,python解释器查找kafka的模块时,就找到自身(kafka.py)了,所以就报错。 解决办法: 修改文件名字为其他名字,比如: com_kafka.py ,在运行就可以运行了。 本文首发于 BigYoung小站 来源: oschina 链接: https://my.oschina.net/u

超罕见!Alibaba内部流行的“Java突击宝典”,金九银十程序员升职加薪必备!

折月煮酒 提交于 2020-10-02 11:17:21
前言 Alibaba作为一线互联网公司的代表,是大部分程序员梦寐以求的工作场所,确实大厂出来的程序员,其背景也更值钱,含金量也会更高。实际上,Alibaba程序员早已成为行业内学习的榜样和标杆,但实际上光鲜的背后付出的血汗是我们没看到的。那么阿里程序员平常都是怎么学习的呢? 今天就讲讲让我们一众菜鸡惊艳到的“Java突击宝典”,这份宝典在Alibaba内部流行已久,适合各个年限的程序员来学习,它主要将需要学习的技术栈分为了三个阶段: 0-1年开发经验(夯实基础):Java基础+并发编程+JVM基础+设计模式+SQL基础与优化+HTTP/TCP协议+算法与数据结构+学习能力+ 源码+Redis+了解一个消息产品 1-3年开发经验(合格的程序员):JVM基础调优+常见框架源码+MySQL优化+缓存+熟悉消息中间件(至少一个)+熟悉微服务(至少一个)+互联网项目经验+ Netty+分布式技术 4-5年开发经验(提升技术广度与深度):性能调优+分布式技术+微服务+技术选型+分布式场景问题+互联网项目经验+ 项目管理+团队管理 这三个阶段具体的内容如何?见下文揭晓吧。当然,文章有限,不能全部描述出来,有完整的pdf版可免费分享,添加下方小助手VX即可获取 0-1年:夯实基础 1.Java基础(Java异常分类及处理+Java反射+Java注解+Java内部类+Java泛型+Java序列化

实时数据仓及实时平台架构详解

微笑、不失礼 提交于 2020-10-02 06:45:45
随着互联网的发展进入下半场,数据的时效性对企业的精细化运营越来越重要, 商场如战场,在每天产生的海量数据中,如何能实时有效的挖掘出有价值的信息, 对企业的决策运营策略调整有很大帮助。此外,随着 5G 技术的成熟、广泛应用, 对于工业互联网、物联网等数据时效性要求非常高的行业,企业就更需要一套完整成熟的实时数据体系来提高自身的行业竞争力。 本文从上述现状及实时数据需求出发,结合工业界案例、笔者的实时数据开发经验, 梳理总结了实时数据体系建设的总体方案,本文主要分为三个部分: 第一部分主要介绍了当下在工业界比较火热的实时计算引擎 Flink 在实时数据体系建设过程中主要的应用场景及对应解决方案; 第二部分从实时数据体系架构、实时数据模型分层、实时数据体系建设方式、流批一体实时数据架构发展等四个方面思考了实时数据体系的建设方案; 第三部分则以一个具体案例介绍如何使用 Flink SQL 完成实时数据统计类需求。 一、Flink 实时应用场景 目前看来,Flink 在实时计算领域内的主要应用场景主要可分为四类场景, 分别是实时数据同步、流式 ETL、实时数据分析和复杂事件处理,具体的业务场景和对应的解决方案可详细研究下图, 文字层面不再详述。 二、实时数据体系架构 实时数据体系大致分为三类场景:流量类、业务类和特征类,这三种场景各有不同。 在数据模型上,流量类是扁平化的宽表

云原生时代消息中间件的演进路线

两盒软妹~` 提交于 2020-10-02 03:11:17
简介: 本文整理自作者于 2020 年云原生微服务大会上的分享《云原生时代的消息中间件演进》,主要探讨了传统的消息中间件如何持续进化为云原生的消息服务。 作者 | 周礼(不铭) 阿里巴巴集团消息中间件架构师 导读 :本文整理自作者于 2020 年云原生微服务大会上的分享《云原生时代的消息中间件演进》,主要探讨了传统的消息中间件如何持续进化为云原生的消息服务。 引言 本文以一张云进化历史图开场,来谈谈云原生时代消息中间件的演进路线,但本文绝对不是“开局一张图,内容全靠编”。 从虚拟化技术诞生以来,IaaS / PaaS / SaaS 概念陆续被提了出来,各种容器技术层出不穷。到 2015 年,Cloud Native 概念应运而生,一时间,各种云厂商,云服务以及云应用都加上了“云原生”前缀。 我们也一直在思考,传统的消息中间件需要做些什么才能加上云原生这个修饰词,这也是本文探讨的主题:传统的消息中间件如何持续进化为云原生的消息服务。 云原生消息服务 1. 什么是云原生 首先来谈谈什么是云原生,云原生是一个天然适用于云计算的架构理念,实践云原生技术理念的应用可以最大化享受云计算的技术红利,包括弹性伸缩、按量付费、无厂商绑定、高 SLA 等。 应用在实践云原生技术理念时一般会遵循四个要素: 采取 DevOps 领域的最佳实践来管理研发和运维流程; 通过 CICD

这71道阿里高级岗面试题,刷掉了80%以上的Java程序员!

不想你离开。 提交于 2020-10-02 02:26:05
2020,可谓是招聘面试最难季。不少大厂,如腾讯、字节的招聘名额明显减少,面试门槛却一再拔高,如果不用心准备,很可能就被面试官怼得哑口无言。今天不谈其它,就说说我作为面试官面试的那些事儿。 从某电商项目负责人的算起,再到后来的首席架构师,我前前后后面试了至少 300 多位求职者。不敢说成功入职的每个同事都发展得特别好,但大部分人来说还是很不错的。 过硬的技术功底是最起码的考核要求。不少来应聘的朋友底子还是有的,但知识面太窄了。那么对于互联网大厂,尤其是电商行业来说,都会重点考核哪些呢?最近我将这些年自己常问的考核知识整理了一下,不下 100 道,其中涵盖了不少大厂必考点、高频点、加薪点,这些也是作为开发人来说日常项目中经常遇到的踩坑点。 为了方便大家,我把这些点做了一个归类,一共分成了 5 大类,分别是: Dubbo,ElasticSearch,JVM,多线程/高并发,消息中间件 。我把关于这些问题的拆解与思考,整理成一个 pdf,限于篇幅,这里就不一一列出了。需要的同学可以文末领取,希望能从中有所启发、收获。 这里先罗列出近三年部分技术考核点,具体有: 1 Dubbo 1.1 服务调用超时问题怎么解决? 1.2 Dubbo支持哪些序列化方式? 1.3 Dubbo和SpringCloud的关系? 1.4 Dubbo的架构设计?一共划分了哪些层? 1.5 Dubbo的默认集群容错方案

Spark核心之Spark Streaming

非 Y 不嫁゛ 提交于 2020-10-01 09:08:24
前面说到Spark的核心技术的时候,有和大家说过,有五大核心技术,不知道大家还记不记得; 给大家回忆下,这五大核心技术:分布式计算引擎 Spark Core 、基于Hadoop的SQL解决方案 SparkSQL 、可以实现高吞吐量、具备容错机制的准实时流处理系统 Spark Streaming 、分布式图处理框架 Spark GraphX 和构建在Spark上的分布式机器学习库 Spark MLlib ,现在应该有个印象了吧,其它的我就不多说了,今天主要是对Spark Streaming做个简单介绍,以便理解。 Spark Streaming理解 Spark Streaming 是核心 Spark API 的扩展,支持可伸缩、高吞吐量、容错的实时数据流处理。数据可以从许多来源获取,如 Kafka、Flume、Kinesis 或 TCP sockets,可以使用复杂的算法处理数据,这些算法用高级函数表示,如 map、reduce、join 和 window。 最后,处理后的数据可以推送到文件系统、数据库和活动仪表板。实际上,还可以将 Spark 的 MLlib 机器学习和 GraphX 图形处理算法应用于数据流。Spark Streaming 处理的数据流如下图所示。 流是什么 ? 简单理解,就好比水流,是不是有源头,但不知道终点,有始没有终,你永远不知道水流什么时候结束

物联网数据接入之EMQ免费开源版桥接Kafka(数据保存到Kafka)

梦想的初衷 提交于 2020-10-01 02:38:07
架构设计: 如使用EMQ企业版,企业版支持数据转发Kafka的插件,但企业版收费。 现需要使用代码的方式将EMQ接收的数据转发到Kafka。 EMQ准备: EMQ安装部署,部署好之后大致就是这个样子的: 这里EMQ不需要做任何操作,也不需要提前创建topic等。 设备模拟: 使用MQTTX模拟设备采集装置向EMQ发送数据: 代码实现EMQ数据转发Kafka 首先导入以下maven依赖: < ! --mqtt-- > < dependency > < groupId > org.eclipse.paho < /groupId > < artifactId > org.eclipse.paho.client.mqttv3 < /artifactId > < version > 1.2.2 < /version > < /dependency > < ! --kafka-- > < dependency > < groupId > org.apache.kafka < /groupId > < artifactId > kafka-clients < /artifactId > < version > 2.0.0 < /version > < /dependency > < dependency > < groupId > log4j < /groupId > < artifactId

腾讯云 Serverless 衔接 Kafka 上下游数据流转实战

混江龙づ霸主 提交于 2020-09-30 07:32:19
腾讯云 CKafka 作为大数据架构中的关键组件,起到了数据聚合,流量削峰,消息管道的作用。在 CKafka 上下游中的数据流转中有各种优秀的开源解决方案。如 Logstash,File Beats,Spark,Flink 等等。本文将带来一种新的解决方案:Serverless Function。其在学习成本,维护成本,扩缩容能力等方面相对已有开源方案将有优异的表现。 作者简介:许文强,腾讯云 Ckafka 核心研发,精通 Kafka 及其周边生态。对 Serverless,消息队列等领域有较深的理解。专注于 Kafka 在公有云多租户和大规模集群场景下的性能分析和优化、及云上消息队列 serverless 化的相关探索。 Tencent Cloud Kafka 介绍 Tencent Cloud Kafka 是基于开源 Kafka 引擎研发的适合大规模公有云部署的 Cloud Kafka。是一款适合公有云部署、运行、运维的分布式的、高可靠、高吞吐和高可扩展的消息队列系统。它 100% 兼容开源的 Kafka API,目前主要支持开源的 0.9, 0.10, 1.1.1, 2.4.2 四个大版本 ,并提供向下兼容的能力。 目前 Tencent Cloud Kafka 维护了超过 4000+ 节点的集群,每日吞吐的消息量超过 9 万亿+条,峰值带宽达到了 800GB+/s,

Kafka 面试真题及答案,建议收藏

谁都会走 提交于 2020-09-30 06:43:31
Kafka可以说是必知必会的了,首先面试大数据岗位的时候必问kafka,甚至现在java开发岗位也会问到kafka一些消息队列相关的知识点。先来看看有哪些最新的Kafka相关面试点: 一、基础摸底 1.1、你们Kafka集群的硬盘一共多大?有多少台机器?日志保存多久?用什么监控的? 1.2、Kafka分区数、副本数和topic数量多少比较合适? 1.3、Kafka中的HW、LEO、ISR、AR分别是什么意思? 1.4、Kafka中的消息有序吗?怎么实现的? 1.5、topic的分区数可以增加或减少吗?为什么? 1.6、你知道kafka是怎么维护offset的吗? 1.7、你们是怎么对Kafka进行压测的? 二、感觉还不错,接着深入考察 2.1、创建或者删除topic时,Kafka底层执行了哪些逻辑? 2.2、你了解Kafka的日志目录结构吗? 2.3、Kafka中需要用到选举吗?对应选举策略是什么? 2.4、追问,聊聊你对ISR的了解? 2.5、聊聊Kafka分区分配策略? 2.6、当Kafka消息数据出现了积压,应该怎么处理? 2.7、Kafka是怎么实现Exactly Once的? 2.8、追问、谈谈你对Kafka幂等性的理解? 2.9、你对Kafka事务了解多少? 2.10、Kafka怎么实现如此高的读写效率? 三、侃侃而谈 3.1、说说你常用的broker参数优化? 3.2

MassTransit Get Started->

半腔热情 提交于 2020-09-29 15:47:04
MassTransit:是一款.NET的分布式应用程序框架(开源、免费)。通过MassTransit,可以轻松创建利用基于消息的、松耦合异步通信的应用程序和服务,以提高可用性,可靠性和可伸缩性。 MassTransit本身定位轻量级的服务总线,并支持多种传输方式如:RabbitMQ、Azure Service Bus、ActiveMQ、Amazon SQS、Kafka、Azure Event Hub。消息异常处理:重试配置、重新交付、erro管道、死信管道。分布式事务处理:sagas、Courier。容器支持:.NETcore自身的、autofac、castle windsor等、调度支持:Quartz 、hangfire。更多功能参考官网文档。 MassTransit目前已经发布到了第7个版本了,7.0版本新增了对Kafka 的支持,构建仅支持.NET Standard 2.0...其他改动不大。MassTransit社区使用也是很活跃的,对于首次接触的,通过本篇文章(基于rabbitmq)帮你快速入门! 一个应用程序或服务可以使用两种不同的方法来生产消息,主要区别是sent需要指定具体的端点地址,而pub不需要,下面的代码会演示这两种方式。 发布事件(多个接收者) 发送命令(一个接收者) 发布事件(事件消息) 场景假设:在xx项目中,需要与第三方进行交互。比如:订单发货之后