<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Shopify &#8211; mylogs.cn</title>
	<atom:link href="https://mylogs.cn/tag/shopify/feed/" rel="self" type="application/rss+xml" />
	<link>https://mylogs.cn</link>
	<description>发现、记录、分享</description>
	<lastBuildDate>Sun, 20 Sep 2026 03:24:56 +0000</lastBuildDate>
	<language>zh-Hans</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	
	<item>
		<title>科技大佬给 AI 踩刹车：「垃圾手榴弹」正在拖垮效率</title>
		<link>https://mylogs.cn/%e7%a7%91%e6%8a%80%e5%a4%a7%e4%bd%ac%e7%bb%99-ai-%e8%b8%a9%e5%88%b9%e8%bd%a6%ef%bc%9a%e3%80%8c%e5%9e%83%e5%9c%be%e6%89%8b%e6%a6%b4%e5%bc%b9%e3%80%8d%e6%ad%a3%e5%9c%a8%e6%8b%96%e5%9e%ae%e6%95%88/</link>
		
		<dc:creator><![CDATA[steve, zhang]]></dc:creator>
		<pubDate>Sat, 19 Sep 2026 19:42:21 +0000</pubDate>
				<category><![CDATA[科技]]></category>
		<category><![CDATA[AI 工作垃圾]]></category>
		<category><![CDATA[AI 生产力]]></category>
		<category><![CDATA[Shopify]]></category>
		<category><![CDATA[workslop]]></category>
		<category><![CDATA[吕特克]]></category>
		<category><![CDATA[多邻国]]></category>
		<category><![CDATA[斯坦福]]></category>
		<guid isPermaLink="false">https://mylogs.cn/%e7%a7%91%e6%8a%80%e5%a4%a7%e4%bd%ac%e7%bb%99-ai-%e8%b8%a9%e5%88%b9%e8%bd%a6%ef%bc%9a%e3%80%8c%e5%9e%83%e5%9c%be%e6%89%8b%e6%a6%b4%e5%bc%b9%e3%80%8d%e6%ad%a3%e5%9c%a8%e6%8b%96%e5%9e%ae%e6%95%88/</guid>

					<description><![CDATA[据《财富》杂志当地时间 9 月 17 日报道，曾经把 AI 捧为「释放员工全部潜力关键」的科技行业领导者，正开 [&#8230;]]]></description>
										<content:encoded><![CDATA[<p class="wp-block-paragraph">据《财富》杂志当地时间 9 月 17 日报道，曾经把 AI 捧为「释放员工全部潜力关键」的科技行业领导者，正开始悄悄改变说法。Shopify 联合创始人兼 CEO 托比亚斯·吕特克、多邻国 CEO 路易斯·冯·安等人，都收回了此前对 AI 的激进表态。</p>
<p class="wp-block-paragraph"><img decoding="async" style="max-width:100%; height:auto;" src="https://mylogs.cn/wp-content/uploads/2026/09/ithome560_header.webp" alt="AI 工作垃圾「workslop」正在拖垮办公效率" title="图片来源：IT之家"/></p>
<h2 class="wp-block-heading">「垃圾手榴弹」横飞</h2>
<p class="wp-block-paragraph">吕特克去年曾要求员工把使用 AI 当作基本要求——在申请更多资源前，先证明现有工作无法用 AI 完成。如今他却批评员工把未经检查的 AI 邮件和代码直接交出去，却不愿为粗糙的结果负责。「我们把这种东西叫作『垃圾手榴弹』（slop grenades），人们把它们互相扔来扔去。这绝对是一件坏事。」</p>
<p class="wp-block-paragraph">他指出，让 AI 彻底放开手脚很容易，但滥用只会把麻烦转嫁给接收和审核工作的人。AI 本该帮助整理邮件要点，而不是把几句话扩写成浪费别人时间的长篇大论。「你自己根本没认真读，现在却要让同事来审核，他们看完会说『这个不太对劲』。你只是把工作直接丢给 AI 去做。」</p>
<h2 class="wp-block-heading">多邻国也踩了刹车</h2>
<p class="wp-block-paragraph">多邻国 CEO 冯·安同样收回了此前的激进立场。去年他宣布公司转向「AI 优先」，员工考核参考 AI 使用情况，部分人工承包商被 AI 取代，只有团队无法自动化时才增加人手。今年 5 月接受《Fast Company》采访时，他坦言自己曾被 AI 在写作演示中的出色表现「冲昏头脑」，但真正扩大规模后才发现，AI 最终仍比不上员工的创造力。「我们可能需要写 1000 个不同的故事来帮助人们学习语言，到最后你会发现，其中 20% 完全就是垃圾。每当我们用 AI 大规模处理工作时，都必须非常小心，不能让这些垃圾混进来。」</p>
<h2 class="wp-block-heading">「workslop」有了学名</h2>
<p class="wp-block-paragraph">研究人员把吕特克描述的现象命名为「工作垃圾」（workslop）：表面精致、看似像模像样，实际却缺乏实用内容、还需要别人返工的 AI 产出。BetterUp 实验室与斯坦福大学社交媒体实验室今年调查了 962 名美国全职办公室员工，结果超过一半（52.7%）的受访者承认把 AI 工作垃圾发给过同事，而且所在机构越鼓励使用 AI，这种情况越常见；另有 38% 的受访者称收到过这类内容，平均每月要花 3.4 小时修改。</p>
<p class="wp-block-paragraph">这类产出还会伤害同事关系——一旦对方怀疑收到的是 AI 工作垃圾，就会认为发送者能力更差、也更不友善；在收到过的人里，36% 表示今后希望避免再与这些同事合作。</p>
<h2 class="wp-block-heading">返工成本持续走高</h2>
<p class="wp-block-paragraph">成本也在攀升。去年同主题调查中，40% 的受访者称遇到过 AI 工作垃圾，平均花费 2 小时修改；今年这一数字升至 3.4 小时。按 2025 年的估算，单名员工每月修改这类内容造成的成本约 186 美元（约合 1249 元人民币），而一家拥有 1 万名员工的机构，每年因此损失的生产力成本最高可达 900 万美元（约合 6042.7 万元人民币）。</p>
<p class="wp-block-paragraph">AI 进入职场已是不可逆的趋势，但「用了 AI」不等于「提高了效率」。当工具把产出门槛降到极低，真正的瓶颈反而回到了人的判断与责任：哪些内容值得发出、哪些必须自己读过再交付。大佬们集体踩刹车，提醒的正是这一点。</p>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>不用 Redis 也能扛住：Shopify 用 MySQL 重写库存预留</title>
		<link>https://mylogs.cn/shopify-mysql-replace-redis-inventory-reservations/</link>
		
		<dc:creator><![CDATA[steve, zhang]]></dc:creator>
		<pubDate>Sun, 09 Aug 2026 13:41:52 +0000</pubDate>
				<category><![CDATA[科技]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[Redis]]></category>
		<category><![CDATA[Shopify]]></category>
		<category><![CDATA[SKIP LOCKED]]></category>
		<category><![CDATA[数据库]]></category>
		<category><![CDATA[电商架构]]></category>
		<category><![CDATA[高并发]]></category>
		<guid isPermaLink="false">https://mylogs.cn/shopify-mysql-replace-redis-inventory-reservations/</guid>

					<description><![CDATA[你以为高并发的库存系统离不开 Redis？Shopify 工程团队用一次「反向迁移」给出了另一种答案：他们把库 [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">你以为高并发的库存系统离不开 Redis？Shopify 工程团队用一次「反向迁移」给出了另一种答案：他们把库存预留系统从 Redis 搬回 MySQL，并在 2025 年黑色星期五扛住了峰值——当时平台每分钟销售额达到 510 万美元。Shopify 支撑着美国超过 14% 的电商交易。</p>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6ab2dadb4e672&quot;}" data-wp-interactive="core/image" data-wp-key="6ab2dadb4e672" class="wp-block-image size-large aligncenter wp-lightbox-container"><img fetchpriority="high" decoding="async" width="1200" height="669" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://mylogs.cn/wp-content/uploads/2026/08/c17aba3d4098b3bffac2723514f2b28a_header.webp" alt="不用 Redis 也能扛住：Shopify 用 MySQL 重写库存预留" class="wp-image-4200" style="max-width:100%;height:auto;" srcset="https://mylogs.cn/wp-content/uploads/2026/08/c17aba3d4098b3bffac2723514f2b28a_header.webp 1200w, https://mylogs.cn/wp-content/uploads/2026/08/c17aba3d4098b3bffac2723514f2b28a_header-300x167.webp 300w, https://mylogs.cn/wp-content/uploads/2026/08/c17aba3d4098b3bffac2723514f2b28a_header-1024x571.webp 1024w, https://mylogs.cn/wp-content/uploads/2026/08/c17aba3d4098b3bffac2723514f2b28a_header-768x428.webp 768w" sizes="(max-width: 1200px) 100vw, 1200px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button><figcaption class="wp-element-caption">图片来源：Shopify</figcaption></figure>





<p class="wp-block-paragraph">旧方案的问题出在「两套账」。库存计数存在 Redis 里（占用就减、释放就加），但真正的库存总账在 MySQL。两步没法打包成一个原子操作，一旦顺序出错，就会出现超卖（东西卖了却没从总账扣掉）或幽灵库存（扣了却还显示占用）。Redis 也不感知多仓库库存，还得单独养一个集群。</p>



<p class="wp-block-paragraph">新方案靠的是 MySQL 8 的 SKIP LOCKED 特性。核心思路是「每个可售单元存一行」，而不是「每个商品存一行数量」。一件有 10 件库存的商品就对应 10 行，预留 3 件就是一次性锁 3 行、挪进预留表。为避免行数爆炸，每个商品/仓库最多维持 1000 行可用池，不够了再由补充进程从总账补齐。SKIP LOCKED 让并发请求跳过被锁的行、直接拿别的可用行，不用排队。</p>



<p class="wp-block-paragraph">几个工程细节值得记：把主键改成复合主键（店铺、商品、分组、序号），每行锁从两把降到一把；把事务隔离级别从默认的「可重复读」降到「读已提交」，避开空表补充时的间隙锁死锁；统一「先删后插」的锁顺序，消除预留与扣减路径间的循环等待；再用 UNION ALL 把一单多件的查询合并成一次往返。</p>



<p class="wp-block-paragraph">最有意思的是真瓶颈不在数据库。调完表结构，吞吐量还是卡在目标线下，CPU 也没跑满。团队给每条 SQL 打上业务标签（例如「conn_tag:checkout_completion」），在数据库代理层按调用方统计连接占用时长，才发现是结账链路上的其他环节长时间霸占连接。清理掉这些长事务后，主库读操作减少 50%、事务数减少 33%。</p>



<p class="wp-block-paragraph">迁移采用影子模式：Redis 和 MySQL 双写一段时间，确认无误再逐步把「真相源」切到 MySQL，并保留一键回滚。</p>



<p class="wp-block-paragraph">说白了，很多「必须上 Redis」的判断，只是因为当年 MySQL 还没有 SKIP LOCKED 这类能力；如今你手上的数据库往往就够用。真正的瓶颈常常藏在代码里的连接管理，而不是引擎本身。下次想引入新中间件之前，不妨先看看现有数据库的新特性和连接画像。</p>



<p class="has-small-font-size wp-block-paragraph">来源：Shopify 工程博客（作者 Emilie Noel，2026-05-12）</p>

]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
