Microservices - jyotiprasadpal/useful-resources GitHub Wiki
Microservices - Articles, Blogs, Github
- Microservices - Martin
- Implementing Domain-Driven Design for Microservice Architecture | Github
- Pattern: Microservice Architecture
- FTGO example application - Microservice patterns book | Github
- https://www.dotnetcurry.com/microsoft-azure/microservices-architecture
- https://docs.microsoft.com/en-us/dotnet/architecture/microservices/multi-container-microservice-net-applications/microservice-application-design
Books
Videos
- Master Microservices with Spring Boot and Spring Cloud | in28Minutes | Udemy
- Microservices: Clean Architecture, DDD, SAGA, Outbox & Kafka | Ali Gelenler | Udemy
- Event-Driven Microservices: Spring Boot, Kafka and Elastic | Ali Gelenler | Udemy
- REST API following CLEAN ARCHITECTURE & DDD Tutorial | Amichai Mantinband | Youtube
- Clean Architecture & DDD Series | Milan Jovanović | Youtube
- Spring Boot Microservices Level 1: Communication and Discovery | Youtube | Java Brains
- Spring Boot Microservices Level 2: Fault Tolerance and Resilience | Youtube | Java Brains
- Spring Boot Microservices Level 3: Microservice configuration | Youtube | Java Brains
- Microservices using SpringBoot | Full Example | Youtube
- Top 25 Microservice Interview Questions Answered - Java Brains | Youtube
.NET Microservices
- .NET Microservices: Architecture for Containerized .NET Applications
- dotnet-architecture / eShopOnContainers | Github
- Create microservices with .NET and ASP.NET Core
Application architecture patterns - Clean, Hexagonal and Onion Architecture, Decomposition strategies
- Clean Architecture - ASP.NET Web API - Amichai Mantinband | Video
- The Clean Architecture
- The Onion Architecture : part 1
- How to Build Microservices Using Onion Architecture: Hands-On Experience
- 10 Best Software Architecture Patterns You Must Know About
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
- Implement the Circuit Breaker pattern
- Retry & Circuit Breaker Patterns in C# with Polly
- C# – How to use Polly to do retries
- C# – Circuit breaker with Polly
- How To Integrate Circuit Breaker And Retry In A Spring Boot Application Using Resilience4J | youtube
- Circuit Breaker And Retry with Spring Cloud Resiliance4j
Service discovery
Communicating using the Asynchronous messaging pattern
Broker based messaging - Kafka message broker
- Using Apache Kafka with .NET
- Working with Apache Kafka in ASP.NET 6 Core
- Spring Boot + Apache Kafka Hello World Example
Transactional messaging
Websocket server and angular client
- Building a WebSocket Server in a Microservice Architecture
- Spring Boot + Angular 8 + WebSocket Example Tutorial
- STOMP Over WebSocket
- Using WebSocket to build an interactive web application
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
- Pattern: Saga
- Distributed Transaction in C# Microservices using SAGA Pattern
- Distributed Transactions Manager | Github
- Orchestration-based Saga on Serverless
- choreography-saga-dotnet
- Implementation of Choreography-based Saga in .NET Microservices
- Saga Pattern | Application Transactions Using Microservices – Part I
- Saga Pattern | How to Implement Business Transactions Using Microservices – Part II
Designing business logic in a microservice architecture
Aggregate Pattern
- Why Your Microservices Architecture Needs Aggregates
- Developing Transactional Microservices Using Aggregates, Event Sourcing and CQRS - Part 1
- Aggregate pattern
Developing business logic with event sourcing
Event Sourcing Pattern
- Event Sourcing Example & Explained in plain English
- Event Sourcing | Videos | CodeOpinion
- Event Sourcing with Examples in Node.js
- Event Sourcing Pattern in Microservices Architectures
- CQRS and Event Sourcing in Java| baeldung.com
- Event Sourcing | Martin Fowler
Implementing queries in a microservice architecture
CQRS
- CQRS
- Architectural Microservices Patterns: SAGA, Outbox and CQRS with Kafka | Ali Gelenler
- CQRS Design Pattern in Microservices Architectures | Mehmet Ozkaya
- CQRS Pattern Using MediatR In .NET 5
- Make a real-time query across multiple microservices using Kafka
- Microservices With CQRS and Event Sourcing
- Event sourcing, CQRS, stream processing and Apache Kafka: What’s the connection?
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
- What is the difference between aggregator and API gateway pattern? - https://stackoverflow.com/questions/68044745/api-gateway-pattern-vs-aggregator-pattern-in-the-context-of-microservices#:~:text=The%20API%20Gateway%20usually%20is,respond%20(similarly%20to%20an%20aggregator)
Developing production ready services
Security
Log aggregation pattern
Distributed tracing pattern
Questions
- How can you secure communication between 2 microservices? https://www.okta.com/resources/whitepaper/8-ways-to-secure-your-microservices-architecture/
- If you api gateway level security do that then how you can secure communication between 2 microservices?
- How do you trace logs in a distributed architecture?
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
- Service Aggregator Pattern | Mehmet Ozkaya
- Aggregator Pattern
- Microservices Integration Aggregators
- Aggregator Microservices
Questions
- What is aggregator pattern? How will you implement aggregator pattern using branch pattern?
Twelve-Factor Methodology
- The Twelve-Factor App
- Twelve-Factor Methodology in a Spring Boot Microservice
- Using the 12-Factor Approach for Microservices
Micro frontends
- Micro Frontends
- How To Implement Micro-Frontend Architecture With Angular
- Cross micro frontends communication
- What is monorepo? (and should you use it?)
***************QUESTIONS