当前位置: 首页 > news >正文

【系统架构师】-案例篇(九)容器化、CDN与微服务

某汽车制造企业提出开发一个车联网系统。该系统釆用微服务架构,将系统功能分解为多个松散耦合且可独立部署的较小组件或服务。最终设计的系统包括了车辆信息服务、车辆监控服务、车辆控制服务、人车授权服务、资源聚合服务、车机互联服务等。

在系统上线之后,由于功能完善、界面新颖,吸引了大量新用户关注尝鲜,很快系统性能出现了瓶颈。车辆监控服务的情况最严重,实时保存车辆的位置和状态导致大量数据库写操作;网络带宽也严重不足。对于这个情况,张工提出增加服务器资源的投入,而王工提出采用集群和云原生的技术。

经过技术组内多次讨论,决定采纳了王工的建议。

【问题1】

技术组经过研究发现,服务器的资源并没有充分利用,部分服务器满载,部分服务器还是很空闲的。王工提出采用容器技术解决该问题。请用300字以内的文字说明容器技术的优势,以及为什么能解决这个问题?

容器技术具有以下优势:

(1)敏捷性:容器技术可以快速部署和启动应用程序,因为容器镜像只需要包含应用程序和其依赖项,无需模拟整个操作系统环境。这减少了部署时间、提高了开发效率并降低了计算资源需求。

(2)弹性:容器技术具有很好的弹性,可以根据需求自动扩展或缩减容器实例。这种弹性扩展和缩减的能力使得容器技术能够有效地处理峰值流量和应对突发情况。

(3)可移植性:容器技术具有很好的可移植性,因为容器镜像可以在不同的平台和操作系统上运行。

(4)系统利用率高:因为容器可以在同一个操作系统内同时运行多个应用程序。

 

由于容器技术采用了虚拟化技术和编排技术,使得系统资源的利用率得到最大化,同时也减少了人工管理和维护的成本和难度。因为它们不需要模拟整个计算机硬件环境而节省资源,并且可以自动管理和调度容器的运行。

【问题2】

由于大量车辆同时在线并实时写入,系统和网络的资源严重不足。在这种情况下王工提出采用CDN技术解决该问题。请用300字以内的文字介绍CDN技术并说明为什么能解决该问题。

CDN是内容分发网络技术,目前已经是属于云服务的一个基本件。一个系统配置了CDN以后,当终端用户访问这个系统的时候,可以被调度到离用户网络上最近的边缘节点,从而大大减低核心节点的资源损耗,还能提高用户访问的响应速度。

 

在本系统的情况中,大量车辆同时在线会占用大量网络带宽,可以把访问在靠近用户的边缘节点就近处理,从而保护系统核心节点的网络带宽,防止整个系统阻塞。而实时保存车辆的位置和状态导致大量数据库写操作,可以通过边缘节点的内存数据库暂存车辆的信息,计算完成的最终信息批量同步到主数据库。

因此,采用CDN技术可以妥善解决系统和网络的资源严重不足的问题。(注意总结性话语)

【问题3】

请用100字以内的文字说明什么是微服务架构,并用 300字以内的文字解释基于微服务的系统与传统的单体式系统相比的优势和带来的挑战。

微服务架构是一种新型的架构模式,将一个大型的单个应用或服务拆分成多个微服务,每个服务运行在其独立的进程内,服务之间相互协调,互相配置,为用户提供最终的价值。

基于微服务的系统包含以下优势:
(1)复杂应用解耦。微服务架构将单一模块应用分解为多个微服务,同时保持总体功能不变。

(2)独立。微服务在系统软件生命周期中是独立开发、测试及部署的。

(3)技术选型灵活。每个开发团队可根据自身应用的业务需求发展状况选择合适的体系架构与技术。

(4)容错。故障会被隔离在单个服务中。

(5)松耦合,易扩展。

 

基于微服务的系统带来的挑战:

(1)分布式特性。分布式系统的编程难度更大,因为远程调用慢,而且总存在失败的风险;

(2)最终一致性。分布式系统的强一致性很难,开发人员需要处理最终一致性的问题;

