Apache Storm

Kafka:大数据开发最火的核心技术

拟墨画扇 提交于 2020-03-20 09:36:43
3 月,跳不动了?>>> 大数据时代来临,如果你还不知道Kafka那你就真的out了!据统计,有三分之一的世界财富500强企业正在使用Kafka,包括所有TOP10旅游公司,7家TOP10银行,8家TOP10保险公司,9家TOP10电信公司等等。 LinkedIn,Microsoft和Netflix每天都用Kafka处理万亿级的信息。Kafka主要应用于实时信息流的大数据收集或者实时分析(或者两者兼有)。Kafka既可以为内存微服务提供持久性服务,也可以用于向复杂事件流系统和IoT/IFTTT式自动化系统反馈事件。 为什么是Kafka? Kafka常用于实时流数据结构的实时分析。由于Kafka是一种快速、可扩展、可持久和高容错的发布-订阅消息系统(publish-subscribe messaging system),所以Kafka对于一些Use Case(有大数据量和高响应需求)的支持远好于JMS、RabbitMQ和AMQP。相比于那些工具,Kafka支持更高的吞吐量,更高的稳定性和副本(replication)特性。这使得它比传统的MOM更加适合跟踪服务调用(可以跟踪每次调用)或跟踪IoT传感器数据。 Kafka可以与Flume/Flafka、Spark Streaming、Storm、HBase、Flink以及Spark配合使用,用于实时获取、分析和处理流数据

达达基于Kubernetes混部的日志系统演变

邮差的信 提交于 2020-03-06 15:59:04
【编者的话】 本文主要分享达达是如何通过Kubernetes混部构建一个日峰值处理超过130亿条日志,单日存储超过14TB,总存储量300TB的日志系统。 背景 在2016年达达与京东到家合并后线上业务迅速发展。面对海量日志增长和日志查询需求,基于ELK架构的日志系统已经不能满足达达的线上场景,迫切需要一个高效自动化的日志系统。本文主要分享达达是如何通过Kubernetes混部构建一个日峰值处理超过130亿条日志,单日存储超过14TB,总存储量300TB的日志系统。 历史包袱 达达最早也是使用ELK构建第一版日志系统,当时被研发吐槽最多的是『 Kibana怎么查不到我想要的数据』、『日志延时怎么这么久』。经过仔细梳理分析后,我们发现当时的日志系统主要存在以下三个问题: 日志采集无法自动化 每当新增一个日志接入需求,研发要和运维反复沟通,再由运维修改Flume采集配置。每次变更都需要繁琐的手工操作,且执行过程中很容出现问题。 此外在服务扩容经常时会遗落添加Flume采集配置,导致部分日志采集丢失,直接影响业务数据统计准确性。所以,自动化的采集日志是实现高效日志系统的基础。 日志无格式化解析 当时采用的是如下图展示的经典ELK日志系统架构:Flume采集 --> Kafka集群 --> Logstash解析 --> ElasticSearch存储 --> Kibana查询展示。

传感器技术让现代货物跟踪和资产管理变的更加智能化

混江龙づ霸主 提交于 2020-03-06 14:57:53
传感器技术是一种新型智能化技术,已经广泛应用于社会多个领域,促进了各个行业的创新发展。 下面工采网小编和大家聊一聊传感器技术在现代货物跟踪和资产管理中的应用。 需要是发明之母 ,正如许多技术进步一样。而传感器在现代货物跟踪和资产管理中的作用也是如此。当然了要真正了解传感器技术的进步如何改变货物跟踪,还必须研究两个主要的发展:信息访问和基于传感器的分析。 信息访问则是 增加获得信息的机会那是因为对于在大型分布式制造环境中移动的货物或设备来说获得实时天气预报、自动化港口调度和优先顺序、实时交通报告、供应链监控和企业规划系统所有这些信息都能使企业能够更好地了解货物必须经过运输才能到达目的地的环境,这一点与在世界各地移动的材料一样正确。 另一方面实时传感器允许我们创建以前未有的数据集。温度和环境传感器能够优先卸载港口的高价值货物,以减少损坏。实时交通数据允许公司重新安排陆路货运路线,以避免交通问题。防篡改传感器和实时定位装置减少了盗窃,加快了货物的回收速度。所有这些进展都是通过将传感器数据与历史数据和/或实时信息访问结合起来实现的。 基于传感器的分析 可以进一步访问“新”信息,并演示传感器对于希望优化性能并获得竞争优势的企业是如何至关重要的。基于传感器的分析从传感器获取输入,将这些输入应用于历史数据,并将信息与复杂的分析模型进行比较。通过这样做,企业可以通过确定路线

