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

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

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

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

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

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

  • 防止拼写错误:user.creatd 在编译时就会报错。
  • 确保了数据结构的统一
  • 强制了契约变更的可见性,生产者修改了契约,共用的契约迫使消费者进行协调更新
  • 契约就是活文档(数据结构,routing、exchange、queue)
相关推荐
Mr_Xuhhh几秒前
深入Java多线程进阶:从锁策略到并发工具全解析
前端·数据库·python
阿捞29 分钟前
Inertia.js 持久布局实现原理
前端·javascript·html
不会写DN11 分钟前
如何在纯前端中通过手势交互来控制星球的转动
前端·交互
w2sfot12 分钟前
反AI逆向JS加密
javascript·人工智能·反ai
liliangcsdn31 分钟前
sentence-transformer如何离线加载和使用模型
开发语言·前端·php
东宇科技1 小时前
如何使用js进行抠图。识别商品主体
开发语言·javascript·ecmascript
不会写DN1 小时前
Vue3中的computed 与 watch 的区别
javascript·面试·vue
qq_381338501 小时前
TypeScript 类型安全与类型体操实战:从入门到精通
javascript·安全·typescript
Slow菜鸟1 小时前
Spring Cloud 教程(四) | OpenFeign 的作用
后端·spring·spring cloud
GetcharZp1 小时前
告别付费云盘!这款开源 AI 相册神器,颜值与实力双飞,满足你对私人云端的一切幻想!
后端