mardi 27 septembre 2016

Microservices - Designing a website project with user authentication and accounts

I'm currently working on a new website project that'll be purely based on microservices and I have made this diagram to explain what I'm trying to achieve:

Diagram

As you can see, I want to have a separate web-ui service for the account management part, something like accounts.google.com. The separation of the auth-service and account-service is done for security reasons. Both services are intended to use postgresql database as their respective datastore. Also, I was planning on writing all services, both frontend and backend using node.js.

So to the questions:

  1. Does this look like a 'good/professional' approach, what would you do different?
  2. Should I split the api-gateway into two separate services, one for public users, one for admin users for other reasons than for scaling?
  3. Do I need to pass an api-key or api-token when using RabbitMQ as I would using REST?
  4. What would I benefit by using OpenID Connect for this design?

Of course, any suggestions are welcome and lastly, a huge thanks to everyone contributing both their time and effort to help others!




Aucun commentaire:

Enregistrer un commentaire