我读过的一些书推荐

陌路散爱 提交于 2020-02-26 05:21:26
本文总结了一些读书的时候和工作后看过的书,这些书是从我的书单中挑出来的。 不完全统计我个人在京东、当当、亚马逊和Kindle上共买了几百本书,当然算起来其实没有花多少钱,有大量的书都是搞活动买到的。我挑了其中一些个人认为很值得看的书,大家可以搜一下,其实大部分书都可以在往上找到电子版。如果你打算仔细看看,推荐还是买基本纸质书籍,比如我个人其实还是更喜欢看一些纸质的书。 ⚠️注意啦。这些书只是我个人看过的,包括计算机基础,算法,语言,后端开发,大数据开发,也包含了一些机器学习和算法的书,好坏也是从个人角度出发,如果某一本书你也看过,但是你觉得就是垃圾,那它就是你眼中的垃圾。 第一部分:语言和基础篇 读者中应该有一部分不是计算机专业,或者是本科跨考的计算机大类的研究生,还有一些其他的情况,那么这里我强烈建议你要把下面这些基础书看看,补上自己的基础。 朋友们,下面这套书每本都是板砖那么厚,不管你是用来防身还是垫桌子都是不二之选。那就是国内机械工业出版社引进的黑皮书系列。 这套书我个人全部看下来的三分之一都不到... 太TM难啃了。后来到处找视频看... 如果你的英文足够好,硬刚原版也可以[手动狗头]。 好了,接下来是我买到几本好书。 《重构:修改代码的艺术》,这本书怎么说,是我买到的好书中排名前几的,这本书可以帮助你改掉代码中的'坏味道',写出高质量的代码。 这本书毁誉参半

【Storm】- Storm集成kafka

做~自己de王妃 提交于 2020-01-07 15:27:22
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> Storm 流式处理Kafka数据 tips 老版本: 官方文档 新版本: 官方文档 Storm可集成组件: 测试代码 需求:给kafka数据添加日期 实际用途:可根据业务续期自定义,例如解析Nginx日志ip限制访问等 pom <?xml version="1.0" encoding="UTF-8"?> <project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>com.zhiwei</groupId> <artifactId>data_process_experience</artifactId> <version>1.0-SNAPSHOT</version> </parent> <artifactId>storm_experience</artifactId

storm 消费kafka

