如何通俗地理解「分布式系统」;Vue是否可以在一个项目中使用多个UI框架;大厂上线流程:先上前端还是后端|极客观点

简介: 如何通俗地理解「分布式系统」;Vue是否可以在一个项目中使用多个UI框架;大厂上线流程:先上前端还是后端|极客观点

#极客观点 聚焦于技术方向、程序员职业发展、个人成长等主题,致力于发起有价值的讨论,输出有价值的观点。

在本栏目中,我们将为大家推荐在 #极客观点 版块被热烈讨论的话题,甄选出有趣的观点为你呈现。期待我们一起成长和进步呀 🥰🥰

今日关键词:#分布式系统 #UI 框架 #大厂上线流程

如何通俗地理解「分布式系统」?

话题发起人:Alluxio

如何通俗地理解「分布式系统」,它解决了哪些问题,有什么优缺点?

有趣的观点:

关于“分布式系统”的定义,《分布式系统原理和范型》一书中是这样定义分布式系统的:“分布式系统是若干独立计算机的集合,这些计算机对于用户来说就像是单个相关系统”。关于这个定义,我们直观的感受就是:首先,这种系统相对来说比较牛逼,起码由好几台主机组成。以谷歌、亚马逊等服务商而言,他们的数据中心都由上万台主机支撑起来的。其次,虽然很牛逼,但对于外人来说,是感觉不到这些主机的存在。也就是说,我们只看到是一个系统在运作。

"宕机事件"为例,平时,我们压根不知道所提供的服务背后是由多少台主机组成,但是等到宕机才知道,是多么严重的事故。从进程角度看,两个程序分别运行在两个台主机的进程上,它们相互协作最终完成同一个服务(或者功能),那么理论上这两个程序所组成的系统,也可以称作是“分布式系统”。当然,这个两个程序可以是不同的程序,也可以是相同的程序。如果是相同的程序,我们又可以称之为“集群”。所谓集群,就是将相同的程序,通过不断横向扩展,以提高服务能力的方式。“分布式系统”和“集群”的定义够都简单吧。分布式系统有哪些优势那么,为啥我们要用分布式系统?说起分布式系统,我们就不得不说下分布式系统的祖先——集中式系统。集中式系统跟分布式系统是完全相反的两个概念。集中式系统就是把所有的程序、功能都集中到一台主机上,从而往外提供服务的方式。集中式系统最容易理解了。比如,我们主机的PC电脑,或者手机,我们把各种软件都安装在一台机子上,当我需要什么功能,我就从这台机子上去获取。再比如,我们在学生时代做的课程设计或者开发时的小应用,我们把Web服务器、数据库等都会安装到一台电脑上。好处是,易于理解、方便维护,想要的东西我都放到了一个地方,东西好找啊。当然弊端也是显而易见的,如果这台机子崩了,或者硬盘坏了,那相当与整个系统就奔溃了,而且如果备份也是在这个硬盘上,那相当于招了灭顶之灾。

有个名言,就是“不要把鸡蛋放在一个篮子里”。对于系统而言也是如此。厂商的机子不可能永远保证永远不坏,我们也无法保证黑客不会来对我们的系统搞基,最为关键的是,我们自己无法保证自己的程序不会出bug。所以问题无法避免,错误也不可避免。我们只能鸡蛋分散到不同的篮子里,来减轻一锅端的风险。这就是为什么需要分布式系统的原因。使用分布式系统的另外一个理由是可扩展性。毕竟任何主机(哪怕是小型机、超级计算机)都会有性能的极限。而分布式系统可以通过不断扩张主机的数量以实现横向水平性能的扩展。

————社区用户:bucai

有趣的观点:

我自己的理解:分布式系统能广为人知,跟社会的发展脱不了干系,每年的网民数量在逐步递增,随即带来的就是访问量以及数据量的问题,以前的单体架构不足以满足社会的发展,分布式系统存在的意义就是解决这样的事情,高并发、高可用、高、高性能,这也是常说的三高;至于优点前面已经说了,缺点的话我个人理解是取决于物理因素了,比如网络带宽等等,也会因为一些环境架构原因,通常最让人头疼的优化就是实时数据更新的问题

————社区用户:小乘字节

Vue 可以在一个项目中使用多个 UI 框架吗?

话题发起人:mmkk_ccvv

Vue的UI框架有ElementUI, AntUI 等,可以在一个项目中使用多个UI框架吗?

有趣的观点:

先说明:没问题,但是不推荐。

有几点考虑:

全局样式不同。会导致冲突,虽然可能很少,但是只要出现一个,就会很烦。

