缓存案例-架构真题(二十二)

news2024/11/18 17:24:11

试题一

某大型电商平台建立一个B2B商店系统,并在全国建设了仓储中心。但是在运营过程中,发现很多跨仓储中心调货,延误运送。为此建立全国仓储系统,通过对订单的分析和挖掘,并通过大数据分析预测各类配置,降低成本。

当用户通过B2B商店下单,会通过用户的地址,商品类别,及其仓库信息和地址,来预测送达时间。反馈时间在1s内完成。

为满足反馈送达时间功能性能要求,设计团队建议在全国货物管理系统采用数据缓存集群方式,将仓储基本信息、商品类别以及库存数量放置在内存的缓存中,而仓储中心的其他商品则存储在数据库系统。

【问题1】(9分)

设计团队在讨论缓存和数据库数据一致性问题时,李工建议采用数据库实时同步方案,而张工建议采用数据库异步准实时更新方案。

请求200字以内的的文字,介绍两种方案基本思路,说明全国仓储货物管理系统应该来用哪种方案,并说明这个方案的原因。

解析:

实时方案:数据库更新之后立马更新缓存。

准实时方案:数据库更新之后不立马更新缓存,而是记录在需要更新的日志中,再异步排队完成更新缓存。

在这里建议采用异步准实时方案,因为对代码性能优严格要求,在1s内返回下单成功数据。

【问题2】(9分)

随着业务发展,仓库中心数据日益增加,需要集群部署多个缓存节点,提高缓存处理能力,李工建议采用缓存分片方法,减缓单个节点访问压力。

缓存分片采用哈希算法或一致性哈希算法,李工建议采用一致性哈希算法来解决,200字说明理由。

解析:

哈希算法,会根据key的值进行哈希操作,类似取余操作,之后在取得相同的值放在一个实例。

一致性哈希算法,会根据key的值进行哈希操作,放入一个hash环上,数据根据hash值在哈希环上正时针方向找到对应的存储结点上。

【问题3】(7分)

全国仓储货物管理系统开发完成,在运营一段时间后,系统维护人员发现大量黑客故意发起商品送达请求,造成缓存穿透,张工建议采用布隆过滤器来解决这个问题,200字描述布隆过滤器的工作原理和优缺点。

解析:

布隆过滤器通过一个很长的二进制向量一系列随机映射函数来记录和识别某个数据是否在集合,当布隆过滤器返回为空,则直接表示数据不存在,不继续查询缓存和数据库。

布隆过滤器优点:

  1. 占内存小。
  2. 查询效率高。
  3. 不需要存储元素本身,所以在某些场合保密要求高。

布隆过滤器的缺点:

  1. 不能获取存储本身的元素。
  2. 有一定的误判,会存在假阳性,不能准确判断是否在集合。
  3. 一般情况下不能删除元素。

试题二

Web系统架构设计的叙述。

某公司拟开发一套边缘计算的智能门禁,用于如园区、新零售、工业现场等存在来访、被访业务的场景。来访者可以提前预约,在后台通过请求后,可以直接通过刷脸的方式进入园区。

基于项目需求,公司组建项目组,开讨论会,会议上,张工根据业务需求并结合边缘计算思想,提出本系统可以由访客注册模块、模拟训练模块、端侧识别模块与设备调度平台模块等四项功能组成。李工从技术层面指出该系统可以使用Flask框架与SSM框架为基础来开发后台服务器,将开发好的进行Docker部署,并使用MQTT协议对Docker进行管理。

【问题1】(5分)

MQTT协议在互联网行业广泛应用,请300字以内简要介绍MQTT协议?

解析:

MQTT(消息队列遥测传输)是一个基于发布/订阅的消息协议。它工作在TCP/IP协议之上,是为硬件性能低下的远程设备以及网络情况糟糕的情况下设计的发布/订阅协议。MQTT属于轻量、简单、开发和易于实现的。

【问题2】(14分)

