Microservice Design #52

Open
opened 2021-10-19 16:19:11 +02:00 by Jef Roosens · 0 comments

It would be interesting to set up a micro service design, where each service fulfills a very specific role.

For example, one service handles contents of the blog while another is responsible for managing shortened URLs or being a pastebin that I can use in my blog. The frontend could then also be a service, consisting of a high-performance web service that serves the static files.

Idea for services:

  • rb-auth: handles authentification for all other services (each service should be able to run without authentification if needed, e.g. disable it using feature flag or something). All other services use this service to authenticate requests. This post mentions an interesting way to authenticate requests between services, using a keypair of secrets.
  • rb-blog: handles contents of blog
  • rb-paste: pastebin for storing snippets of code used in blog (& just other stuff i want to pastebin to others)
  • rb-short: URL shortener used for shortening share links to posts
  • rb-front: frontend service (basically just a web server that serves static files)
  • rb-gw: a gateway service that proxies requests to the various parts of the site, giving the illusion that the site consists of a single API
  • ...

This site is a really good resource for learning about microservices.

An idea for simplifying everything is by combining rb-auth & rb-gw, essentially creating an authenticating reverse proxy. This way, all other services could just be private & only respond to authenticated requests from this proxy.

It would be interesting to set up a micro service design, where each service fulfills a very specific role. For example, one service handles contents of the blog while another is responsible for managing shortened URLs or being a pastebin that I can use in my blog. The frontend could then also be a service, consisting of a high-performance web service that serves the static files. Idea for services: * rb-auth: handles authentification for all other services (each service should be able to run without authentification if needed, e.g. disable it using feature flag or something). All other services use this service to authenticate requests. [This post](https://geekthis.net/post/microservice-authentication/) mentions an interesting way to authenticate requests between services, using a keypair of secrets. * rb-blog: handles contents of blog * rb-paste: pastebin for storing snippets of code used in blog (& just other stuff i want to pastebin to others) * rb-short: URL shortener used for shortening share links to posts * rb-front: frontend service (basically just a web server that serves static files) * rb-gw: a gateway service that proxies requests to the various parts of the site, giving the illusion that the site consists of a single API * ... [This site](https://microservices.io) is a really good resource for learning about microservices. An idea for simplifying everything is by combining rb-auth & rb-gw, essentially creating an authenticating reverse proxy. This way, all other services could just be private & only respond to authenticated requests from this proxy.
Jef Roosens added the
Idea
label 2021-10-19 16:19:11 +02:00
This repo is archived. You cannot comment on issues.
There is no content yet.