Microservices - jyotiprasadpal/useful-resources GitHub Wiki

Microservices - Articles, Blogs, Github

Books

Videos

.NET Microservices

Application architecture patterns - Clean, Hexagonal and Onion Architecture, Decomposition strategies

Questions:

  • What would be the architecture of your microservice? What are the different ways to implement a microservices architecture pattern? -API REST-based topology, application REST-based topology, and the centralized messaging topology -https://learning.oreilly.com/library/view/software-architecture-patterns/9781491971437/ch04.html#idm46407727554064
  • What are the challenges in designing microservices? logging, inter communication, tracing issues, if one service is down request can't be processed.
  • What are the differences in layered, onion, hexagonal and clean architecture patterns?
  • what are the challenges you may face while decomposing application into microservices?
  • What is the difference between SOA and microservice architecture?

Interprocess communication in a microservices architecture

Communicating using the synchronous Remote procedure invocation pattern

REST, gRPC
Fault tolerance and resilience - Handling partial failure using Retry & Circuit Breaker Patterns
Service discovery

Communicating using the Asynchronous messaging pattern

Broker based messaging - Kafka message broker
Transactional messaging

Websocket server and angular client

Questions

  • API first pattern or ui, which one will you design first?
  • REST, gRPC, graphQL, kafka/rabbitMQ message broker
  • How do you handle security when communicating with other microservices? Ans: use https or authentication
  • Why hard coded urls are bad and instead use discovery server? Ans: Changes require code updates, Dynamic URL's in the cloud, Load balancing, multiple environments
  • What is service discovery? What are the pros and cons of client side vs server side discovery? --https://www.baeldung.com/spring-cloud-netflix-eureka
  • How can you implement retry & circuit breaker?

Managing transactions with sagas

Transactional patterns

Designing business logic in a microservice architecture

Aggregate Pattern

Developing business logic with event sourcing

Event Sourcing Pattern

Implementing queries in a microservice architecture

CQRS

Questions

  • When to use CQRS and when not to use CQRS? Give examples.
  • What are the differences between Saga and CQRS?
  • Why CQRS and event sourcing be used together?
  • What are projections in Event Sourcing?
  • Why should we use event sourcing and CQRS together?
  • Give a real life scenario to explain where you will use event sourcing.
  • What are the advatntages of using microservices?
  • What are the challenges?
  • How do you test 3 microservices when you develop?
  • How do identify performance issues in microservices?

External API patterns

Questions

Developing production ready services

Security

Log aggregation pattern

Distributed tracing pattern

Questions

Deploying microservices

Questions

  • What is API first design?
  • What is server less deployment?
  • How do you deploy RESTful service using AWS Lambda and AWS gateway?

Aggregator pattern

Questions

  • What is aggregator pattern? How will you implement aggregator pattern using branch pattern?

Twelve-Factor Methodology

Micro frontends

***************QUESTIONS