在会议上,张工对模块进一步说明,访客注册模块用于来访者提交申请与被访者确认申请,主要处理提交来访申请、来访申请审核业务,同时保存访客数据,为训练模块准备训练数据集:模型训练模块用于使用访客数进行模型训练,为端侧设备的识别业务提供模型基础;端侧识别模块在边缘门禁设备上运行,使用训练好的模型来识别来访人员,与云端服务协作完成访客来访的完整业务;设备调度平台模块用于对边缘门禁设备进行管理,管理员能够使用平台对边缘设备进行调度管理与状态监控,实现云端协同。

基于边缘计算的智能门禁系统架构图,请结合HTTP协议和MQTT协议特点,为1~6处选择合适协议,并结合张工描述,补齐7~10空白。

  1. 端侧边缘模型  (边缘设备)
  2. 模型训练模块
  3. 设备调度平台模块
  4. 访客注册模块
  1. HTTP
  2. MQTT
  3. MQTT
  4. MQTT
  5. HTTP
  6. HTTP

【问题3】

请用300字以内文字,从数据通信、数据安全和系统性能等方面简要分析在传统云计算模型中引入边缘计算模型的优势。

解析:

数据通信:通信更快捷,数据量更少。因为数据处理对比在边缘设备上完成,通信更多时候只传输匹配与结果的指令。

数据安全:数据以加密方式存储在需要用到的边缘设备上,比通过网络传递更安全,黑客也无法攻破一个节点使整个网络瘫痪。

系统性能:性能更高,以人脸识别为例,只需要本地化处理,不需要把数据传递到网络比较。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/972069.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

机器学习---预剪枝、后剪枝(REP、CCP、PEP、)

1. 为什么要进行剪枝 横轴表示在决策树创建过程中树的结点总数,纵轴表示决策树的预测精度。 实线显示的是决策树 在训练集上的精度,虚线显示的则是在⼀个独⽴的测试集上测量出来的精度。 随着树的增⻓,在 训练样集上的精度是单调上升的&…

VSCode 配置 C 语言编程环境

