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

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

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

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

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

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

  • 防止拼写错误:user.creatd 在编译时就会报错。
  • 确保了数据结构的统一
  • 强制了契约变更的可见性,生产者修改了契约,共用的契约迫使消费者进行协调更新
  • 契约就是活文档(数据结构,routing、exchange、queue)
相关推荐
最贪吃的虎2 分钟前
什么是开源?小白如何快速学会开源协作流程并参与项目
java·前端·后端·开源
DigitalOcean3 分钟前
加速 JavaScript 开发:DigitalOcean 应用托管现已原生支持 Bun
javascript
裴嘉靖4 分钟前
Vue + ECharts 实现图表导出为图片功能详解
前端·vue.js·echarts
用泥种荷花5 分钟前
【LangChain学习笔记】输出解析器
前端
闲云一鹤33 分钟前
Cesium 使用 Turf 实现坐标点移动(偏移)
前端·gis·cesium
Thomas游戏开发39 分钟前
Unity3D IL2CPP如何调用Burst
前端·后端·架构
想学后端的前端工程师1 小时前
【微前端架构实战指南:从原理到落地】
前端·架构·状态模式
货拉拉技术1 小时前
货拉拉离线大数据迁移-验数篇
后端·架构
用户6802659051191 小时前
如何利用 Endpoint Central 提高企业终端管理效率
javascript·后端·面试