Questions tagged [microservices]

An architectural approach to developing a single application as a suite of small individually deployable services.

The microservice architectural style is an approach to developing a single application as a suite of small services, each running in its own process and communicating with lightweight mechanisms, often an HTTP resource API. These services are built around business capabilities and independently deployable by fully automated deployment machinery. There is a bare mininum of centralized management of these services, which may be written in different programming languages and use different data storage technologies.

Microservices Definition by Lewis/Fowler

Properties:

  • The services are easy to replace.
  • Services are organized around capabilities, e.g. user interface front-end, recommendation, logistics, billing, etc.
  • Services can be implemented using different programming languages, databases, hardware and software environment, depending on what fits best.
  • Architectures are symmetrical rather than hierarchical (producer/consumer).

Philosophy:

  • The services are small - fine-grained to perform a single function.
  • The organization culture should embrace automation of deployment and
    testing. This eases the burden on management and operations.
  • The culture and design principles should embrace failure and faults, similar to anti-fragile systems.
  • The services are elastic, resilient, composable, minimal, and complete.

Books:

Besides there are thousands of books that speak about microservices focused on some language like Python or Java or some platforms like Azure or AWS easily to find.

Articles

The following is an great article series from the NGINX Blog.

Sites

9062 questions
23
votes
3 answers

Should each microservice manage its own user-permissions and user-roles?

I have a design issue I am not sure of how to solve. Let's say my main application consists of 6 modules: client gateway auth-service forum gallery messages The client is supposed to communicate with the gateway-service only. Should I have my…
Igor
  • 1,582
  • 6
  • 19
  • 49
23
votes
1 answer

Kubernetes: should I use HTTPS to communicate between services

Let's say I'm using an GCE ingress to handle traffic from outside the cluster and terminate TLS (https://example.com/api/items), from here the request gets routed to one of two services that are only available inside the cluster. So far so good. …
Philipp Kyeck
  • 18,402
  • 15
  • 86
  • 123
23
votes
3 answers

Vert.x 3 and Microservices

Microservices are gaining traction as an software architecture style that will better support continuous delivery, provide a model for rapid deployment and separation of concerns. Vert.x 3 and Vert.x-Apex provide an interesting model for building a…
Wieki
  • 395
  • 2
  • 11
22
votes
4 answers

How to rollback MicroServices

I have doubt related to MicroServices. Suppose there are 5 Micro-Services, lets say M1, M2, M3, M3, M4 and M5. There are 4 databases which are connected/accessed by 4 micro-services. For example, M2 connected to MySQL, M3 connected to Cassandra, M4…
Sat
  • 3,520
  • 9
  • 39
  • 66
22
votes
1 answer

Multi-Tenant Authentication with AWS Cognito

My current project is in AWS, using Cognito and microservices with Lambda. We have designed the microservices using DDD and are in the process of implementing basic functionality. However, there is a business need for users of the API to be able to…
22
votes
1 answer

How do I use an API Gateway in conjunction with microservices and JWTs?

Afternoon y'all, Just looking for someone to double check my work. Is the below an effective way to secure microservices? Premise Breaking up our monolithic application and monolithic Partner API into microservices oriented around specific business…
Sean Lindo
  • 1,387
  • 16
  • 33
22
votes
5 answers

Microservices and SOA using messaging

I've been very interested in trying out microservices/SOA as an architecture and am having a hard time conceptualizing how the integration between services would actually be done. I like the idea of using messaging to decouple the clients from the…
user2868740
  • 367
  • 3
  • 10
21
votes
2 answers

Terminology: Trace ID vs Correlation ID

I am trying to understand the difference between the following terms: Trace ID Correlation ID Both terms seem to be used as an identifier for searching related logs produced by multiple services, especially in a microservices-oriented…
alexpirine
  • 3,023
  • 1
  • 26
  • 41
21
votes
3 answers

Difference between docker rm IMAGE vs docker rmi IMAGE

According to Docker documentations, docker image rm "Remove one or more images" [1]. docker rmi has a same description [2], but then it goes on to say "Removes (and un-tags) one or more images from the host node." Do docker image rm IMAGE and docker…
Reveille
  • 4,359
  • 3
  • 23
  • 46
21
votes
1 answer

Is there a difference between API gateway pattern and BFF?

My understanding is that API gateway pattern is like a proxy to all microservices. So client calls the API gateway which takes care of further routing. BFF is a specific case of API gateway pattern where we have a routing mechanism for each type of…
codingsplash
  • 4,785
  • 12
  • 51
  • 90
21
votes
2 answers

What is a sidecar in the context of microservices?

I'm currently looking through an Istio and Kubernetes talk and mention the management of services along with the use of sidecars. I'm not sure what that is.
richard_d_sim
  • 793
  • 2
  • 10
  • 23
21
votes
1 answer

what is the difference between distributed computing, microservice and parallel computing

My basic understanding for: Distributed computing is a model of connected nodes -from hardware perspective they share only network connection- and communicate through messages. each node code be responsible for one part of the business logic as in…
FarFarAway
  • 1,017
  • 3
  • 14
  • 35
21
votes
3 answers

How to restore state in an event based, message driven microservice architecture on failure scenario

In the context of a microservice architecture, a message driven, asynchronous, event based design seems to be gaining popularity (see here and here for some examples, as well as the Reactive Manifesto - Message Driven trait) as opposed to a…
20
votes
3 answers

Could not find a declaration file for module 'react-dom/client'

I have following error when use react-dom/client Compiled with problems:X ERROR in src/index.tsx:2:28 TS7016: Could not find a declaration file for module 'react-dom/client'.…
20
votes
1 answer

Microservices : aggregate data : is there some good patterns?

I have the following use case for a micro-services architecture. My issue is that in the current situation I have 3 microservices, and a APIGateway. At the end, the gateway has to do a lot of queries before aggregation (composing) the data from the…
ClubberLang
  • 1,624
  • 3
  • 21
  • 45