<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>集群 on 庞玉栋个人博客</title><link>https://pangyd.com/tags/%E9%9B%86%E7%BE%A4/</link><description>Recent content in 集群 on 庞玉栋个人博客</description><generator>Hugo</generator><language>zh-cn</language><lastBuildDate>Fri, 18 Sep 2026 19:20:00 +0800</lastBuildDate><atom:link href="https://pangyd.com/tags/%E9%9B%86%E7%BE%A4/index.xml" rel="self" type="application/rss+xml"/><item><title>Agoda 用 DragonflyDB 替换 SQL Server：真正难的不是性能，而是平稳切换</title><link>https://pangyd.com/post/radar-542/</link><pubDate>Fri, 18 Sep 2026 19:20:00 +0800</pubDate><guid>https://pangyd.com/post/radar-542/</guid><description>&lt;blockquote>
&lt;p>&lt;strong>原文&lt;/strong>：&lt;a href="https://www.infoq.cn/article/2kGlAwpJrK9I5kdDHLGz?utm_source=rss&amp;amp;utm_medium=article">Agoda 用 DragonflyDB 替换 SQL Server：真正难的不是性能，而是平稳切换&lt;/a>&lt;/p>
&lt;p>&lt;strong>作者&lt;/strong>：作者：Leela Kumili&lt;/p>
&lt;p>&lt;strong>来源&lt;/strong>：InfoQ 中国（架构）&lt;/p>
&lt;/blockquote>
&lt;h2 id="正文">正文&lt;/h2>
&lt;p>Agoda 将其一级酒店价格缓存从采用 72 个分片的 Microsoft SQL Server 部署迁移至 DragonflyDB。DragonflyDB 是一种内存数据存储系统，此次迁移旨在应对不断增长的读写量，并简化扩容。该缓存存储约 1.5 TB 的易变价格数据，每秒处理约 30 万次读取和 150 万次写入。迁移后，Agoda 报告称，P99 读取延迟改善了约八倍；DragonflyDB 在每秒处理约 30 万个请求时，P99 延迟约为 8 毫秒。&lt;/p>
&lt;p>Agoda 此前的架构需要由应用程序在 72 个 SQL Server 分片之间进行路由。扩容需要按预先规定的硬件增量进行，并手动重新映射分片和迁移数据。团队在 2024 年初将硬件容量翻倍后，不到一年又接近容量上限。不断增长的工作负载还需要一个单独的清理进程来删除过期的供应商数据。&lt;/p>
&lt;p>Agoda 首席工程师 Clarkson Chang 指出了这一问题：&lt;/p>
&lt;p>很明显，继续为 SQL Server 增加资源并不是一种可行或具有成本效益的长期策略。&lt;/p>
&lt;p>团队根据实际工作负载评估了 DragonflyDB，而非仅依赖公开的基准测试。其无共享、多线程架构、Redis 兼容性、基于集群的扩容方式和内置的键过期功能，与大量使用 MGET 和 SET 的价格缓存工作负载相吻合。Agoda 首先使用 memtier_benchmark 复现接近生产环境的 1:6 读写比例，以及平均涉及 10 个键的 MGET 操作。&lt;/p></description></item><item><title>九识建成首个L4万卡集群，无人驾驶进入多模态大模型新范式</title><link>https://pangyd.com/post/radar-189/</link><pubDate>Thu, 17 Sep 2026 18:14:00 +0800</pubDate><guid>https://pangyd.com/post/radar-189/</guid><description>&lt;blockquote>
&lt;p>&lt;strong>原文&lt;/strong>：&lt;a href="https://www.leiphone.com/category/industrynews/sOtgTcXitH6C7vAT.html">九识建成首个L4万卡集群，无人驾驶进入多模态大模型新范式&lt;/a>&lt;/p>
&lt;p>&lt;strong>来源&lt;/strong>：雷锋网（AI 媒体）&lt;/p>
&lt;/blockquote>
&lt;h2 id="摘要">摘要&lt;/h2>
&lt;p>一家做无人车的公司，为什么需要一万多张GPU？
9月10日，九识CEO孔旗在广州宣布战略升级为“城市级物理AI”。一周后的9月17日，CTO庄立首次披露支撑这次升级的底层能力：九识已建成业内首个L4级万卡集群，算力集群总规模近1.5万卡。九识也成为首个建成万卡集群的L4团队。
而万卡算力的背后，是一个正在从百亿级迈向千亿级的九识APEX多模态基座大模型。
无人驾驶下半场：迈入多模态大模型新范式
在智能驾驶圈子里，长期存在一个顽固的偏见：载人自动驾驶是高科技，城市货运无人车，AI壁垒更低。但事实显然不是如此。
九识成立于2021年8月，创始团队是中国无人驾驶的拓荒者，曾在百度硅谷研究院主导了Robotaxi、Robotruck的研发工作，并为第一代Appollo开源平台作出了重要贡献。而创业之初，就选择了崭新的领域RoboVan，过去五年，这家企业围绕技术、场景、商业模式三大核心方向深耕布局。
这五年，九识干了三件事：第一件事，把技术真正做出来，发明了全球第一台Robovan；第二件事：让无人驾驶走进更多真实场景，从聚焦物流到L4技术赋能千行百业；第三件事：跑出了无人驾驶的成熟商业范式——卖车、服务、运力。
从2023年卖出第一台车，到如今，九识全球车队超过3万台，覆盖20多个国家、300多座城市，累计真实运营里程超过2.7亿公里。
但规模跑通之后，一个更根本的问题浮出水面：当无人车面对真实城市里那些无法用规则穷尽的大量长尾场景——无标识乡村道路、临时施工围挡、异形障碍物、人车无序混行、恶劣天气光影突变——分水岭到底是什么？
今天，九识从另一个维度回答了这个问题——正式披露其算力集群突破“万卡”规模，成为业内首家建成L4万卡集群的L4无人驾驶企业。
这也意味着无人驾驶开始迈入多模态大模型的新范式。
万卡算力集群，让车拥有“自我进化”的能力
万卡集群，指的是由超过一万张加速卡组成的高性能计算系统，用以训练基础大模型。
单张AI加速卡像一个高速计算单元，万卡集群则像一座由上万台计算设备组成的‘AI超级工厂’，能够把一个复杂的大模型训练任务拆解后并行处理。
更重要的是，算力的层级，将在基础设施上决定一家智驾企业的智能上限。真实的城市货运场景，充满了长尾非标路况，根本无法用人工规则穷尽。
九识的解法是用大模型去学习物理世界，而万卡集群就是训练这些模型的硬性前提。万卡算力集群，是支撑千亿大模型演进的硬核底座。
据九识披露，其APEX多模态基座大模型正在由百亿级参数规模向千亿级迈进。APEX融合了海量真实L4驾驶数据与互联网语言、视频等知识语料和真实运营的人类决策数据，通过APEX 基座训练完成后，向下赋能数据、模型、评测，实现迭代闭环。
万卡集群赋予九识的，是“自我进化”的能力。3万台车、300多座城市、2.7亿公里真实L4运营数据，每天都在喂养这套算力体系。算力越强，模型迭代越快。模型越强，运营成本越低，更多客户愿意用，车跑起来又产生更多稀缺数据。
孔旗说过一句话：“复杂城市开放道路能够产生高价值数据，而商业模式本身需要赚钱，才能持续获取数据、推动技术进步。”算力不是成本，是飞轮的起点。
APEX九识基座世界模型，让车“理解物理世界”
九识此次战略升级的核心，落在“九识大脑”上——它是九识无人车实现服务与城市治理生态的核心基座。而九识大脑的核心，是正从百亿迈入千亿的APEX多模态基座大模型。
APEX赋予九识的，是“理解物理世界的变化”。
这种能力带来四个层面的质变。
场景推理与决策能力更强，具备预测推演能力，长时序博弈预判大幅提升行驶平顺性与安全性。
知…&lt;/p>
&lt;hr>
&lt;blockquote>
&lt;p>本文由「前沿雷达」于 2026-09-19 自动采集。标题与摘要版权归原作者所有，原链接见上。&lt;/p>
&lt;/blockquote></description></item><item><title>Java Web 网站技术架构演化和总结</title><link>https://pangyd.com/post/103-java-web/</link><pubDate>Fri, 15 Sep 2017 20:00:42 +0800</pubDate><guid>https://pangyd.com/post/103-java-web/</guid><description>&lt;p style="text-align: justify">&lt;b>[&lt;a target="_self" href="https://pangyd.com/">分享&lt;/a>]&lt;/b>工作也有几多年了，无论是身边遇到的还是耳间闻到的，多多少少也积攒了自己的一些经验和思考，当然，博主并没有太多接触高大上的分布式架构实践，相对比较零碎，随时补充。&lt;/p>&lt;p style="text-align: justify">&lt;span>俗话说的好，冰冻三尺非一日之寒，滴水穿石非一日之功，罗马也不是一天就建成的，当然对于我们开发人员来说，一个好的架构也不是一蹴而就的。&lt;/span>&lt;/p>&lt;p style="text-align: justify">&lt;span>初始搭建&lt;/span>&lt;/p>&lt;p style="text-align: justify">&lt;span>开始的开始，就是各种框架一搭，然后扔到Tomcat容器中跑就是了，这时候我们的文件，数据库，应用都在一个服务器上。&lt;/span>&lt;/p>&lt;p>&lt;img class="" data-ratio="0.84375" data-src="https://pangyd.com/uploads/2017/09/74c10f869f038762.jpeg" data-type="jpeg" data-w="640" height="562" width="666" src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='480' height='120'%3E%3Crect width='480' height='120' fill='%230E1012' stroke='%231B1E22'/%3E%3Ctext x='240' y='66' fill='%235C6069' font-family='monospace' font-size='13' text-anchor='middle'%3E%5B%E5%8E%9F%E5%9B%BE%E5%B7%B2%E5%A4%B1%E6%95%88%5D%3C/text%3E%3C/svg%3E" data-fail="0">&lt;span>服务分离&lt;/span>&lt;/p>&lt;p style="text-align: justify">&lt;span>随着系统的的上线，用户量也会逐步上升，很明显一台服务器已经满足不了系统的负载，这时候，我们就要在服务器还没有超载的时候，提前做好准备。&lt;/span>&lt;/p>&lt;p style="text-align: justify">&lt;span>由于我们是单体架构，优化架构在短时间内是不现实的，增加机器是一个不错的选择。这时候，我们可能要把应用和数据库服务单独部署，如果有条件也可以把文件服务器单独部署。&lt;/span>&lt;/p>&lt;p>&lt;img class="" data-ratio="0.870020964360587" data-src="https://pangyd.com/uploads/2017/09/74c10f869f038762.jpeg" data-type="jpeg" data-w="477" height="415" width="477" src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='480' height='120'%3E%3Crect width='480' height='120' fill='%230E1012' stroke='%231B1E22'/%3E%3Ctext x='240' y='66' fill='%235C6069' font-family='monospace' font-size='13' text-anchor='middle'%3E%5B%E5%8E%9F%E5%9B%BE%E5%B7%B2%E5%A4%B1%E6%95%88%5D%3C/text%3E%3C/svg%3E" data-fail="0">&lt;span>反向代理&lt;/span>&lt;/p>&lt;p>&lt;img class="" data-ratio="0.4378531073446328" data-src="https://pangyd.com/uploads/2017/09/74c10f869f038762.jpeg" data-type="jpeg" data-w="354" height="155" width="354" src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='480' height='120'%3E%3Crect width='480' height='120' fill='%230E1012' stroke='%231B1E22'/%3E%3Ctext x='240' y='66' fill='%235C6069' font-family='monospace' font-size='13' text-anchor='middle'%3E%5B%E5%8E%9F%E5%9B%BE%E5%B7%B2%E5%A4%B1%E6%95%88%5D%3C/text%3E%3C/svg%3E" data-fail="0">&lt;/p>&lt;p style="text-align: justify">&lt;span>为了提升服务处理能力，我们在Tomcat容器前加一个代理服务器，我一般使用Nginx，当然你如果更熟悉apache也未尝不可。&lt;/span>&lt;/p>&lt;p style="text-align: justify">&lt;span>用户的请求发送给反向代理，然后反向代理把请求转发到后端的服务器。&lt;/span>&lt;/p>&lt;p style="text-align: justify">&lt;span>严格意义上来说，Nginx是属于web服务器，一般处理静态html、css、js请求，而Tomcat属于web容器，专门处理JSP请求，当然Tomcat也是支持html的，只是效果没Nginx好而已。&lt;/span>&lt;/p>&lt;p style="text-align: justify">&lt;span>反向代理的优势，如下：&lt;/span>&lt;/p>&lt;ul class=" list-paddingleft-2">&lt;li>&lt;p style="text-align: justify">&lt;span>隐藏真实后端服务&lt;/span>&lt;/p>&lt;/li>&lt;li>&lt;p style="text-align: justify">&lt;span>负载均衡集群&lt;/span>&lt;/p>&lt;/li>&lt;li>&lt;p style="text-align: justify">&lt;span>高可用集群&lt;/span>&lt;/p>&lt;/li>&lt;li>&lt;p style="text-align: justify">&lt;span>缓存静态内容实现动静分离&lt;/span>&lt;/p>&lt;/li>&lt;li>&lt;p style="text-align: justify">&lt;span>安全限流&lt;/span>&lt;/p>&lt;/li>&lt;li>&lt;p style="text-align: justify">&lt;span>静态文件压缩&lt;/span>&lt;/p>&lt;/li>&lt;li>&lt;p style="text-align: justify">&lt;span>解决多个服务跨域问题&lt;/span>&lt;/p>&lt;/li>&lt;li>&lt;p style="text-align: justify">&lt;span>合并静态请求(HTTP/2.0后已经被弱化)&lt;/span>&lt;/p>&lt;/li>&lt;li>&lt;p style="text-align: justify">&lt;span>防火墙&lt;/span>&lt;/p>&lt;/li>&lt;li>&lt;p style="text-align: justify">&lt;span>SSL以及http2&lt;/span>&lt;/p>&lt;/li>&lt;/ul>&lt;h1>&lt;span>动静分离&lt;/span>&lt;/h1>&lt;p>&lt;img class="" data-ratio="0.6956521739130435" data-src="https://pangyd.com/uploads/2017/09/74c10f869f038762.jpeg" data-type="jpeg" data-w="529" height="368" width="529" src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='480' height='120'%3E%3Crect width='480' height='120' fill='%230E1012' stroke='%231B1E22'/%3E%3Ctext x='240' y='66' fill='%235C6069' font-family='monospace' font-size='13' text-anchor='middle'%3E%5B%E5%8E%9F%E5%9B%BE%E5%B7%B2%E5%A4%B1%E6%95%88%5D%3C/text%3E%3C/svg%3E" data-fail="0">&lt;/p></description></item></channel></rss>