(3)运维复杂性:需要成熟的运维团队,管理很多需要重新部署的服务。

 

相关文章:

【系统架构师】-案例篇(九)容器化、CDN与微服务

某汽车制造企业提出开发一个车联网系统。该系统釆用微服务架构,将系统功能分解为多个松散耦合且可独立部署的较小组件或服务。最终设计的系统包括了车辆信息服务、车辆监控服务、车辆控制服务、人车授权服务、资源聚合服务、车机互联服务等。 在系统上线之后&#…...

OpenAI工作原理及核心机制

一、工作原理: 1、数据收集: AI系统首先需要大量的数据作为学习的基础。这些数据可以是文本、图像、音频、视频等形式,来源于互联网、传感器、数据库等渠道。 2、预处理: 收集到的数据需要经过清洗和整理,去除无关…...

JVM调优-调优原则和原理分析

1.写在前面 对于JVM调优这个话题,可能大部分程序员都听过这个名词。 但是绝大多数程序员,都没有真真实实去干过,都没有真实的实践过。也不懂得如何调优?不知道要调成怎么样? 那今天咋们就对这个话题来展开描述一下&…...

dell服务器安装ubuntu18.04桌面版教程

目录 一、制作U盘启动盘 1.镜像下载地址: 2.制作U盘启动盘 二、服务器进入bios一系列设置 1.插入U盘启动盘 2.开机过程按F11键,进入Boot Manager ,点击 3.点击点击One-shot BIOS Boot Menu 4.进入boot menu ,找到U盘(一般…...

医疗图像处理2023年CVPR:Label-Free Liver Tumor Segmentation-无标签肝肿瘤分割

目录 一、摘要 二、介绍 三、相关工作 四、网络框架 1.位置选择 2.纹理处理 3.形状生成 4.后处理 5.参数设计 五、实验 1.数据集: 2.评价指标: 3.实现: 4.结果: 六、结论 一、摘要 通过在CT扫描中使用合成肿瘤&am…...

远程桌面如何连接?

远程桌面连接是一种可以在不同地点之间共享电脑桌面的技术。通过远程桌面连接,用户可以在远程的计算机上操作另一台计算机,就像是直接坐在前者的前面一样。这种技术可以帮助用户解决在不同地点之间共享数据、协同办公、设备管理等问题。 【天联】的使用场…...

Centos 停服倒计时!你的操作系统何去何从?

在计算机技术的不断演进中,操作系统扮演着至关重要的角色。然而,对于许多企业和个人用户来说,CentOS的突然停服消息带来了一场不小的冲击。作为一款备受欢迎的企业级Linux发行版,CentOS的停服意味着用户需要重新评估自己的操作系统…...

ITMS-91053: Missing API declaration

1. 添加PrivacyInfo.xcprivacy File → New → File → App Privacy 2. 格式 3. 已知对应关系 NSPrivacyAccessedAPICategoryFileTimestamp 3B52.1: Files provided to app by user, per documentation:File Timestamp NSPrivacyAccessedAPICategoryDiskSpace …...

iOS 裁剪图片

参考资源 YSHYClipImageDemo YQImageTool 裁剪图片 完整demo:https://github.com/liquangang/cutImageFinish...

算法训练营第60天|LeetCode 647.回文子串 516.最长回文子序列

LeetCode 647.回文子串 题目链接&#xff1a; LeetCode 647.回文子串 代码&#xff1a; class Solution { public:int countSubstrings(string s) {int size s.size();int result 0;vector<vector<int>>dp(size,vector<int>(size,false));for(int i si…...

读天才与算法:人脑与AI的数学思维笔记25_涌现理论

1. 人工智能新闻 1.1. 人工智能新闻报道算法的核心是如何将未经处理的原始数据转换成新闻报道 1.2. 很少有记者为美联社决定使用机器来帮助报道这些新闻持反对意见 1.2.1. 像“Wordsmith”这样的算法&#xff0c;具有自动化的洞察力、科学的叙事能力&#xff0c;现在正被应用…...

C/C++ IPV6服务器socket绑定在::,接受ipv4链接(双栈)

先决条件&#xff1a; 1、 创建IPV6套接字 2、打开套接字可重用 3、禁用仅限 IPV6 BOOL bEnable FALSE; if (setsockopt(listenfd_, IPPROTO_IPV6, IPV6_V6ONLY, reinterpret_cast<char*>(&bEnable), sizeof(bEnable)) < 0) …...

【Win10设备管理器中无端口选项】

计算机疑难杂症分享002 Win10设备管理器中无端口选项1、问题现象2、问题原因3、问题解决3.1、驱动精灵(亲测的此方法)3.2、添加过时硬件3.3、官方的方法 Win10设备管理器中无端口选项 1、问题现象 当我调试串口通信时&#xff0c;发现打开设备管理器没有端口&#xff0c;打开…...

「YashanDB迁移体验官」Oracle向YashanDB迁移的丝滑体验

&#x1f4e2;&#x1f4e2;&#x1f4e2;&#x1f4e3;&#x1f4e3;&#x1f4e3; 作者&#xff1a;IT邦德 中国DBA联盟(ACDU)成员&#xff0c;10余年DBA工作经验&#xff0c; Oracle、PostgreSQL ACE CSDN博客专家及B站知名UP主&#xff0c;全网粉丝10万 擅长主流Oracle、My…...

实现用户个人随机salt生成jwt及鉴别用户权限的实现思路

实现用户个人随机salt生成jwt及鉴别用户权限的实现 盐值是什么&#xff1f; 盐值&#xff08;salt&#xff09;是在密码学中用于增加密码安全性的一种随机值。它通常是一个随机生成的字符串&#xff0c;与用户密码结合在一起&#xff0c;然后再进行加密处理。盐值的作用是增加…...

AI工具的热门与卓越:揭示AI技术的实际应用和影响

文章目录 每日一句正能量前言常用AI工具创新AI应用个人体验分享后记 每日一句正能量 我们在我们的劳动过程中学习思考&#xff0c;劳动的结果&#xff0c;我们认识了世界的奥妙&#xff0c;于是我们就真正来改变生活了。 前言 随着人工智能&#xff08;AI&#xff09;技术的快…...

VUE el-button指定图片背景

似乎只能通过css指定&#xff1f; 代码1 <el-button circleclass"stream0"click"switchToStream(0)" > </el-button> 代码2 <style>.stream0 {background-size: cover;background-image: url(~/assets/stream.png); } 如果要动态变…...

【ARM 嵌入式 C 入门及渐进 1.2 -- 是否为 n 字节对齐】

文章目录 是否为 n 字节对齐 是否为 n 字节对齐 在C语言中&#xff0c;你可以定义一个宏来检查一个给定地址是否是n字节对齐的。这里的n应该是2的幂&#xff08;例如&#xff0c;2、4、8、16等&#xff09;。要做到这一点&#xff0c;可以利用位操作的特性。具体地&#xff0c…...

适配qnx和linux平台的线程管理类封装

概述 封装代码仓库&#xff1a; https://gitee.com/liudegui/my_thread 尝试封装一个基于C11的多线程控制与调度类&#xff0c;适配QNX和Linux平台&#xff0c;且代码符合Misra标准。它提供了以下主要功能&#xff1a; 线程的创建与销毁管理。线程的优先级调度。线程的CPU亲…...

【信息系统项目管理师】复习~第十五章

15.项目风险管理 每个项目都存在两个层面上的风险&#xff1a;①每个项目都有会影响项目达成目标的单个风险&#xff1b;②由单个风险和不确定性的其他来源联合导致的整体项目风险。项目风险会对项目目标产生负面或正面的影响&#xff0c;也就是风险与机会。项目风险管理旨在利…...

摆脱论文困扰!高效论文写作全流程AI论文平台推荐(2026 最新)

论文写作全流程可拆解为文献调研→选题/开题→大纲/初稿→文献综述→降重/去AI味→润色/格式→查重/投稿七大环节&#xff0c;2026年AI论文平台按环节精准匹配&#xff0c;兼顾中文适配、降重能力、去AI痕迹、学术合规四大核心需求&#xff0c;覆盖免费/付费、通用/垂直场景。一…...

当 AI 开始制造 AI:递归自我提升时代的人类工程师生存指南

1. 核心命题:人类瓶颈的消失与算力主导的新纪元 1.1 递归自我提升的拐点降临 1.1.1 从"人类设计"到"自我迭代"的范式转移 人工智能发展正经历一场深刻的范式革命,其核心特征是从"人类工程师主导设计"向"AI系统自主迭代进化"的根本…...

新手零基础入门:跟着快马生成的互动教程完成jdk17下载安装与第一个程序

作为一名Java初学者&#xff0c;第一次接触JDK安装可能会觉得有些迷茫。最近我在InsCode(快马)平台上尝试了一个JDK17安装教程项目&#xff0c;整个过程比我预想的要简单很多。下面就把我的学习笔记分享给大家&#xff0c;希望能帮助到同样刚入门的朋友。 JDK17下载步骤 首先需…...

道德迷宫工程:让伦理审查永远卡关

当伦理成为迷宫在数字化转型的浪潮中&#xff0c;软件系统深度渗透医疗、金融、公共治理等核心领域。伦理审查本应是技术创新的安全阀&#xff0c;却被一种名为道德迷宫工程&#xff08;Ethical Maze Engineering&#xff09; 的策略系统性破坏——通过精心设计的流程复杂性、模…...

剪映视频去水印+去字幕+去logo三合一操作流程(新手必备)

在短视频创作热潮中&#xff0c;剪映凭借免费、易用的优势&#xff0c;成为多数创作者的首选剪辑工具。但在实际使用中&#xff0c;不少人会遇到一个共性问题&#xff1a;剪映导出的视频自带水印、素材中夹杂多余字幕&#xff0c;或搬运、引用的素材带有品牌Logo&#xff0c;尤…...

Lucky Lillia Bot技术架构深度解析:OneBot 11协议在NTQQ平台的实现方案

Lucky Lillia Bot技术架构深度解析&#xff1a;OneBot 11协议在NTQQ平台的实现方案 【免费下载链接】LuckyLilliaBot NTQQ的OneBot API插件 项目地址: https://gitcode.com/gh_mirrors/li/LuckyLilliaBot 在即时通讯机器人开发领域&#xff0c;协议标准化与平台适配一直…...

PP-DocLayoutV3跨平台文档处理方案:兼容Windows、Linux与macOS

PP-DocLayoutV3跨平台文档处理方案&#xff1a;兼容Windows、Linux与macOS 最近在折腾文档智能处理&#xff0c;发现了一个挺有意思的模型服务——PP-DocLayoutV3。简单来说&#xff0c;它能帮你自动分析文档图片&#xff0c;把里面的文字、表格、图片、标题什么的&#xff0c…...

Wan2.2-I2V-A14B镜像部署教程:无需conda/pip,纯脚本一键启动

Wan2.2-I2V-A14B镜像部署教程&#xff1a;无需conda/pip&#xff0c;纯脚本一键启动 1. 镜像概述与核心优势 Wan2.2-I2V-A14B是一款专为文生视频任务优化的私有部署镜像&#xff0c;特别针对RTX 4090D 24GB显存显卡进行了深度优化。这个镜像的最大特点是开箱即用&#xff0c;…...

SpringBoot+Vue物流管理系统源码+论文

代码可以查看文章末尾⬇️联系方式获取&#xff0c;记得注明来意哦~&#x1f339; 分享万套开题报告任务书答辩PPT模板 作者完整代码目录供你选择&#xff1a; 《SpringBoot网站项目》1800套 《SSM网站项目》1500套 《小程序项目》1600套 《APP项目》1500套 《Python网站项目》…...

睿尔曼超轻量仿人机械臂--控制器与末端接口深度解析

1. 睿尔曼机械臂接口设计理念解析 第一次拿到睿尔曼机械臂时&#xff0c;最让我惊讶的是它的极简设计——传统机械臂必备的控制柜、示教器和缠绕的线缆统统不见了&#xff0c;整个系统就只有一个机械臂本体。这种高度集成化的设计背后&#xff0c;其实隐藏着两个关键接口模块&a…...