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
30
votes
4 answers

DB consistency with microservices

What is the best way to achieve DB consistency in microservice-based systems? At the GOTO in Berlin, Martin Fowler was talking about microservices and one "rule" he mentioned was to keep "per-service" databases, which means that services cannot…
odino
  • 1,069
  • 11
  • 27
30
votes
4 answers

Microservices Architecture: Cross Service data sharing

Consider the following micro services for an online store project: Users Service keeps account data about the store's users (including first name, last name, email address, etc') Purchase Service keeps track of details about user's purchases. Each…
Mikey S.
  • 3,301
  • 6
  • 36
  • 55
30
votes
4 answers

Architecture of a microservice based web app

I am confused about the point at which a web application diverges into microservices - is it at url level or models level? As an example, Suppose I have a monolithic app that serves 3 pages. Say each page serves a separate usecase and I want to back…
shreyj
  • 1,759
  • 3
  • 22
  • 31
29
votes
6 answers

Visual Studio Container Tools requires Docker to be running before building, debugging or running a containerized project

I am working on .Net core Microservices. I installed Docker Toolbox containing docker cli and kitematics. After that i created a simple (.Net core) web api project in visual studio 2017 and also enable docker support. But when i hit F5 to run the…
29
votes
2 answers

Session Management in microservices

We have the following setup. STM (Stingrey Traffic Manager) does load balancing + session stickiness Weblogic 'cluster' Auth handled by a third party tool Therefore I do not have to worry about session with regards to horizontal scaling/ running…
Fahim Farook
  • 1,482
  • 2
  • 14
  • 38
29
votes
6 answers

Parent pom and microservices

We have several projects that are microservices, every project is independent (running on separate spring boot server, exposing rest services, using separate DB schema...) We use maven to manage the dependencies. Is it a good idea to have a parent…
Emilien Brigand
  • 9,943
  • 8
  • 32
  • 37
29
votes
5 answers

Micro services and .NET

How to build micro service oriented application in .NET world? Are there any platforms where we can write micro service oriented apps in .NET world? How to envision architecture that includes Micro services, Event store and some of NoSQL…
netdeveloper62
  • 351
  • 1
  • 3
  • 5
28
votes
2 answers

AWS Load Balancer 502

I have microservices(in different programming languages) running on an EC2 instance. On production I notice a few 502 Bad Gateway Errors when these services try to interact with each other. Also in the logs of the requested service it doesn't show…
28
votes
5 answers

Don't allow direct calls to Microservices. Only allow through API Gateway

Maybe this is a strange question (I'm new with Microservices). But I'm looking for some info on how proceed with this. Does not need to be Spring specific, but that's the framework I'm using at the moment. Example: Lets say we have two…
Dimman
  • 1,186
  • 4
  • 14
  • 21
28
votes
2 answers

AWS API Gateway + Elastic Beanstalk and Microservices

I'm going to build microservices' architecture on AWS and I want to ask you to clarify my doubts. My current general concept I would like to use API Gateway, which exposes microsevices' APIs running in Elastic Beanstalk. I would like to place the…
28
votes
4 answers

Access is denied while docker save

I am trying to save a docker image in windows so that I can load to another Linux box,in between while saving the images in windows, I got an error stating access is denied to rename the docker temp file. I checked the permission everything looks…
lambodar
  • 3,495
  • 5
  • 34
  • 58
28
votes
3 answers

Using Zuul as an authentication gateway

Background I want to implement the design presented in this article. It can be summarised by the diagram below: The client first authenticate with the IDP (OpenID Connect/OAuth2) The IDP returns an access token (opaque token with no user info) The…
phoenix7360
  • 2,807
  • 6
  • 30
  • 41
28
votes
2 answers

Product Versioning Microservices

I go into microservices architecture based on docker and I have 3 microservices, which together create one product for example "CRM system". Now I want my client to be able to upgrade his product, whenever he wants to. I have 3 different versions…
Dariss
  • 1,258
  • 1
  • 12
  • 27
27
votes
1 answer

Attribute Based Access Control (ABAC) in a microservices architecture for lists of resources

I am investigating options to build a system to provide "Entity Access Control" across a microservices based architecture to restrict access to certain data based on the requesting user. A full Role Based Access Control (RBAC) system has already…
Gary MacPherson
  • 512
  • 6
  • 15
27
votes
4 answers

Should each Docker image contain a JDK?

So, I'm very new to Docker. Let me explain the context to the question. I have 10 - 20 Spring Boot micro-service applications, each running on different ports on my local machine. But for migrating to Docker, based on my learning, each of the…
SamwellTarly
  • 802
  • 8
  • 15