DEV Community

Uday Yadav
Uday Yadav

Posted on

9 3

URL Shortener : Microservice Maven

Overview of My Submission

A URL shortening service with objective to:

  • To provide a alias for long URLs
  • Record the visits on the URL for info about its use

Submission Category: Microservice Mavens

Video Explainer of My Project

Language Used

  • Java : Spring Boot
  • Golang : Fiber
  • Javascript : React.js

Link to Code

URL Shortener : Microservice Maven

A URL shortening service with objective to:

  • To provide a alias for long URLs
  • Record the visits on the URL for info about its use

Typical Architecture

12

Simplified Redis Stack Architecture

18

Overview video (Optional)

Here's a short video that explains the project and how it uses Redis:

Embed your YouTube video

How it works

How the data is stored:

For every URL info, there are 3 things store

  • JSON containing all info
  • Key Value pair [short url]->[long url]
  • Redis Timeseries in name format links:{short_url}

How the data is accessed:

  • When you hit the Go Service, it fetches the Long URL using the short one from key value store and sends a message to redsub with current timestamp, and redirect the user to Long URL
  • Java subscribes to the channel : pubsub:dev117uday and when it receives the message, it stores into the Redis Timeseries
  • When user can save new URL…

Additional Resources / Info

Typical Architecture

Typical

Redis Stack Architecture

Redis

  • TimeSeries visualization using redis stack

Image description

Collaborators

Just me ...


API Trace View

Struggling with slow API calls? 👀

Dan Mindru walks through how he used Sentry's new Trace View feature to shave off 22.3 seconds from an API call.

Get a practical walkthrough of how to identify bottlenecks, split tasks into multiple parallel tasks, identify slow AI model calls, and more.

Read more →

Top comments (0)

A Workflow Copilot. Tailored to You.

Pieces.app image

Our desktop app, with its intelligent copilot, streamlines coding by generating snippets, extracting code from screenshots, and accelerating problem-solving.

Read the docs

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay