高并发场景下,为什么大厂都选择SSE而不是WebSocket?| 掘金一周 4.10

本文字数3000+ ,阅读时间大约需要 8分钟。

【掘金一周】本期亮点:

「上榜规则」:文章发布时间在本期「掘金一周」发布时间的前一周内;且符合各个栏目的内容定位和要求。 如发现文章有抄袭、洗稿等违反社区规则的行为,将取消当期及后续上榜资格。

一周"金"选

内容评审们会在过去的一周内对社区深度技术好文进行挖掘和筛选,优质的技术文章有机会出现在下方榜单中,排名不分先后。

前端

高并发场景下,为什么大厂都选择SSE而不是WebSocket?@仙灵灵

某日深夜,某电商平台的服务器突然宕机。 事故原因:每秒100万用户通过WebSocket请求抢购茅台,服务器因频繁握手耗尽CPU资源。 解决方案:技术团队将协议切换为SSE(Server-Sent Events),资源消耗直降70%。 这背后隐藏着怎样的技术逻辑?本文将从协议原理、性能极限两个维度,深度解构SSE的底层哲学。

B站首页的 Banner 这么好看,我让你直接用到你的项目! @CrimsonHu

我最开始是用 Angular 去实现了B站的 Banner ,那时候还没有人做这东西,可以看到下面那一长串 Bannet 图片的第一个图是好几年以前的了。然后随着逐步完善,在这几年偶尔也看到有人发过这东西的实现方法。

🚀Element Plus X 上新啦!流式交互升级🔥 @KeyNG_Jykxg

在上版本中,当开发者使用 Sender 输入框组件 的自定义 #action-list 插槽时,往往需要牺牲内置的 语音识别功能 和 内置的发送、清除按钮功能。这周,我们正好也对 ant-design-x 的 Hooks 进行了源码翻阅和理解。

大文件上传之切片上传以及开发全流程之前端篇@再学一点就睡

前端验证:主要是为了提升用户体验。在用户选择文件时,前端就可以快速检测文件大小是否超出限制,并及时给出提示,避免用户等待长时间上传后才被告知文件过大。 后端验证:前端验证可被绕过,所以后端验证是保障系统安全和稳定的最后一道防线。后端可以防止恶意用户绕过前端限制上传超大文件,避免对服务器资源造成过度占用。

在失业的这一个多月里,我写了一个3D模型场景编辑器@答案answer

23年 底左右的时间我写过一个3D模型可视化编辑器的开源项目threejs-3dmodel-edit(目前已经是gitee推荐项目),因为项目的部分功能能够满足一些企业3D的相关的开发需求,于是有很多人私信找到我能不能基于这个开源项目做一些扩展的定制化需求。

一文搞懂跨域问题:原理、解决方案与实战避坑指南)@再学一点就睡

同源策略是浏览器最核心也最基本的安全功能,它限制了从同一个源加载的文档或脚本如何与来自另一个源的资源进行交互。这里的源(origin)由协议(Protocol)、域名(Domain)、端口(Port) 组成,当且仅当协议、域名和端口都完全一致时,两个页面才属于同源。

后端

程序员,你使用过灰度发布吗? [@猿java]

在分布式系统中,我们经常听到灰度发布这个词,那么,什么是灰度发布?为什么需要灰度发布?如何实现灰度发布?这篇文章,我们来聊一聊。

拿到Offer,租房怎么办?看我用高德MCP+腾讯云MCP,帮你分分钟搞定!@LucianaiB

这次租房的经历,对我来说不仅是一次生活中的小挑战,更是一次技术探索的旅程。高德地图MCP和腾讯云MCP的结合,让我感受到了技术带来的便利和高效。我相信,随着技术的不断发展,未来的生活一定会更加美好。

Android

Android 确定废弃「屏幕方向锁定」等 API ,如何让 App 适配大屏和 PC/XR 等场景 @恋猫de小郭

对于 Android 开发者而言,在过去声明一个 Activity 时,大多第一件事就是添加一个 android:screenOrientation="portrait",而其实自 targetSdkVersion ≥ 31(Android 12),在 2020 年的 Android Studio 3.6 就开始有相关警告。

血泪总结!Android传统项目接入Compose的几大深坑与填坑方案@JasonYin

现在AS创建项目默认compose,所以你说学不学,就和当初刚推kotlin一样,想继续干安卓就学吧。新项目在很多公司有可能没有,只在老项目进行迭代,那下面就说下老项目引入compose以及遇到的一些坑。下面是基于基于groovy进行升级的。

为什么要慎用 Skia 多线程渲染? @Indoraptor

对于进行渲染这项工作,Android 没有像更新 UI 那样直接限制成在非渲染线程中就抛出异常,所以开发者需要更加谨慎地使用使用多线程。本文将介绍一个笔者实际遇到的 AOSP bug,引出 Skia 单一使用者原则,分析 Google 如何实现对渲染的线程安全保护。

iOS

Flutter - Xcode16 还原编译速度 @LinXunFeng

在之前发布的【Flutter - iOS编译加速】一文中,我们提到升级至 Xcode16 之后,iOS 的编译速度慢到令人发指,随后探索发现是 xcrun cc snapshot_assembly.S snapshot_assembly.o 这一汇编耗时变长了。我在他的基础上做了优化与封装,只需两句命令即可还原编译速度,在开始详细介绍之前,先展示一下两台构建机优化前后的编译时长记录。

