A simple app to produce messages to sqs by using aws sdk v2 package for Golang.

go-sqs-producer

A simple app to produce messages to SQS by using aws sdk v2 package for Golang in performatic meaning.

How to run

| go 1.17 or above is required.

Just run the command go run . at the root directory

Sending data to SQS

The service were implemented by using gin as http Router to the api.

  • GET /send/:qtd Generates and send messages async in parallel
  • GET /send/batch/:qtd Generates and send messages in batch of 10 messages each, sapaws a hardcoded number of workers into a pool to fan-out messages to sqs.

Metrics

The server metrics will be at the port 8080, to scrap metrics can simply open the url:

http://localhost:8080/metrics

Performance considerations

| As I told early, /send/batch route implementes a performatic way to send milions of messages to SQS by using goroutines, channels and an worker pool strategy to send messages in batch and parallel, with this we can produce 1000000 (One milion) messages in less than 180 seconds, thats means we can produce 5500 messages per second with that simple implementation of go routines and channels.

working in progress...

Owner
Brenon Araujo
Software Architect, passionate developer, AI enthusiast, and still human!
Brenon Araujo
Similar Resources

The source code for workshop Scalable architecture using Redis as backend database using Golang + Redis

The source code for workshop Scalable architecture using Redis as backend database using Golang + Redis

Sep 23, 2022

golang-react-app

golang-react-app

- Estructura planteada: api ( Aplicación backend desarrollada en GOLANG ) controllers main.go product.go database connection.go models price.go produc

Nov 27, 2022

GoAdmin is a toolkit to help you build a data visualization admin panel for your golang app.

GoAdmin is a toolkit to help you build a data visualization admin panel for your golang app.

the missing golang data admin panel builder tool. Documentation | 中文文档 | 中文介绍 | DEMO | 中文DEMO | Twitter | Forum Inspired by laravel-admin Preface GoAd

Nov 25, 2021

A todo app written in Golang, MongoDB, and React.

A todo app written in Golang, MongoDB, and React.

A todo app written in Golang, MongoDB, and React.

Jun 5, 2022

A CRUD Phone Book app by REST-API, Golang and PostgreSQL

A CRUD Phone Book app by REST-API, Golang and PostgreSQL

in this repository, I've created a CRUD Phone Book app by REST-API, Golang and PostgreSQL. in this app, you can: 1-Create a new contact 2-See all contacts 3-Search among the contacts 4-Delete a contact by it's name 5-Delete a contact by it's number 6-Delete all contacts

Oct 8, 2022

Simple Todolist using Golang IO and Mysql

Simple Todolist using Golang IO and Mysql HOW TO USE create 2 database with name : todolist for product todolist_test for test create table in both da

Nov 22, 2021

Simple online shop which is implemented using golang

Espresso The service that we’re going to build is a simple OnlineShop. It will provide APIs for the frontend to do following things: Create and manage

Nov 28, 2021

Go program with embedded Next.js app.

Go program with embedded Next.js app.

golang-nextjs-portable is a small Go program to showcase the embed package for bundling a static HTML export of a Next.js app.

Dec 13, 2022

GoatCounter is an open source web analytics platform available as a hosted service or self-hosted app

GoatCounter is an open source web analytics platform available as a hosted service (free for non-commercial use) or self-hosted app. It aims to offer easy to use and meaningful privacy-friendly web analytics as an alternative to Google Analytics or Matomo.

Dec 29, 2022
記帳-PWA-web-app (Bookkeeping-PWA-web-app)
記帳-PWA-web-app (Bookkeeping-PWA-web-app)

GoKeep (bookkeeping web app) 記帳-PWA-web-app (Bookkeeping-PWA-web-app) demo link : https://bookkepping.herokuapp.com/ 測試用帳密 : tester002 , tester002 (亦可

Jan 31, 2022
Simple web app using Go and Gin framework

go-gin-app Simple web app using Go and Gin framework Golang 과 Gin 프레임워크를 사용한 간단한 웹 앱 How to get Started Install Gin and have Go installed on your syst

Oct 18, 2021
Store files in Telegram messages for free and access them from a modern Web UI

Telegram Storage Store files in Telegram messages for free and access them in a nice web UI. Telegram allows to store files (of max 2GB each) for a un

Jan 4, 2023
Go-get-gin - Simple golang app deployed on gcp

go-get-gin a simple golang gin app to be deployed on gcp Getting started make su

Jan 12, 2022
Demo application to implement a REST api backend service for an android app using the Go aah framework.

aah-recycleview-backend This tutorial is based on the aah framework to implement a REST API form of CRUD application services, taking "IN-MEMORY" stor

Jan 28, 2022
A simple command line tool using which you can skip phone number based SMS verification by using a temporary phone number that acts like a proxy
A simple command line tool using which you can skip phone number based SMS verification by using a temporary phone number that acts like a proxy

Fake-SMS A simple command line tool using which you can skip phone number based SMS verification by using a temporary phone number that acts like a pr

Dec 31, 2022
This is a very simple web-app which simply always returns HTTP status code 200

Responder This is a very simple web-app which simply always returns HTTP status code 200. It will also wait for an amount of time which can be set in

Dec 14, 2021
A simple app that reads NBMiner status REST API data and sends it to InfluxDB

NBMiner Reporter A simple Go app that reads NBMiner status REST API data and sends it to InfluxDB. Usage Using the reporter is quite easy, specially i

Feb 8, 2022
Go-web-scaffold - A simple scaffold for building web app quickly

Go-web-scaffold A simple scaffold for building web app quickly. features This sc

Jan 21, 2022
A Golang REST API to handle users and posts for a simple instagram backend. Uses MongoDB as the database. Tested using golang-testing and Postman.
A Golang REST API to handle users and posts for a simple instagram backend. Uses MongoDB as the database. Tested using golang-testing and Postman.

A Golang REST API to handle users and posts for a simple instagram backend. Uses MongoDB as the database. Tested using golang-testing and Postman.

Oct 10, 2021