目录 一、下载 mingw64 二、配置环境变量 三、三个配置文件 四、格式化代码 1、安装插件 2、保存时自动格式化 3、左 { 不换行 上了两年大学,都还没花心思去搭建 C 语言编程环境,惭愧,惭愧。 一、下载 mingw64 mingw64 是著名的 C/C…

【AI理论学习】语言模型:掌握BERT和GPT模型

语言模型:掌握BERT和GPT模型 BERT模型BERT的基本原理BERT的整体架构BERT的输入BERT的输出 BERT的预训练掩码语言模型预测下一个句子 BERT的微调BERT的特征提取使用PyTorch实现BERT GPT模型GPT模型的整体架构GPT的模型结构GPT-2的Multi-Head与BERT的Multi-Head之间的…

【高性能计算】opencl语法及相关概念(五):图像的仿射变换缩放

目录 简介宿主机程序设备端函数缩放效果图 简介 要使用仿射变换完成图像等宽高比缩放,可以按照以下步骤进行操作: 定义仿射变换矩阵:首先,定义一个仿射变换矩阵,用于描述缩放操作。该矩阵是一个2x3的矩阵,…

实时操作系统Freertos开坑学习笔记:(三):任务的挂起与恢复、中断管理

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、任务挂起与恢复的API函数1.具体函数描述①vTaskSuspend()任务挂起(暂停)函数②vTaskResume()任务恢复函数③xTaskResumeFromISR()在…

PAT 1167 Cartesian Tree

个人学习记录,代码难免不尽人意。 A Cartesian tree is a binary tree constructed from a sequence of distinct numbers. The tree is heap-ordered, and an inorder traversal returns the original sequence. For example, given the sequence { 8, 15, 3, 4, 1…

机器学习-波士顿房价预测

目录 一.数据处理 读入数据 数据形状变换 数据集划分 数据归一化处理 将上面封装成load data函数 二. 模型设计 完整封装运行代码: 根据loss值进行梯度计算 控制部分变量的变化图像: 一.数据处理 读入数据 # 导入需要用到的package import numpy as np…

迷你上下标数字转换器

将输入字符串中的数字转换成迷你数字字符,您可以复制带迷你数字的纯文本到任意地方。 (本笔记适合初通Python,熟悉六大基本数据类型(str字符串、int整型、float浮点型、list列表、tuple元组、set集合、dict字典)常规应用的 coder 翻阅) 【学习的细节是欢…

1.1 计算机网络在信息时代中的作用

思维导图: 正文: 我的理解: 这段话是一本书或课程的第一章简介,它的目的是为读者或学生提供一个关于计算机网络基础知识的框架或大纲。 首先,它强调了这章是整本书的一个概览,会先介绍计算机网络在信息时…

Oracle数据库尚硅谷学习笔记

文章目录 Oracle数据库体系结构简介补充SQL初步导入sql文件别名连接符distinct去重的坑 过滤和排序数据日期格式比较运算其它比较运算符逻辑运算优先级排序 单行函数SQL中不同类型的函数单行函数字符数值日期转换通用 使用条件表达式嵌套查询 多表查询等值连接非等值连接左外连…

大数据组件-Flink环境搭建

🥇🥇【大数据学习记录篇】-持续更新中~🥇🥇 个人主页:beixi 本文章收录于专栏(点击传送):【大数据学习】 💓💓持续更新中,感谢各位前辈朋友们支持…

盛元广通生态环境监测实验室管理系统LIMS

系统背景: 当环境问题已经被普罗大众都开始关心那已经是世界的焦点了,我们在面临水污染、空气污染日益加剧的今天,为解决这些问题,做好监测预警,需要更可靠的数据支撑和智能化管理手段来指导我们决策和行动&#xff0…

【docker】Mac M1 构建 x64 linux镜像

亲测教程 文章目录 首先构建环境 首先 首先你需要有一个 Dockerfile 比如:这里以一个 python 项目举例 FROM python:3.10-slimWORKDIR /appCOPY requirements.txt requirements.txt RUN pip install --no-cache-dir -r requirements.txtCOPY . .CMD [ "pyth…

Android Studio新版本New UI及相关设置丨遥遥领先版

1、前言 俗话说工欲善其事必先利其器嘛,工具用不好怎么行呢,借着Android Studio的更新,介绍一下新版本中的更新内容,以及日常开发中那些好用的设置。 2、关于新版本 2.1、最新正式版本 Android Studio Giraffe | 2022.3.1 Pat…

IntelliJ IDEA(Windows 版)的所有快捷键

🪁🍁 希望本文能够给您带来一定的帮助🌸文章粗浅,敬请批评指正!🍁🐥 大家好 本文参考了 IntelliJ IDEA 的官网,列举了IntelliJ IDEA(Windows 版)的所有快捷…

微服务-OpenFeign基本使用

一、前言 二、OpenFeign基本使用 1、OpenFeign简介 OpenFeign是一种声明式、模板化的HTTP客户端,它使得调用RESTful网络服务变得简单。在Spring Cloud中使用OpenFeign,可以做到像调用本地方法一样使用HTTP请求访问远程服务,开发者无需关注…

垃圾回收 - 复制算法

GC复制算法是Marvin L.Minsky在1963年研究出来的算法。说简单点,就是只把某个空间的活动对象复制到其它空间,把原空间里的所有对象都回收掉。这是一个大胆的想法。在此,我们将复制活动对象的原空间称为From空间,将粘贴活动对象的新…

如何快速搭建母婴行业的微信小程序?

如果你想为你的母婴行业打造一个独特的小程序,但没有任何编程经验,别担心!现在有许多小程序制作平台提供了简单易用的工具,让你可以轻松地建立自己的小程序。接下来,我将为你详细介绍搭建母婴行业小程序的步骤。 首先&…

mysql(九)mysql主从复制

目录 前言概述提出问题主从复制的用途工作流程 主从复制的配置创建复制账号配置主库和从库启动主从复制从另一个服务器开始主从复制主从复制时推荐的配置sync_binloginnodb_flush_logs_at_trx_commitinnodb_support_xa1innodb_safe_binlog 主从复制的原理基于语句复制优点&…