站点 UI 设计通常是基于一个组件库。多个组件的风格混合会让呈现效果显得格格不入,因为每套组件库都有自己一套设计模式,组合使用效果更佳。

组件齐全。当前来说,应该不会出现组件不够用,要去隔壁借一个用的场景,真出现了,那么可以考虑那种,专门做一种组件的插件,会更加专业。

————社区用户:YangFong

有趣的观点:

可以,但完全没有必要。

首先一个UI框架打包下来,即使按需加载,再怎么也得100K往上了。你用几个框架,打出来的包会相当大。

不同UI框架使用的CSS预编译不同,有些是less,有些是scss,混用会相当混乱,并且你必须安装两个loader。无形之中你的开发环境会变得非常臃肿。

设计语言不同,不同的UI框架遵循的设计语言和规范不同,容易出现放在一起不和谐的情况。

主题换肤功能不好做,需要统一两个框架的换肤方式。比如Ant Design可以直接用less.js换肤,但是Quasar是scss,没法通用。

可能引起样式冲突。

————社区用户:Gomi

大厂上线流程:是先上前端,还是先上后端?怎么保证平滑上线?

话题发起人:孟思行

1、如果先上前端,还没上后端,就请求不到新的接口。

2、如果先上后端,还没上前端,使用老接口的页面可能会报错。

有趣的观点:

一般情况都是后端先上线,这样现网对上线的感知也是最小的。毕竟前端上线之后,客户有了交互的界面,配合早已发布的后端环境,可以流畅体验新功能。

————社区用户:这个杀手不太冷静

有趣的观点:

如果是一个新项目,无所谓前后端先上后上

如果是老项目,在开发的时候,就该考虑到比如接口的兼容性了,然后后端先上线,然后前端上线。

————社区用户:冴羽

有趣的观点:

正常情况后端->bff->前端,如果是特殊情况比如前后端没有关联,先后上线不影响线上功能等就可以不关注顺序,想怎么上就怎么上。

还有一种情况就是没有规范的小公司了,可能是线上流量不大不在乎宕机就可以不关注上线顺序。

————社区用户:bucai

