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

试题一

某大型电商平台建立一个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.mzph.cn/news/67451.shtml

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

相关文章

什么是接口测试,如何做接口测试?

比起点点点的功能测试,“接口测试”显得专业又高大上,也因此让有些初级测试人员“望而生畏”。别担心,其实接口测试也是功能测试的一种,它是针对接口进行的功能测试。 写在前面:本文参考了茹炳晟老师的《测试工程师 全…

opencv-4.5.2-android-sdk.zip安装教程

opencv-4.5.2-android-sdk.zip: 下载链接:百度网盘 请输入提取码 提取码:s0p2 导入模块的方法: ①、导入模块 ②、定位到sdk目录 点击ok就行,就导入成功了。导入成功后会多出一个可展开的opencv文件夹(自己命名的),一定要能展…

【Docker】 07-安装ElasticSearch、Kibana

安装ElasticSearch 1、拉取镜像 docker pull elasticsearch:6.4.2 2、运行 docker run -p 9200:9200 -p 9300:9300 --name es -d elasticsearch:6.4.2 启动会报错,按照下面流程修改 3、在宿主机中,修改配置sysctl.conf vim /etc/sysctl.conf 加入如下配…

Mediasoup在node.js下多线程实现

mediasoup基于socket.io的交互消息来完成join-room的请求过程。Join的过程,实际就是获取stream的过程,也就是视频加载时间(video-load-speed)。在RTMP系统,视频加载时间是秒开。Mediasoup给出的第一个frame是I-frame,但由于交互的…

wininet,winhttp,xmlhttprequest,各版本区别 《转》

一、标准API接口WinINet(Microsoft Windows Internet)和WinHTTP(Microsoft Windows HTTP) 实现Http访问,微软提供了二套API:WinINet, WinHTTP(分别封装于system32目录下的wininet.dll和winhttp.dll内) 二者主要区别在于后者更为安…

明星录制祝福视频:传递温情与关怀的独特方式

在当今社交媒体和数字化时代,明星录制祝福视频已经成为一种新颖而独特的方式,用来表达温馨祝福、分享喜悦,或者为特殊的时刻增添一份特别的意义。无论是生日、结婚、毕业,还是节日、活动等,明星录制的祝福视频能够让人…

leetcode283移动零

题目: 给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。 请注意 ,必须在不复制数组的情况下原地对数组进行操作。 示例 1: 输入: nums [0,1,0,3,12] 输出: [1,3,12,0,0]示例 2: 输入:…

MybatisPlus多表关联分页查询

Mybatis-plus是一个Mybatis的增强工具,提供了许多功能强大的API,其中包括分页查询和多表关联查询。在Mybatis-plus中,连表查询可以使用LambdaQueryWrapper或QueryWrapper加入多个表进行查询,然后再使用IPage进行分页。 IPage<Map<String, Object>> page = new…

规避【虚拟专线技术】使用风险实现业务系统安全

本文为作者学习文章&#xff0c;按作者习惯写成&#xff0c;如有错误或需要追加内容请留言&#xff08;不喜勿喷&#xff09; 本文为追加文章&#xff0c;后期慢慢追加 一、技战法描述 VPN是利用Internet等公共网络基础设施&#xff0c;通过隧道加密通信技 术&#xff0c;为用…

Jtti:Ubuntu18.04如何修改远程ssh端口号

要在Ubuntu 18.04上修改SSH的远程端口号&#xff0c;您需要编辑SSH服务器配置文件并指定新的端口号。以下是具体的步骤&#xff1a; 以root或具有sudo权限的用户登录到您的Ubuntu服务器。 备份SSH配置文件&#xff08;可选&#xff09;&#xff1a; 在进行任何更改之前&…

Hive UDF、UDAF和UDTF函数详解

在 Hive 中,可以编写和使用不同类型的自定义函数,包括 UDF(User-Defined Functions)、UDAF(User-Defined Aggregate Functions)和 UDTF(User-Defined Table Functions)。这些自定义函数允许你扩展 Hive 的功能,以执行自定义的数据处理操作。 UDF(User-Defined Functi…

QT实现TCP通信(服务器与客户端搭建)

一、TCP通信框架 二、QT中的服务器操作 创建一个QTcpServer类对象&#xff0c;该类对象就是一个服务器调用listen函数将该对象设置为被动监听状态&#xff0c;监听时&#xff0c;可以监听指定的ip地址&#xff0c;也可以监听所有主机地址&#xff0c;可以通过指定端口号&#x…

pdf用什么软件打开?介绍几种常用打开方法

pdf用什么软件打开&#xff1f;PDF是一种广泛使用的文件格式&#xff0c;由于其跨平台和易于共享的特点&#xff0c;它已成为许多人在日常工作和学习中使用的首选文件格式。但是&#xff0c;有时候我们可能会遇到一些问题&#xff0c;比如不知道用什么软件打开PDF文件&#xff…

【系统编程】线程池以及API接口简介

(꒪ꇴ꒪ )&#xff0c;Hello我是祐言QAQ我的博客主页&#xff1a;C/C语言&#xff0c;数据结构&#xff0c;Linux基础&#xff0c;ARM开发板&#xff0c;网络编程等领域UP&#x1f30d;快上&#x1f698;&#xff0c;一起学习&#xff0c;让我们成为一个强大的攻城狮&#xff0…

数据结构与算法-插入希尔归并

一&#xff1a;排序引入 我们通常从哪几个方面来分析一个排序算法&#xff1f; 1.时间效率&#xff1a;决定了算法运行多久&#xff0c;O&#xff08;1&#xff09; 2.空间复杂度&#xff1a; 3.比较次数&交换次数:排序肯定会牵涉到两个操作&#xff0c;一个比较是肯定的。…

14 | Spark SQL 的 DataFrame API 读取CSV 操作

sales.csv 内容 date,category,product,full_name,sales 2023-01-01,Electronics,Laptop,John Smith,1200.0 2023-01-02,Electronics,Smartphone,Jane Doe,800.0 2023-01-03,Books,Novel,Michael Johnson,15.0 2023-01-04,Electronics,Tablet,Emily Wilson,450.0 2023-01-05,B…

《存储IO路径》专题:块设备层多队列blk-mq架构

我们想象一下&#xff0c;你是一个餐厅的厨师&#xff0c;你要准备很多不同的菜肴&#xff0c;而每种菜肴需要不同的食材和烹饪时间。如果每道菜都按照需要的顺序来准备&#xff0c;那么你的工作效率一定会非常低。为了提高效率&#xff0c;你会怎么做呢&#xff1f; 在linux架…

uni-app 之 v-on:click点击事件

uni-app 之 v-on:click点击事件 image.png <template><!-- vue2的<template>里必须要有一个盒子&#xff0c;不能有两个&#xff0c;这里的盒子就是 view--><view>--- v-on:click点击事件 ---<view v-on:click"onclick">{{title}}<…

Git 回顾小结

Git是一个免费开源&#xff0c;分布式的代码版本控制系统&#xff0c;版主开发团队维护代码 作用&#xff1a;记录代码内容&#xff0c;切换代码版本&#xff0c;多人开发时高校合并代码内容 Git常用命令 命令作用注意git -v查看Git版本git init初始化本地Git仓库git add 文件…

澳门服务器有哪些特点

澳门服务器是指位于澳门的服务器,具有以下特点: 地理位置优越:澳门位于珠江口西侧,靠近香港,是中国内地与香港、澳门地区重要的交通枢纽。澳门服务器因此在访问速度和延迟方面表现出色。 稳定的网络连接:澳门拥有完善的网络基础设施,包括高速稳定的互联网连接和先进的通信技术…