๐ What is Rate Limiting?
Rate limiting is the process of controlling the number of requests a user or client can make to a server within a specified time window.
๐ง Why Use Rate Limiting?
1. Prevent abuse (e.g., brute-force login attempts).
2. Ensure fair access to APIs for all users.
3. Protect backend resources (e.g., databases, third-party APIs).
4. Avoid unexpected costs from overuse of metered services.
โ๏ธ Efficient Backend Implementation Options
1. Distributed Store (e.g., Redis-based)
a. Store counters or tokens in Redis with TTL.
b. Use atomic operations (e.g., INCR, EXPIRE, SETNX).
c. Can implement token bucket or fixed window.
โ Highly scalable
โ Centralized control across services
2. In-Memory (Golang/Python Cache)
a. Use a simple map with IP/user ID โ count/timestamp.
b. Suitable for single-instance apps.
How to:
Golang + Radis : https://dev.to/pradumnasaraf/rate-limiting-a-golang-api-using-redis-ogi
NodeJs + Radis : https://medium.com/@ignatovich.dm/creating-a-simple-api-rate-limiter-with-node-a834d03bad7a
DEV Community
Rate Limiting a Golang API using Redis
To put Rate Limiting in simpler words, it is a technique in which we limit the number of requests a...
โค4๐1
This media is not supported in your browser
VIEW IN TELEGRAM
A free online tool for drawing Entity-Relationship Diagrams by writing code. Designed specially for developers and data analysts.
https://dbdiagram.io/
@thunder_script #tool
https://dbdiagram.io/
@thunder_script #tool
โค3
Database Migration
Database migration is the process of moving data from one database system to another, or upgrading to a new version of the same system.
This could involve:
1. Switching database engines (e.g., from MySQL to PostgreSQL)
2. Changing storage locations (e.g., to the cloud)
3. Restructuring the data for better performance.
Why is it important?
A. Scalability: Supports growing data and user demands. ( ๐)
B. Performance: Improves speed and efficiency with modern systems.
C. Security: Helps adopt systems with stronger security features.
D. Cost-effectiveness: Enables using more affordable or managed solutions.
F. Innovation: Unlocks access to advanced features like analytics, replication, and automation.
This is one of my favorite and lifesaving topics. If you are a backend engineer or want to become one, please learn this because itโs one of the most necessary topics when working on scalable systems.
@thunder_script
โก1
This media is not supported in your browser
VIEW IN TELEGRAM
I have been in this exact situation ... struggling to post consistently.
But Iโm back now, ready to share some cool topics Iโve been working with.
Upcoming post on
Stay tuned!
But Iโm back now, ready to share some cool topics Iโve been working with.
Upcoming post on
Prometheus and Grafana
Stay tuned!
๐ฅ6๐1
What are Prometheus & Grafana?
Prometheus: An open-source monitoring and alerting system designed for reliability and scalability. It scrapes metrics from services and stores them in a time-series database.
Grafana: A highly flexible dashboarding and visualization tool that lets you query and display metrics beautifully (including those collected by Prometheus).
Why Use Them?
1. Real-time monitoring of app health and infrastructure.
2. Automatic alerting for anomalies (e.g., high CPU, memory, traffic spikes)
3.Integrates seamlessly with Kubernetes and cloud-native stacks
How to Set Them Up with Helm (K8s)
Setting them up on Kubernetes is super smooth using Helm charts.
# Add the community repo
helm repo add prometheus-community https://prometheus-community.github.io/helm-charts
helm repo update
# Install both Prometheus & Grafana
helm install monitoring prometheus-community/kube-prometheus-stack
This will deploy:
1. Prometheus
2. Grafana
3. Node Exporter
4. Alertmanager And all necessary CRDs
You can then port-forward Grafana to access the dashboards:
kubectl port-forward svc/monitoring-grafana 3000:80
Login using:
Username: admin
Password: prom-operator (or check the secret)
๐ Resources:
Helm Kube-Prometheus-Stack
Official Prometheus Docs
Grafana Documentation
If you're confused or want more clarity, I recommend this video: Link
If you have anything to discuss, feel free to drop it in the comments below.I know its really short, but you can definitely start here.i will share related documentation as well.
@thunder_script
#K8s #Prometheus #Grafana #monitoring
GitHub
GitHub - prometheus-community/helm-charts: Prometheus community Helm charts
Prometheus community Helm charts. Contribute to prometheus-community/helm-charts development by creating an account on GitHub.
๐ฅ4
Software Engineer Assistant (Remote)
Iโm looking for a Software Engineer Assistant to work with me.
What youโll do:
1. Be available from 12:00 PM โ 5:00 PM EST (7:00 PM โ 11:59 PM Ethiopian local time).
2. Have a reliable internet connection.
3. Be able to manage and operate a LinkedIn account.
4. Understand basic software engineering terms such as Golang, React, etc just terms
Compensation:
5,200 ETB/month, paid weekly.
How to apply:
Apply here: Link
Iโm looking for a Software Engineer Assistant to work with me.
What youโll do:
You will not write any code โ I will handle all coding.
1. Be available from 12:00 PM โ 5:00 PM EST (7:00 PM โ 11:59 PM Ethiopian local time).
2. Have a reliable internet connection.
3. Be able to manage and operate a LinkedIn account.
4. Understand basic software engineering terms such as Golang, React, etc just terms
Compensation:
5,200 ETB/month, paid weekly.
How to apply:
Apply here: Link
โค4
Thunder Script
Software Engineer Assistant (Remote) Iโm looking for a Software Engineer Assistant to work with me. What youโll do: You will not write any code โ I will handle all coding. 1. Be available from 12:00 PM โ 5:00 PM EST (7:00 PM โ 11:59 PM Ethiopian localโฆ
The form will close at 3 PM, and I will reach out to you after 6 PM so you can start working today or tomorrow.
โค1
Thunder Script
Software Engineer Assistant (Remote) Iโm looking for a Software Engineer Assistant to work with me. What youโll do: You will not write any code โ I will handle all coding. 1. Be available from 12:00 PM โ 5:00 PM EST (7:00 PM โ 11:59 PM Ethiopian localโฆ
guys um reaching out using this account pls be ready
@thunder_script_chat_2
@thunder_script_chat_2
๐1
Okay guys, I reached out to most of you and had interviews with a few. Since I didnโt get a response from others, I had to move to the next person. After considering everything related to the work,
Iโve decided to continue with: Dawit Kindea (@davido1221)
For those who had an interview with me, Iโll have other jobs and will reach out.
Thanks ๐
Iโve decided to continue with: Dawit Kindea (@davido1221)
For those who had an interview with me, Iโll have other jobs and will reach out.
Thanks ๐
๐6
Assign issues to Cursor and launch background agents from within Linear,
I saw it, bro its gonna be assigned tasks just like me ๐
๐3โค1
I personally prefer KEDA (Kubernetes Event-driven Autoscaling) instead of HPA.
#k8s
#k8s
Thunder Script
Happy backend year to me ๐ ... wishing u the best!
Here we are after a year ๐. It truly was a great backend year.
Wishing you the best this year too! ๐
Wishing you the best this year too! ๐
Just look what I found today. Put it on your bookmark list .. it will help u.
https://component-party.dev/
https://component-party.dev/
โค2
You can get all these premium models for free .
try ๐ https://lmarena.ai/ and check the direct chat
try ๐ https://lmarena.ai/ and check the direct chat
๐4
Elasticsearch
Elasticsearch is a distributed search engine designed for fast, accurate, and scalable information retrieval.
โช๏ธIt indexes data in JSON format and uses Apache Lucene to perform full-text and structured searches.
โช๏ธIt supports features like filtering, sorting, and real-time querying, making search results instant and relevant.
Examples of use:
E-commerce platforms for product search and filtering.
Content-heavy websites for article or document lookup.
Business tools for log and event search in real time.
If you need to work on it or want to learn more, check this link.
#Elasticsearch
Semaphore
7 Elasticsearch Alternative Search Solutions for Your Startup - Semaphore
Discover why startups should consider Elasticsearch alternatives, comparing key aspects of the top 7 alternative search services.
๐4
How to deploy MySQL using a persistent volume on K8S.
You might fail many times when you try to deploy MySQL with a persistent volume for the first time.
This blog helped me when I did it the first time, so I hope it helps you too. You can start with this.
https://blog.nashtechglobal.com/k8s-how-to-deploy-mysql-using-persistent-volume/
https://kubernetes.io/docs/concepts/storage/persistent-volumes/
#k8s #MySQL
NashTech Blog
K8s โ How To Deploy MySQL Using Persistent Volume - NashTech Blog
Hello Readers !!! In this blog weโll see How To Deploy MySQL Using Persistent Volume . You may found this article quite interesting while performing. Hope youโll enjoy learning this new topic . So letโs Get Start !!! INTRODUCTION This MySQL application deploymentโฆ