相关文章
|
4月前
|
前端开发 算法 Java
【CSS】前端三大件之一,如何学好?从基本用法开始吧!(二):CSS伪类:UI伪类、结构化伪类;通过伪类获得子元素的第n个元素;创建一个伪元素展示在页面中;获得最后一个元素;处理聚焦元素的样式
伪类:伪类这个叫法源自于它们跟类相似,但实际上并没有类会附加到标记中的标签上。 伪类分为两种(以及新增的伪类选择器): UI伪类:会在HTML元素处于某种状态时(例如:鼠标指针位于连接上),为该元素应用CSS样式。 :hover 结构化伪类:会在标记中存在某种结构上的关系时 例如: 某元素是一组元素中的第一个或最后一个,为该元素应用CSS样式。 :not和:target(CSS3新增的两个特殊的伪类选择器)
347 1
|
前端开发 安全 开发工具
【11】flutter进行了聊天页面的开发-增加了即时通讯聊天的整体页面和组件-切换-朋友-陌生人-vip开通详细页面-即时通讯sdk准备-直播sdk准备-即时通讯有无UI集成的区别介绍-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
【11】flutter进行了聊天页面的开发-增加了即时通讯聊天的整体页面和组件-切换-朋友-陌生人-vip开通详细页面-即时通讯sdk准备-直播sdk准备-即时通讯有无UI集成的区别介绍-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
805 90
【11】flutter进行了聊天页面的开发-增加了即时通讯聊天的整体页面和组件-切换-朋友-陌生人-vip开通详细页面-即时通讯sdk准备-直播sdk准备-即时通讯有无UI集成的区别介绍-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
|
11月前
|
JSON 自然语言处理 前端开发
【01】对APP进行语言包功能开发-APP自动识别地区ip后分配对应的语言功能复杂吗?-成熟app项目语言包功能定制开发-前端以uniapp-基于vue.js后端以laravel基于php为例项目实战-优雅草卓伊凡
【01】对APP进行语言包功能开发-APP自动识别地区ip后分配对应的语言功能复杂吗?-成熟app项目语言包功能定制开发-前端以uniapp-基于vue.js后端以laravel基于php为例项目实战-优雅草卓伊凡
598 72
【01】对APP进行语言包功能开发-APP自动识别地区ip后分配对应的语言功能复杂吗?-成熟app项目语言包功能定制开发-前端以uniapp-基于vue.js后端以laravel基于php为例项目实战-优雅草卓伊凡
|
9月前
|
Java 关系型数据库 MySQL
在Linux平台上进行JDK、Tomcat、MySQL的安装并部署后端项目
现在,你可以通过访问http://Your_IP:Tomcat_Port/Your_Project访问你的项目了。如果一切顺利,你将看到那绚烂的胜利之光照耀在你的项目之上!
481 41
|
7月前
|
人工智能 JSON 前端开发
如何解决后端Agent和前端UI之间的交互问题?——解析AG-UI协议的神奇作用
三桥君指出AG-UI协议通过SSE技术实现智能体与前端UI的标准化交互,解决流式传输、实时进度显示、数据同步等开发痛点。其核心功能包括结构化事件流、多Agent任务交接和用户中断处理,具有"一次开发到处兼容"、"UI灵活可扩展"等优势。智能体专家三桥君认为协议将AI应用从聊天工具升级为实用软件,适用于代码生成、多步骤工作流等场景,显著提升开发效率和用户体验。
1773 0
|
9月前
|
人工智能 安全 程序员
用 Colab 和 ngrok 免费部署你的 Web UI 项目,随时随地访问!
用 Colab 和 ngrok 免费部署你的 Web UI 项目,随时随地访问!
1139 12
|
10月前
|
人工智能 小程序 NoSQL
【一步步开发AI运动小程序】二十一、如何将AI运动项目配置持久化到后端?
本文介绍基于云智「Ai运动识别引擎」的运动配置持久化方案,旨在优化小程序或Uni APP中AI运动识别能力。通过将运动检测参数(如`Key`、`Name`、`TickMode`、`rules`或`samples`)持久化到后端,可避免因频繁调整运动参数而重新发布应用,提升用户体验。持久化数据结构支持规则和姿态样本存储,适用于关系数据库、文件或文档数据库(如MongoDB)。此外,云智还提供运动自动适配工具及「AI乐运动」产品,助力快速实现AI体育、全民健身等场景。
|
人工智能 JavaScript 关系型数据库
【02】Java+若依+vue.js技术栈实现钱包积分管理系统项目-商业级电玩城积分系统商业项目实战-ui设计图figmaUI设计准备-figma汉化插件-mysql数据库设计-优雅草卓伊凡商业项目实战
【02】Java+若依+vue.js技术栈实现钱包积分管理系统项目-商业级电玩城积分系统商业项目实战-ui设计图figmaUI设计准备-figma汉化插件-mysql数据库设计-优雅草卓伊凡商业项目实战
469 14
【02】Java+若依+vue.js技术栈实现钱包积分管理系统项目-商业级电玩城积分系统商业项目实战-ui设计图figmaUI设计准备-figma汉化插件-mysql数据库设计-优雅草卓伊凡商业项目实战
|
SQL JavaScript 安全
【04】Java+若依+vue.js技术栈实现钱包积分管理系统项目-若依框架二次开发准备工作-以及建立初步后端目录菜单列-优雅草卓伊凡商业项目实战
【04】Java+若依+vue.js技术栈实现钱包积分管理系统项目-若依框架二次开发准备工作-以及建立初步后端目录菜单列-优雅草卓伊凡商业项目实战
532 11
【04】Java+若依+vue.js技术栈实现钱包积分管理系统项目-若依框架二次开发准备工作-以及建立初步后端目录菜单列-优雅草卓伊凡商业项目实战
|
12月前
|
安全 前端开发 开发工具
【01】鸿蒙实战应用开发-华为鸿蒙纯血操作系统Harmony OS NEXT-项目开发实战-优雅草卓伊凡拟开发一个一站式家政服务平台-前期筹备-暂定取名斑马家政软件系统-本项目前端开源-服务端采用优雅草蜻蜓Z系统-搭配ruoyi框架admin后台-全过程实战项目分享-从零开发到上线
【01】鸿蒙实战应用开发-华为鸿蒙纯血操作系统Harmony OS NEXT-项目开发实战-优雅草卓伊凡拟开发一个一站式家政服务平台-前期筹备-暂定取名斑马家政软件系统-本项目前端开源-服务端采用优雅草蜻蜓Z系统-搭配ruoyi框架admin后台-全过程实战项目分享-从零开发到上线
604 5
【01】鸿蒙实战应用开发-华为鸿蒙纯血操作系统Harmony OS NEXT-项目开发实战-优雅草卓伊凡拟开发一个一站式家政服务平台-前期筹备-暂定取名斑马家政软件系统-本项目前端开源-服务端采用优雅草蜻蜓Z系统-搭配ruoyi框架admin后台-全过程实战项目分享-从零开发到上线

热门文章

最新文章