折月煮酒 提交于 2020-01-07 13:22:42
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 程序入口 一个拓扑( Topology包括Spout、Bolt)提交会被分发到storm集群中的某个supervsion中,supervsion包含多个worker, 一个worker下包括多个线程池,Spout、Bolt会被分配到这些线程池里并行进行计算。 public class StormMain { public static void main(String[] args) throws InvalidTopologyException, AuthorizationException, AlreadyAliveException { // 通过TopologyBuilder来封装任务信息 TopologyBuilder topologyBuilder = new TopologyBuilder(); // 设置spout 这里的2 表示2个线程去并发执行接收kafka消息,而这2个线程是在2个线程池中运行的,例如kafka里的消息1,2,3,4,5,6,7,8,9,10那么这两个 //线程可能分配到的 1个线程为 1,3,4,5,另一个消费2,7,8,9,10 topologyBuilder.setSpout("readfilespout",new ReadKafkaSpout(),2); //

美团点评基于 Flink 的实时数仓平台实践

时间秒杀一切 提交于 2020-01-06 23:27:50
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 一、美团点评实时计算演进 美团点评实时计算演进历程 在 2016 年,美团点评就已经基于 Storm 实时计算引擎实现了初步的平台化。2017 年初,我们引入了 Spark Streaming 用于特定场景的支持,主要是在数据同步场景方面的尝试。在 2017 年底,美团点评实时计算平台引入了 Flink。相比于 Storm 和 Spark Streaming,Flink 在很多方面都具有优势。这个阶段我们进行了深度的平台化,主要关注点是安全、稳定和易用。从 19 年开始,我们致力于建设包括实时数仓、机器学习等特定场景的解决方案来为业务提供更好的支持。 实时计算平台 目前,美团点评的实时计算平台日活跃作业数量为万级,高峰时作业处理的消息量达到每秒 1.5 亿条,而机器规模也已经达到了几千台,并且有几千位用户正在使用实时计算服务。 实时计算平台架构 如下图所示的是美团点评实时计算平台的架构。 最底层是 收集层 ,这一层负责收集用户的实时数据,包括 Binlog、后端服务日志以及 IoT 数据,经过日志收集团队和 DB 收集团队的处理,数据将会被收集到 Kafka 中。这些数据不只是参与实时计算,也会参与离线计算。 收集层之上是 存储层 ,这一层除了使用 Kafka 做消息通道之外,还会基于 HDFS

Jstorm是参考storm的实时流式计算框架

你。 提交于 2019-12-25 22:51:10
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> Jstorm是参考storm的实时流式计算框架,在网络IO、线程模型、资源调度、可用性及稳定性上做了持续改进,已被越来越多企业使用 作为commiter和user,我还是非常看好它的应用前景,下面是在团队内的分享介绍,更多请参考 https://github.com/alibaba/jstorm 一、jstorm是什么 jstorm可以看作是storm的java增强版本,除了内核用纯java实现外,还包括了thrift、python、facet ui。从架构上看,其本质是一个基于zk的分布式调度系统 Jstorm主要应用场景有: 1.信息流处理,如聚合、分析等 2.持续计算,如实时数据统计、监控 3.分布式rpc调用 Jstorm在内核上对storm的改进有: (1)模型简化 (2)多维度资源调度 (3)网络通信层改造 (4)采样重构 (5)worker/task内部异步化处理 (6)classload、HA 模型简化将storm的三层管理模型简化为两层 jstorm中task直接对应了线程概念,而在storm中是task只是线程executor的一个执行逻辑单元 多维度资源调度 分为cpu、memory、net、disk四个维度,默认情况下: cpu slots = 机器核数 * 2 -1 memory

聊聊storm-kafka-client的ProcessingGuarantee

纵然是瞬间 提交于 2019-12-15 18:02:15
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 序 本文主要研究一下storm-kafka-client的ProcessingGuarantee ProcessingGuarantee storm-kafka-client-1.2.2-sources.jar!/org/apache/storm/kafka/spout/KafkaSpoutConfig.java /** * This enum controls when the tuple with the {@link ConsumerRecord} for an offset is marked as processed, * i.e. when the offset can be committed to Kafka. The default value is AT_LEAST_ONCE. * The commit interval is controlled by {@link KafkaSpoutConfig#getOffsetsCommitPeriodMs() }, if the mode commits on an interval. * NO_GUARANTEE may be removed in a later release without warning, we're still

「从模板消息改版订阅消息」小程序推送

北城以北 提交于 2019-12-11 09:06:09
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 前言 只有光头才能变强。 文本已收录至我的GitHub精选文章,欢迎Star : https://github.com/ZhongFuCheng3y/3y 如果近期有看我文章的同学,会知道我最近在公司做的是 推送系统 。推送系统在我这也叫做 消息管理平台 ,其实很容易理解:提供一个支持多渠道发送消息的系统。 推送系统支持的渠道 在前段时间,微信公布: 小程序模板消息接口将于2020年1月10日下线,开发者可使用订阅消息功能 。 底层接口的变动,对程序员来说意味着什么,你懂的。 人在家中坐,班从天上来 本篇文章主要来聊聊我这边是怎么发送小程序消息的,以及改版后的简单介绍,希望对大家有帮助。 本文不涉及任何的高深知识,放心观看。 一、前置知识 发送小程序消息其实很简单,微信提供了 微信官方文档 供我们开发者去查阅相关的基础知识,提供HTTP接口给我们去方便调用: 微信文档 对开发者来说,发送小程序消息总结来说就三步: 在微信后台创建模板 获取下发的权限 调用发送接口,发送消息 无论是以前的 模板消息 ,还是现在新的 订阅消息 ,步骤都是一样的。 二、模板消息和订阅消息的区别 为什么微信要把模板消息下线,要上线订阅消息呢?我们从发送小程序的步骤来看,只有“ 获取下发的权限 ”是可动的,其余的两步都是相同的。