如何设计一个分布式系统去分析3亿条数据?

2023-11-09

V-xin:ruyuanhadeng获得600+页原创精品文章汇总PDF

目录

  • 从一个新闻门户网站案例引入
  • 推算一下你需要分析多少条数据?
  • 黄金搭档:分布式存储+分布式计算

这篇文章聊一个话题:什么是分布式计算系统?

一、从一个新闻门户网站案例引入

现在很多同学经常会看到一些名词,比如分布式服务框架,分布式系统,分布式存储系统,分布式消息系统。

但是有些经验尚浅的同学,可能都很容易被这些名词给搞晕。所以这篇文章就对“分布式计算系统”这个概念做一个科普类的分析。

如果你要理解啥是分布式计算,就必须先得理解啥是分布式存储,现在我们从一个小例子来引入。

比如说现在你有一个网站,咱们假设是一个新闻门户网站好了。每天是不是会有可能上千万用户会涌入进来看你的新闻?

好的,那么他们会怎么看新闻呢


其实很简单,首先他们会点击一些板块,比如“体育板块”,“娱乐板块”。

然后,点击一些新闻标题,比如“20年来最刺激的一场比赛即将拉开帷幕”,接着还可能会发表一些评论,或者点击对某个好的新闻进行收藏。

那么你的这些用户干的这些事儿有一个专业的名词,叫做“用户行为”。

因为在你的网站或者APP上,用户一定会进行各种操作,点击各种按钮,发表一些信息,这些都是各种行为,统称为“用户行为”。

<
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何设计一个分布式系统去分析3亿条数据? 的相关文章

  • Java - 因内存不足错误而关闭

    关于如何最好地处理这个问题 我听到了非常矛盾的事情 并且陷入了以下困境 OOME 会导致一个线程崩溃 但不会导致整个应用程序崩溃 我需要关闭整个应用程序 但不能 因为线程没有剩余内存 我一直认为最佳实践是让它们离开 这样 JVM 就会死掉
  • 使用 JDBC 获取 Oracle 11g 的最后插入 ID

    我是使用 Oracle 的新手 所以我将放弃之前已经回答过的内容这个问题 https stackoverflow com questions 3131064 get id of last inserted record in oracle
  • 使用 WebDriver 单击新打开的选项卡中的链接

    有人可以在这种情况下帮助我吗 场景是 有一个网页 我仅在新选项卡中打开所有指定的链接 现在我尝试单击新打开的选项卡中的任何一个链接 在下面尝试过 但它仅单击主 第一个选项卡中的一个链接 而不是在新选项卡中 new Actions drive
  • 如何强制jar使用(或jar运行的jvm)utf-8而不是系统的默认编码

    我的Windows默认编码是GBK 而我的Eclipse完全是utf 8编码 因此 在我的 Eclipse 中运行良好的应用程序崩溃了 因为导出为 jar 文件时这些单词变得不可读 我必须在 bat 文件中写入以下行才能运行该应用程序 st
  • Base36 编码字符串?

    我一直在网上查找 但找不到解决此问题的方法 在 Python Ruby 或 Java 中 如何对以下字符串进行 Base 36 编码 nOrG9Eh0uyeilM8Nnu5pTywj3935kW 5 Ruby 以 36 为基数 s unpa
  • 埃拉托色尼筛法 - 实现返回一些非质数值?

    我用 Java 实现了埃拉托斯特尼筛法 通过伪代码 public static void sieveofEratosthenes int n boolean numArray numArray new boolean n for int i
  • 从 MS Access 中提取 OLE 对象(Word 文档)

    我有一个 Microsoft Access 数据库 其中包含一个包含 Microsoft Word 文档的 OLE 对象字段 我试图找到代码来检索保存在 OLE 对象中的文件 以便用户可以从我的 JavaFx 应用程序中的按钮下载它 但没有
  • 为自定义驱动程序创建 GraphicsDevice

    我正在开发一个在嵌入式系统中使用 Java 的项目 我有用于屏幕和触摸输入的驱动程序 以及用于文本输入的虚拟键盘 我的屏幕驱动程序有一个Graphics2D您可以绘制的对象和repaint Rectangle 更新方法 类似地 触摸驱动器能
  • 为什么 MOVE CURSOR 在 OS X Mountain Lion 上不显示?

    我正在做一个项目 想看看 Swing 提供的每个光标是什么样子的 public class Test public static void main String args JFrame frame new JFrame frame set
  • Spring数据中的本机查询连接

    我有课 Entity public class User Id Long id String name ManyToMany List
  • 为什么Iterator接口没有add方法

    In IteratorSun 添加了remove 方法来删 除集合中最后访问的元素 为什么没有add方法来向集合中添加新元素 它可能对集合或迭代器产生什么样的副作用 好的 我们开始吧 设计常见问题解答中明确给出了答案 为什么不提供 Iter
  • 在 MongoDB 和 Apache Solr 之间同步数据的简单方法

    我最近开始使用 MongoDB 和 Apache Solr 我使用 MongoDB 作为数据存储 并且希望 Apache Solr 为我的数据创建索引 以实现应用程序中的搜索功能 经过一些研究 我发现 基本上有两种方法可以在 MongoDB
  • 如何从日期中删除毫秒、秒、分钟和小时[重复]

    这个问题在这里已经有答案了 我遇到了一个问题 我想比较两个日期 然而 我只想比较年 月 日 这就是我能想到的 private Date trim Date date Calendar calendar Calendar getInstanc
  • 寻找局部最小值

    下面的代码正确地找到了数组的局部最大值 但未能找到局部最小值 我已经进行了网络搜索 以找到找到最小值的最佳方法 并且根据这些搜索 我认为我正在使用下面的正确方法 但是 在几天的时间里多次检查每一行之后 下面的代码中有一些我仍然没有看到的错误
  • 无法在 Java/Apache HttpClient 中处理带有垂直/管道栏的 url

    例如 如果我想处理这个网址 post new HttpPost http testurl com lists lprocess action LoadList 401814 1 Java Apache 不允许我这么做 因为它说竖线 是非法的
  • JAVA中遍历JSON数据

    我是 JSON 新手 我使用 HTTPUrlConnections 并在 JAVA 程序中获得一些响应 响应数据将类似于 data id 1 userId 1 name ABC modified 2014 12 04 created 201
  • 无需登录即可直接从 Alfresco 访问文件/内容

    我的场景是这样的 我有一个使用 ALFRESCO CMS 来显示文件或图像的 Web 应用程序 我正在做的是在 Java servlet 中使用用户名和密码登录 alfresco 并且我可以获得该登录的票证 但我无法使用该票证直接从浏览器访
  • 禁用 Android 菜单组

    我尝试使用以下代码禁用菜单组 但它不起作用 菜单项仍然启用 你能告诉我出了什么问题吗 资源 菜单 menu xml menu menu
  • Java 的 PriorityQueue 与最小堆有何不同?

    他们为什么命名PriorityQueue如果你不能插入优先级 它看起来与堆非常相似 有什么区别吗 如果没有区别那为什么叫它PriorityQueue而不是堆 默认的PriorityQueue是用Min Heap实现的 即栈顶元素是堆中最小的
  • 如何使用通配符模拟泛型方法的行为

    我正在使用 EasyMock 3 2 我想基于 Spring Security 为我的部分安全系统编写一个测试 我想嘲笑Authentication http docs spring io autorepo docs spring secu