得物 iOS 启动优化之 Building Closure@得物技术

单就BuildingClosure阶段而言,我们观察到该阶段其中一个函数从 480ms 暴增到 1200ms 左右(PC 电脑端运行 dyld 调试统计耗时数据),我们通过优化,将耗时从1200ms降低到110ms。即使相比最开始的情况,也相当于从480ms降低到了110ms,由此可见Building Closure 优化是应用进行启动优化必不可少的一个重要手段。

人工智能

6000 字+6 个案例:写给普通人的 MCP 入门指南 @歸藏的AI工具箱

MCP(Model Context Protocol)是一种开放协议,旨在通过标准化接口实现大语言模型(LLMs)与外部数据源及工具的无缝集成。MCP由 Anthropic 公司在2024年底推出,其设计理念类似于USB接口,为AI模型提供了一个"即插即用"的扩展能力,使其能够轻松连接至不同的工具和数据源‌。想深入了解可查看 官方文档,这里只做实战经验分享。

前端搭建 MCP Client(Web版)+ Server + Agent 实践 @花楸树

MCP(Model Context Protocol)是一种开放协议,旨在通过标准化接口实现大语言模型(LLMs)与外部数据源及工具的无缝集成。MCP由 Anthropic 公司在2024年底推出,其设计理念类似于USB接口,为AI模型提供了一个"即插即用"的扩展能力,使其能够轻松连接至不同的工具和数据源‌。想深入了解可查看 官方文档,这里只做实战经验分享。

为什么GPT-4o可以生成吉卜力风格照片,原理是什么? @掘金安东尼

最近,OpenAI 发布了升级版的 ChatGPT-GPT-4o,其令人瞩目的功能之一是能够将普通照片转换为宫崎骏吉卜力风格的动画图像。这种将真实照片"动画化"的效果在社区引发轰动:大量用户争相用 GPT-4o 把自己和家人的照片生成吉卜力动画风格的画面。

一文掌握 MCP 上下文协议:从理论到实践 @陈明勇

模型上下文协议(Model Context Protocol,简称 MCP)是一种开放标准,旨在标准化大型语言模型(LLM)与外部数据源和工具之间的交互方式。​由 Anthropic 于 2024 年 11 月推出,MCP 通过定义统一的接口,使 AI 应用能够安全、灵活地访问和操作本地及远程数据资源,提升模型的功能性和可扩展性。

用claude3.7,不到1天写了一个工具小程序(11个工具6个游戏) @qiyue77

从本次结果和消耗的时间来看,AI对工作效率有相当大提升,但取代研发说法还是为时尚早,但是研发模式的变革已经悄然来临了,只是本次的一些小小的功能测试,也能体现出AI的恐怖能力。

MCP的出现,是对Function Calling的"书同文、车同轨"吗?@大海是蓝色blue

MCP刚刚发布的时候还是不温不火的,直到今年二月份cursor正式宣布接入对MCP功能的支持,才把这项功能推向了全体开发人员面前,本质来说他是一种技术Protocol,即种智能体Agent开发过程中共同约定的一种规范。这就好比秦始皇的"书同文、车同轨",在统一的规范下,大家的协作效率就能大幅提高,最终提升智能体Agent的开发效率。

社区活动日历

活动日历

活动名称 活动时间
码力全开,万元现金大奖等你瓜分 2025年4月8日-2025年5月11日

📖 投稿专区

大家可以在评论区推荐认为不错的文章,并附上链接和推荐理由,有机会呈现在下一期。文章创建日期必须在下期掘金一周发布前一周以内;可以推荐自己的文章、也可以推荐他人的文章。

相关推荐
小虚竹12 分钟前
解锁AI未来,开启创新之旅——《GPTs开发详解》与《ChatGPT 4应用详解》两本书的深度解析
人工智能·chatgpt
aflyingwolf_pomelo14 分钟前
波束形成(BF)从算法仿真到工程源码实现-第四节-最小方差无失真响应波束形成(MVDR)
人工智能·算法·信号处理
zhaoyqcsdn18 分钟前
Eigen库的core模块源码阅读笔记
人工智能·经验分享·笔记·算法
_沉浮_1 小时前
Spring AI使用tool Calling和MCP
java·人工智能·spring
果冻人工智能1 小时前
我们准备好迎接AI的下一次飞跃了吗?
人工智能
刘大猫261 小时前
Arthas profiler(使用async-profiler对应用采样,生成火焰图)
java·人工智能·后端
果冻人工智能2 小时前
猿群结伴强大,但AI代理不行:为什么多智能体系统会失败?
人工智能
周末程序猿2 小时前
机器学习|MCP(Model Context Protocol)实战
人工智能·机器学习·mcp
AI技术控2 小时前
计算机视觉算法实现——SAM实例分割:原理、实现与应用全景
人工智能·算法·计算机视觉
Lilith的AI学习日记2 小时前
LangChain高阶技巧:动态配置Runnable组件的原理剖析与实战应用
大数据·网络·人工智能·架构·langchain