`
woodding2008
  • 浏览: 289615 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

百万用户同时在线之Strom任务设计

 
阅读更多

 

在线人数需求

  • 当天总在线人数
  • 同时在线人数
  • 同时在线人数统计周期1分钟

 

用户心跳数据采集

  • 登陆后前30秒每10秒汇报一次心跳
  • 登陆超过30秒每30秒汇报一次心跳
  • Max心跳QPS=500W/30s=170W+

 

Strom任务设计

  • 使用Hyperloglog结构代替HashMap做过滤
  • spout发送bolt使用localOrShuffleGrouping减少网络传输
  • spout与bolt数量是worker数量N倍,让worker处理量保持均衡
  • Kafka partition与worker数量相等消除热点
  • countbolt使用ticktuple定时将hyperloglog发送至sumbolt进行汇总【HyperLogLog.merge(HyperLogLog)】
  • sumbolt负责汇总并定期持久化至DB,worker重启首先装载DB数据
  • 关闭ACK消息跟踪,提升性能

 

Strom任务拓扑结构

 

压力测试

模拟170W QPS心跳信息 

 

 HyperLogLog: http://woodding2008.iteye.com/blog/2332505

 

  • 大小: 477.5 KB
分享到:
评论

相关推荐

    postgresql数据库插件PG-Strom中Scan算子执行流程分析

    理解PG-Strom的执行流程,有助于我们更好地设计和优化数据库查询,尤其是对于需要处理大规模数据的场景。同时,掌握GPU资源管理和数据迁移的细节,对于数据库管理员和开发人员来说,也是提升系统性能的关键。

    strom的安装

    它的核心设计目标是提供容错性和可扩展性,以满足大数据实时处理的需求。 Strom 的基本体系架构包括三个主要组件:Nimbus、Supervisor 和 Worker。Nimbus 负责任务调度和资源管理,它会将 Topology 分解成任务并...

    基于流式计算的电信实时营销系统设计与实现.caj

    本文深入调研分析了大数据实时流式处理技术,并结合其在满足非功能性需求方面的独特优势,设计了一个可以同时满足大数据存储、大数据实时性分析的实时营销系统。该系统采用了实时数据处理与离线数据处理相结合的架构。...

    strom的学习记录,包括安装过程、整体介绍、监控页面等

    - **UI**: 提供 Web 用户界面,用于监控集群状态和任务执行情况。 #### 六、Apache Storm 监控页面 - Storm 提供了一个 Web UI,可以访问 `http://<nimbus-ip>:8888` 来查看集群的整体状态和运行中的拓扑结构。 - ...

    21春南开大学《大数据开发技术(一)》在线作业-2参考答案.docx

    在Hadoop中,计算通常向数据靠拢,以减少数据在网络中的传输开销,这是MapReduce设计理念之一。 Strom是一个实时流处理框架,其中Bolt是处理流数据的核心组件,它可以执行各种操作,如过滤、函数应用、数据库操作等...

    基于大数据架构的智能交通可视化平台设计.pdf

    在当前信息技术飞速发展的背景下,大数据技术在智能交通领域的应用已经成为提升交通管理水平和构建智慧城市的关键技术之一。于志青撰写的《基于大数据架构的智能交通可视化平台设计》一文,深入探讨了如何利用大数据...

    Storm整合Druid进行实时分析源码

    你可以通过指定多个维度(如用户ID、地理位置等)和指标(如点击次数、总销售额等)来进行复杂的分析操作。Druid支持时间分区,这使得查询性能更佳,同时还能有效地管理存储空间。 在实际应用中,我们还需要考虑...

    storm安装包

    Apache Storm 是一个分布式实时计算系统,它被设计用于处理大规模数据流,允许用户连续处理无界数据集。Storm 的核心概念是拓扑结构,其中包含了 bolts(处理逻辑)和 spouts(数据源)。这个安装包“apache-storm-...

    apache-storm-1.0.3.tar.gz

    这种设计使得Storm能够实时地处理大量数据,适用于如实时分析、在线机器学习、连续计算和大型数据流处理等场景。 安装Apache Storm的步骤如下: 1. 首先,你需要下载并解压“apache-storm-1.0.3.tar.gz”文件,这...

    精品课程推荐 大数据与云计算教程课件 优质大数据课程 35.Oozie(共41页).pptx

    **Oozie** 是一个专为Hadoop生态系统设计的工作流调度系统,它可以管理和调度Hadoop相关的任务,如MapReduce、Pig和Hive等。Oozie是一个Java Web应用程序,通常部署在像Tomcat这样的Servlet容器中。它利用数据库存储...

    数据质量监控平台.pptx

    功能设计方面,用户可以通过简单易用的界面进行操作,如选择监控类型、表、生成和触发监控规则,以及查看告警和分析结果。例如,步骤一选择监控类型,如唯一性检查或一致性检查;步骤二,指定需要监控的表;步骤三,...

    实时OLAP数据仓库架构优化演进

    首先,“实时OLAP数据仓库架构优化演进”是指随着数据仓库技术的发展,特别是针对在线分析处理(OLAP)场景的实时性需求,对数据仓库架构进行优化和演进的过程。这涉及到数据收集、存储、处理和分析的多个方面。 最初...

    apache-storm-2.0.0-src.tar.gz

    5. **低延迟**:Storm 设计的目标之一就是提供低延迟的数据处理能力,使得实时应用能够快速响应输入。 6. **编程模型**:Storm 提供了一种简单的 API,支持多种编程语言,如 Java、Python 和 Clojure,使开发者可以...

    CalcURIP-开源

    "CalcURIP-开源"便是这样一款专为电气工程爱好者和专业人士设计的实用软件,它能帮助用户快速、准确地计算电压(URI)、电阻(Widerstand)、电流(Strom)以及功率(Leistung)。本文将详细介绍这款开源软件的功能...

    WcfStorm调试工具

    在IT行业中,Web服务接口的调试是一项至关重要的任务,它涉及到应用程序间的通信和数据交换。WcfStorm是一款专为此目的设计的轻量级、直观且功能丰富的调试工具,尤其适合对Webservice接口进行快速而有效的测试。 *...

    分布式集群技术.pdf

    分布式集群技术是指将多个计算机或服务器连接起来,共同完成一个任务或提供一个服务的技术。这种技术可以提高系统的可扩展性、可靠性和性能。 Linux 操作系统是分布式集群技术的基础,Linux 的发展历史、Linux 和 ...

    大数据课程体系

    - **使用Strom开发一个WordCount例子**:通过一个简单的WordCount示例学习Storm的使用。 - **Storm程序本地模式debug、Storm程序远程debug**:调试Storm程序的技巧。 - **Storm事物处理**:实现事务性的数据处理流程...

    T112019-数据智能技术峰会-为数据赋能-敏捷高效的数据处理-2019.11.25-29页.pdf

    - Spark、Flink、Strom、***、Scikit-Learn等是数据处理和分析中常用的框架和工具,它们提供了强大的执行引擎来支持复杂的计算任务。 9. 运行时文件和部署服务: - 不同的数据处理任务可能会生成多种类型的运行时...

Global site tag (gtag.js) - Google Analytics