Joyal A Johney’s Post

View profile for Joyal A Johney, graphic

Building Products for Startups | Backend, Data

Recently I decided to learn some Golang on the side and chose to build a real-time chat using websockets from John Crickett's Coding Challenges. As soon as I had something good, I had a doubt - "How do you scale websockets?" 🤔 Curiosity got the best of me, and I stumbled across Hussein Nasser's playslist on scaling websockets. I went deep into the rabbithole and in weeks I was able to build a distributed chat using Go and websockets, Redis for realtime pub/sub, and Kafka for high-throughput, low-latency processing. Configured Nginx as a reverse proxy for layer 7 loadbalancing. Setup the entire infrastructure on AWS using Terraform and build a CI/CD pipeline using Github actions. Heck I even purchased a domain and enabled TLS for secure HTTPS communication. Engineering is Contagious! ⚡ I was able to do this because a lot of good people shared their learnings in public for free, as well as the experience I gained building products at KeyValue Software Systems. Now, I am doing my part by sharing my github repo (for anyone interested in checking it out). I'll do my best to share my learnings through my blog as well. 𝐆𝐢𝐭𝐡𝐮𝐛: https://lnkd.in/gXSZAy5Q #engineering #codingchallenges #opensource #learnbybuilding

GitHub - JoyalAJohney/Realtime-Distributed-Chat: High throughput 🚀 low latency - realtime chat built in Go and React ❤️

GitHub - JoyalAJohney/Realtime-Distributed-Chat: High throughput 🚀 low latency - realtime chat built in Go and React ❤️

github.com

Md Razwan Niam

𝗙𝘂𝗹𝗹 𝗦𝘁𝗮𝗰𝗸 𝗗𝗲𝘃𝗲𝗹𝗼𝗽𝗲𝗿 + 𝗗𝗲𝘃𝗢𝗽𝘀. Leetcode solver. Ex @Capitall. AWS | Docker | Next.js | React.js | MongoDB | PostgreSQL| Typescript | Javascript | Redux | C++ | DSA

3mo

I was actually doing the same. Building a scalable chat app. But on Typescript. Here is one question. why do we need Redis here? Can Kafka not work in both pub/sub and Queue model?

Like
Reply
John Crickett

Helping you become a better software engineer through coding challenges that build real applications.

3mo

Awesome, great to hear that Coding Challenges was useful and inspiring.

Great project Joyal A Johney , can you please explain me the role of Redis in your project as i am new to it. Thank you.

Mohammed Falih

Software Engineer | Project Coordinator | Enthusiastic in AI Applications, Business Development and Entrepreneurship

3mo

great job buddy 🔥💯 thanks for sharing

Steve Armstrong

Developed GST E-invoicing (500M$+) | Prev. Software Developer - API Marketplace @ Telus 🇨🇦 & Senior Systems Engineer @ Infosys | Specialized in Java, SpringBoot, Kafka, NodeJS, AWS & GCP

3mo

Very similar path to how I ended up viewing Nasser's course on scaling web sockets, the only difference being I needed to implement websocket functionality capable of maintaining 30000 connections as per a client requirement at Work.I used NodeJS. Very nicely done Joyal👏.

Amneet Singh

SDE II @Zomato | Search

3mo

Wow Joyal A Johney very inspiring. Thanks for sharing. Hussein Nasser is the book of engineering.

Jithin Thankachan

CEO @CFC | Entrepreneur | Tech Enthusiast | FOSS Advocate

3mo

If I have seen a little further it is by standing on the shoulders of Giants.

Vinayak V R

Software Engineer | Aspire

3mo

Awesome. Really inspiring, Joyal A Johney . 👏

Steev James

Senior Application Engineer @ Oracle | Full Stack Development

3mo

Nice work. This really inspires me to build something 👏

See more comments

To view or add a comment, sign in

Explore topics