klg-mq-koa

rabbitmq koa middleware

klg-mq-koa

rabbitmq 中间件 for koa,方便把异步接口快速接入 MQ。

Koa 服务与 MQ 服务的连接方式

消息队列(Message queue)一般被我们用来做服务间通信,在发送方和消费方的速率不对等的时候,MQ 起到了缓冲的作用。 一般情况下,我们是这样接入 MQ 的

见 normal.puml

这样需要服务A B 两边都对接 MQ,为了简化接入流程,我们更倾向于使用这样方式对接

见 actual.puml

这种方式的好处的,只要服务B 对接 MQ ,而且原有服务 A B 直接的 http 连接方式不需要做任何修改

QuickStart

原接口:

router.post('/user/:userId', endPoint)

接入 MQ:

const mq = new KoaRabbitmq('amqp://joda:5672', 'test') // test 是 mq channel 前缀,用于区分不同服务
router.post('/user/:userId', mq.queue(endPoint, {prefetch: 2}))  // prefetch 表示消费速率

Test

$ npm i
$ npm test

Repository

https://github.com/kaolalicai/klg-mq-koa


上一篇:klg-redlock
下一篇:klg-mq

相关推荐

  • 阿里云centOS部署vue全家桶+node+koa2+mongo项目

    写在前面 文章有丢丢长,前端开发第一次部署项目,有问题请及时提出,以免误导其他童鞋,轻拍~, 更新系统 安装mongo 1. 添加MongoDB源 在/etc/yum.repos....

    1 年前
  • 通过编写一个路由中间件来学习 Koa

    混了四年的大学生活结束了,校招没有找到工作的我还面临着失业。没办法,只有临时抱抱佛脚看看能不能找个工作了。据说最近前端圈里不会 NodeJs 是不可能找到工作的,于是抱起了 NodeJs 里比较流行的...

    2 年前
  • 通过koa2和Promise.race()构造一个超时取消的ajax。

    MDN上说: 你可以使用AbortController.AbortController()构造函数创建一个新的AbortController对象。 使用AbortSignal 对象完成与DOM请求...

    2 年前
  • 适合初学者的koa2+mongodb初体验

    图片描述(https://img.javascriptcn.com/d9403c36f90d60138d8d3fd492c66355 "图片描述") 前言      笔者的前端开发已经有些时日了...

    1 年前
  • 踩坑记之基于Vue+Element+Koa实现云上存储

    前言最近在做项目等时候,需要处理图片,表格,文本等多种格式的文件到数据库,用传统等方法进行处理既繁琐又比较麻烦,所以第一次尝试使用云上存储等方式来实现。比较了阿里云和腾讯云之类的网站之后,最终选择七牛...

    3 个月前
  • 跨域cors 和 jsnop | koa 提供服务器 (实例前端 -后端演示)

    文章目的 验证一下对跨域的理解 前端需要都需要配置 后端相应配置什么 首先跨域方式不止这两种 iframe.posetMessage form 表单也可。 ==== 项目地址 (https:/...

    10 个月前
  • 超轻量级web框架koa源码阅读

    koa是一个非常轻量的web框架,里面除了ctx和middleware之外什么都没有,甚至连最基本的router功能都需要通过安装其他中间件来实现。不过虽然简单,但是它却非常强大,仅仅依靠中间件机制就...

    2 年前
  • 详解React项目的服务端渲染改造(koa2+web

    因为对网页SEO的需要,要把之前的React项目改造为服务端渲染,经过一番调查和研究,查阅了大量互联网资料。成功踩坑。 选型思路:实现服务端渲染,想用React最新的版本,并且不对现有的写法做大的改...

    2 年前
  • 记一次GraphQL真正的详细入门(原生,koa2,vue中的实战, 建议收藏)分享会

    记录了组内技术分享会, 有同样需求的同学可以参考一下 分享全程下来时间大约 55分钟 前言 痛点:网上找的资料,文章, GraphQL的官网,一看就是很‘自我’的大神写的(太烂了)完全管读者能不能看懂...

    2 个月前
  • 记一次 React + Koa + Mysql 构建个人博客

    前言 由于一直在用 vue 写业务,为了熟悉下 react 开发模式,所以选择了 react。数据库一开始用的是 mongodb,后来换成 mysql 了,一套下来感觉 mysql 也挺好上手的。

    1 年前

官方社区

扫码加入 JavaScript 社区