随机推荐

  • requests、aiohttp、httpx性能大比拼

    在Python中 有许多用于发送HTTP请求的库 其中最受欢迎的是requests aiohttp和httpx 这三个库的性能和功能各不相同 因此在选择使用哪个库时 需要考虑到自己的需求和应用场景 首先 让我们来了解一下这三个库的基本介绍
  • 科技,让二次元老婆动起来

    想让你的二次元老婆动起来吗 前不久 Meta 也就是Facebook 发布了一款有趣的AI工具Animated Drawings 它可以让静态的儿童画动起来 有些懂行的朋友一看就说 哎呀这不就是关键点检测再加动态化嘛 道理是这个道理 但是儿
  • MYSQl:关于AUTO_INCREMENT

    auto increment是用于主键自动增长的 从1开始增长 当你把第一条记录删除时 再插入第二条数据时 主键值是2 不是1 问题来源 拷贝了公司项目的regions表 发现建表的sql语句如下 CREATE TABLE es regio
  • 两数求最大值 和 交换两个数字

    两数求最大值 include
  • 将图片进行base64 编码后的数据进行读取,以io流的方式传给前台并显示出来并且不断刷新图片

    前提摘要 最近做一个项目 是关于slam的 给slam发送构建地图的命令 slam不断返回json串 而地图的图片在json串中已经经过base64编码了 我这边需要将base64编码解析并以流的方式传给前台显示出来 但是消息是不断要接收的
  • 支付结算周期:D0 D1 T0 T1的区别

    D0 自然日当天 D1 自然日第二天 T0 工作日当天 T1 工作日第二天 D0和T0的区别 比如说 星期六做的交易 D0因为是自然日当天 所以周六即可到账 T0因为是工作日当天 所以下周一可到账
  • 在Windows10下配置深度学习环境(tensorflow-gpu + CUDA & CUDNN),十分详细,推荐小白食用

    在Windows10下配置深度学习环境 tensorflow gpu CUDA CUDNN 本文的基础建立在DUT汽院515教研室的师兄的教程之上 由本人总结更新 希望能帮到更多人 十分感谢师兄们的付出 CUDA的配置 请参考本人的另一篇文
  • 基于LSTM的情感识别在鹅漫评论分析中的实践与应用

    深度学习 深度神经网络 作为机器学习的一个重要分支 持续推动了很多领域的研究和应用取得新的进展 其中包括文本处理领域的情感分类问题 由于可以对文本进行更有效的编码及表达 基于深度学习的情感分类对比传统的浅层机器学习和统计学方法 可以取得更高
  • C++ public、protected 、 private使用详解

    1 类私有成员变量的访问 必须调用类成员函数来进行访问 对于protected成员 继承他的类可以直接在成员函数中调用 而对于私有成员 继承他的类要使用他们的值必须使用基类的成员函数 2 protected成员 基类对象不能调用自身prot
  • ajax中data参数json对象与json字符串的使用区别

    在jquery的ajax里面有个data参数 是客户的传给服务端的数据 我们先看第一种常见写法 前端代码 var username phone email num val var pwd password val ajax url logi
  • GDB 调试工具的使用和交叉编译安装

    作用 1 可以让我们的代码单步运行 并且可以打印出运行时各种变量的值 2 还可以调试各种 core 核心 文件 在启动 gdb 调试程序的时候 我们需要使用到 gcc g 命令指定 g 参数生成可执行调试程序 例如 g g main cpp
  • Proxy代理isExtensible方法

    介绍 isExtensible方法拦截Onject isExtensible操作 demo1 var p new Proxy isExtensible function target console log called return tr
  • redis 事务实现原理

    一 简介 Redis事务通常会使用MULTI EXEC WATCH等命令来完成 redis实现事务实现的机制与常见的关系型数据库有很大的却别 比如redis的事务不支持回滚 事务执行时会阻塞其它客户端的请求执行 二 事务实现细节 redis
  • 【电动车】基于多目标优化遗传算法NSGAII的峰谷分时电价引导下的电动汽车充电负荷优化研究(Matlab代码实现)

    欢迎来到本博客 博主优势 博客内容尽量做到思维缜密 逻辑清晰 为了方便读者 座右铭 行百里者 半于九十 本文目录如下 目录 1 概述 2 运行结果 3 文献来源 4 Matlab代码实现 1 概述 文献来源 摘要 在研究电动汽车用户充电需求
  • Ajax的介绍及应用,XMLHttpRequest对象

    AJAX介绍 AJAX全称 Asynchronous JavaScript and XML 异步的 JavaScript 和 XML JS是同步执行的 从上往下依次执行 如果遇到请求将会等待服务器的响应 AJAX是用来 异步 和服务器交互的
  • 转骰子

    转骰子 题目描述 骰子是一个立方体 每个面一个数字 初始为左 1 右 2 前 3 观察者方向 后 4 上 5 下 6 用 123456 表示这个状态 放置到平面上 可以向左翻转 用 L表示向左翻转 1 次 可以向右翻转 用 R 表示 向右翻
  • 利用Python采集某站上的所有陪玩妹子信息!听说现在做陪玩的都非常漂亮?

    前言 我想应该很多男生都是会打游戏的吧 女生就手机游戏 王者 刺激战场这些应该多些 男生应该就是英雄联盟 穿越火线 绝地求生等等一系列的游戏吧 那么你知道陪玩是什么时候就冒出来的新职业吗 知道的话可以告诉我一下哦 今天咱们的主要目的还是玩爬
  • Docker容器网络更改

    1 添加自定义网络 默认是桥接模式 docker network create 网络名称 2 解除容器绑定的网络 docker network disconnect 网络名称 容器名称 3 为容器重新指定网络 docker network
  • 《数据结构、算法与应用C++语言描述》使用C++语言实现二维数组稀疏矩阵

    数据结构 算法与应用C 语言描述 使用C 语言实现二维数组稀疏矩阵 稀疏矩阵定义 一个mxn 的矩阵 如果大多数元素都是0 则称为稀疏矩阵 spare matrix 一个矩阵如果不是稀疏的 就称为稠密矩阵 dense matrix 在稀疏矩
  • 如何设计一个分布式系统去分析3亿条数据?

    V xin ruyuanhadeng获得600 页原创精品文章汇总PDF 目录 从一个新闻门户网站案例引入 推算一下你需要分析多少条数据 黄金搭档 分布式存储 分布式计算 这篇文章聊一个话题 什么是分布式计算系统 一 从一个新闻门户网站案例