site logo

Marico's space

最近折腾微服务消息队列,在 Laravel 项目里集成 NATS(一个轻量级消息系统),踩了几个坑,终于把这块打通。这篇把问题和解决方案说清楚,顺便介绍下我做的 Laravel NATS 包。 做分布式系统,最大的挑战之一就是让服务之间可靠通信,又不搞出强耦合。Laravel 本身对队列、事件、广播、任务的处理已经相当完善,但涉及到 NATS 这个消息中间件,生态就比较匮乏了。 这就是我写 L
最近踩了个坑,让我认真想了一件事:开发者工具到底在跟什么竞争? 2026年5月20日,AWS停用了DMS Fleet Advisor。 这是个什么东西?它是AWS出的免费数据库迁移评估工具,帮你回答每个迁移团队最开始都会问的问题:我的数据库资产里到底有什么?迁过去难度有多大?免费、全托管、靠山是全球最大的云厂商。 然后它就被停用了。 AWS的官方公告就一句话:"经过慎重考虑,我们决定停止对
最近在折腾自动化攻击工具,踩了个特别尴尬的坑——它会一本正经地告诉你"成功了",其实毛都没有。 拿个工具扫目标,最 naive 的成功判断就是字符串匹配——看到 uid=0(root) 就当拿下 shell。但 banner 可以直接打印这行字,tarpit 可以在连接时自动推送出来。一旦成功信号本身就是假的,后面全完蛋:报告、"哪些主机沦陷了"的状态、下一步行动,全都被这个错误信号带偏。就是个
最近折腾了 AWS Lambda,配合 Python 写无服务器应用,踩了几个坑,这篇把问题说清楚。 做后端开发久了,总觉得运维是个甩不掉的包袱——服务器要维护、弹性伸缩要配置、流量高峰还得提前扩容。2018 年接触 Lambda 之后,这事儿就简单多了。代码写完往云上一扔,有人访问才计费,没人访问就是零成本。对于个人项目或者初创产品的 MVP 阶段,这个思路很实用。 Python 又是 La
最近折腾 Magento 2 搜索自动补全功能,踩了几个性能上的大坑,这篇把问题说清楚。 搜索自动补全是 Magento 2 店铺里资源消耗最大的交互功能。用户在搜索框每敲一个字,前端就会发一个 AJAX(异步JavaScript和XML)请求到后端,后端查询搜索引擎、加载商品数据、应用权限检查、最后返回 HTML(超文本标记语言)。在大流量店铺里,几百个并发访客同时打字,自动补全产生的后端请求
最近折腾了 Google Cloud Run 的多区域高可用方案,踩了几个坑,这篇把问题说清楚。 大多数团队意识到需要多区域架构的时候,往往都是在发生故障之后。不管你是做全球电商平台、实时游戏 API,还是金融服务应用,用户都期望服务随时可用。每个工程团队基本都会经历这样的对话——通常始于一次故障复盘。某个地区阿里云节点宕机,或者 Cloud Run 服务遭遇冷启动峰值,又或者单区域部署无法同时
这周有个热门帖子,讲的是有人给 AI 代理开放了发送邮件的权限,评论区第一条问题显然是"谁来阻止它发错东西"。我自己仓库里也有个类似的问题躺了好几周没深究——我搭了同样的东西:一个有公开身份写入权限的 MCP(Model Context Protocol)工具,外加一个完全独立的无人值守脚本,两者都能写入同一个 API(应用程序接口)——我本以为它们有相同的安全行为。实际上没有。 两条路,同一
最近折腾了一套基于 FastAPI 的微服务架构,从设计到上线踩了不少坑,这篇把完整的实践经验梳理出来。FastAPI 本身性能不错,但微服务涉及到通信模式、消息队列、容器化、安全这些环节,每个都有坑要填。想做生产级服务的朋友,这篇应该能帮你少走弯路。 为什么 FASTAPI 微服务适合生产环境 如果你的业务需要一组松耦合、可独立演进的服务,FastAPI 微服务是个务实的选择。它自带异步优
最近在项目里又绕回来了java.util.ServiceLoader。之前用它来实现一个 JSON 抽象层,让核心代码不直接依赖任何特定的 JSON 库,这样换实现的时候调用方完全不用动。同样的思路也用在 JWT 处理上——具体库可能是 jose4j 或者别的 JOSE 实现——还有各种解耦场景。动机始终不变:应用应该依赖一种能力,而不是依赖某个厂商。 之前写过一篇讲这个思路的文章,核心观点是把
最近折腾了一下用 Python 来控制 Terraform,踩了几个坑,这篇把问题说清楚。 想象一下这个场景:你盯着终端,第N次手动跑 terraform init、plan、apply,就因为 CI/CD 流水线又挂了。你心里清楚 Python 是自动化的绝杀技能,能写测试、能做胶水逻辑——但 Terraform 看起来就像个只认 HCL(HCL 是 HashiCorp 配置语言)的黑盒子。凭
共 64 条, 共 7 页