【独立开发日记】MQ端到端类型安全

独立开发者,全栈TypeScript,前端Tanstack、后端hono

之前一直用 amqplib 这个库进行RabbitMQ操作,但是他没有像 tRPC 那样实现端到端类型安全,经常会遇到:

producer改动了routing、传输数据结构,consumer就得过一遍集成测试,看看哪里有没有受到影响,不仅麻烦也导致mq里经常一大堆垃圾数据。

其实本质是类型安全的问题,如果消费者可以实时推断生产者的类型,就完美解决这个问题,啃了tRPC的源码后学习了他的设计理念,最终实现了端到端类型安全。

这种契约耦合是必须的,起到了约束、保护的作用,换取了强大的类型安全和开发效率,带来的收益有:

  • 防止拼写错误:user.creatd 在编译时就会报错。
  • 确保了数据结构的统一
  • 强制了契约变更的可见性,生产者修改了契约,共用的契约迫使消费者进行协调更新
  • 契约就是活文档(数据结构,routing、exchange、queue)
相关推荐
GoGeekBaird23 分钟前
从 Prompt Engineering 到 Loop Engineering,我觉得 AI 开发这事儿终于开始变味了
后端·github
问心无愧051325 分钟前
ctf show web入门160 161
前端·笔记
一条泥憨鱼34 分钟前
【Redis】数据类型和常用命令
java·数据库·redis·后端·缓存
李小白6639 分钟前
第四天-WEB服务器基本原理,IIS服务
运维·服务器·前端
humcomm1 小时前
AI编程时代新前端职位
前端·ai编程
好家伙VCC1 小时前
Web Components主题热切换方案揭秘
java·前端
Oneslide2 小时前
初始化微信小程序
后端
甲维斯2 小时前
Kimi版超级玛丽效果“惊人”,配额不足5厘米!
前端·人工智能
hboot2 小时前
AI工程师第一课 - Python
前端·后端·python
凉菜凉凉2 小时前
AI时代,被抛弃的前端
前端·ai