sqs-consumer
sqsiphon
sqs-consumer | sqsiphon | |
---|---|---|
4 | 1 | |
1,678 | 18 | |
0.9% | - | |
8.5 | 0.0 | |
7 days ago | almost 3 years ago | |
TypeScript | JavaScript | |
GNU General Public License v3.0 or later | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
sqs-consumer
-
Infinite loop pattern to poll for a queue in a REST server app
You could utilize a wrapper like sqs-consumer. Check out their implementation.
-
How to Instrument AWS Services with OpenTelemetry
To receive the messages from the queue, we will use the sqs-consumer library. The service will receive messages describing newly created orders. After some processing, it will change the order status in the table to ‘completed’.
-
Knock and Open Source
As we built out this new system, we looked at the current module ecosystem to determine if anything would fit our needs to keep this queue cleared. Unfortunately, the best module we could find, sqs-consumer, did not support FIFO queues and the issues indicated they did not have any intention to do so. Therefore, we wrote sqsiphon. Our library heavily borrows from the public interface of sqs-consumer, but is implemented in a much different way. In particular, sqsiphon leverages the Node.js event loop through setImmediate to build the polling mechanism instead of relying on SQS's "long polling" feature. Additionally, sqsiphon utilizes the JavaScript prototype to reduce reliance on expensive closures. As a bonus, OpenTracing support is built-in to sqsiphon so that applications built with it can be monitored effectively. The result is a library that can poll SQS extremely quickly while requiring very little overhead.
sqsiphon
-
Knock and Open Source
sqsiphon, installable via npm install @knockaway/sqsiphon, is a library we wrote to help us improve our webhook event ingestion. Initially, we were relying on the scalable nature of AWS Lambda to handle our incoming webhooks. This worked for a fair amount of time, but as we grew, so did the number of incoming webhook events we needed to process. This resulted in Lambda overloading our data stores. To solve the problem, we built out a system that receives the webhook events and puts them into an AWS SQS FIFO queue.
What are some alternatives?
AdonisJs Application
SailsJS - Realtime MVC Framework for Node.js
sns-sqs-big-payload - Amazon SNS/SQS client library that enables sending and receiving messages with payload larger than 256KiB via Amazon S3.
Koa - Expressive middleware for node.js using ES2017 async functions
Express - Fast, unopinionated, minimalist web framework for node.
sqs-producer - Simple scaffolding for applications that produce SQS messages
Next.js - The React Framework
MERN - ⛔️ DEPRECATED - Boilerplate for getting started with MERN stack
Catberry - Catberry is an isomorphic framework for building universal front-end apps using components, Flux architecture and progressive rendering.
bull - Premium Queue package for handling distributed jobs and messages in NodeJS.
feathers - The API and real-time application framework
Quick Start - 🍔 A Node.js Serverless Framework for front-end/full-stack developers. Build the application for next decade. Works on AWS, Alibaba Cloud, Tencent Cloud and traditional VM/Container. Super easy integrate with React and Vue. 🌈