我构建了一个微服务名称生成器,因为命名很难 🤖🌱
Source: Dev.to
问题:为微服务命名
计算机科学中有两个难题:缓存失效、命名事物,以及 off‑by‑one 错误。
我已经与缓存失效和解。off‑by‑one 错误?我迟早会处理的。但给微服务命名?这件事一直困扰着我。
现在是上午 10 点。你有一个全新的服务要构建。架构已经明确,需求已经梳理,你准备就绪。然后有人问:“我们给它起什么名字?”
突然时间到了上午 11:30,团队在 Slack 里激烈争论 email‑sender 是否太通用,outbound‑notification‑delivery‑service 是否太冗长。
解决方案:微服务名称生成器
我受够了这种情况,于是构建了一个工具:Microservice Name Generator。
你描述服务的功能,选择一种命名风格,它会给出五个可直接复制的名称以及 README 风格的描述。
两种命名风格
| 风格 | 描述 |
|---|---|
| Creative | 从神话、流行文化、电子游戏、历史等汲取灵感。AI 横向思考,找到与服务相关的巧妙引用。 |
| Enterprise‑grade | 生成 kebab‑case、带前缀的名称,便于在服务注册表中扫描(例如 srv-outbound-emails、api-user-auth)。README 描述像内部文档一样简洁。 |
创意模式示例
你输入 “发送邮件的服务”,会得到如下名称:
- Hermes – 希腊的信使之神。
- Pidgeot – 送信鸽宝可梦,完美适用于投递服务。
- Paul Revere – 原始的 “陆上一次,海上两次” 通知系统。
每个名称都附带一段由过度热情的开发者编写的 README 描述:
Hermes 以希腊信使之神的优雅与速度处理所有外发邮件投递。无论是事务性通知还是批量营销活动,Hermes 都能确保你的信息顺利送达,而不会在冥界迷路。
企业级模式示例
会生成类似 srv-outbound-emails 和 api-user-auth 的 kebab‑case、带前缀名称,直接用于服务注册表。随附的 README 描述简明扼要,适合作为内部文档。
立即可用
每个生成的名称都配有 Copy 按钮,可复制 Markdown 格式的 README 描述。Copy All 按钮可以一次性把全部五个建议导出到文档中,供团队投票。无需重新排版——生成、复制、粘贴到仓库即可。
免费试用
工具地址:
生成一些名称,在 Slack 上分享那些奇怪的名字,然后用希腊神的名字给你的下一个服务命名吧。人生太短,不该用 svc-data-processor-v3。
讨论
在工作中你见过的最佳(或最糟糕)的微服务名称是什么?在评论里留下——我会像收集宝可梦卡片一样收集它们。