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

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

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

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

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

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

  • 防止拼写错误:user.creatd 在编译时就会报错。
  • 确保了数据结构的统一
  • 强制了契约变更的可见性,生产者修改了契约,共用的契约迫使消费者进行协调更新
  • 契约就是活文档(数据结构,routing、exchange、queue)
相关推荐
moxiaoran57532 小时前
Springboot实现WebSocket通信(二)
spring boot·后端·websocket
摩羯座-185690305943 小时前
VVIC 平台商品详情接口高效调用方案:从签名验证到数据解析全流程
java·前端·数据库·爬虫·python
会跑的葫芦怪3 小时前
Golang 赋值运算符与短声明 (= 与 :=)使用场景
开发语言·后端·golang
数据知道3 小时前
Go基础:Go语言函数和方法详解
开发语言·后端·golang·go语言
木觞清4 小时前
补环境-JS原型链检测:在Node.js中完美模拟浏览器原型环境
开发语言·javascript·node.js
我是华为OD~HR~栗栗呀4 小时前
华为od-前端面经-22届非科班
java·前端·c++·后端·python·华为od·华为
知识分享小能手4 小时前
React学习教程,从入门到精通,React Router 语法知识点及使用方法详解(28)
前端·javascript·学习·react.js·前端框架·vue·react
黄毛火烧雪下4 小时前
React中Class 组件 vs Hooks 对照
前端·javascript·react.js
gnip4 小时前
工作常用设计模式
前端·javascript
前端达人5 小时前
「React实战面试题」useEffect依赖数组的常见陷阱
前端·javascript·react.js·前端框架·ecmascript