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
20
votes
6 answers

Why is 2-phase commit not suitable for a microservices architecture?

I've read a post saying that: We can not implement traditional transaction system like 2 phase commit in micro-services in a distributed environment. I agree completely with this. But it would be great if someone here can explain the exact…
20
votes
18 answers

Project build error: 'dependencies.dependency.version' for org.springframework.cloud:spring-cloud-starter-eureka-server:jar is missing

I am developing a code from https://www.dineshonjava.com/microservices-with-spring-boot/. When I update the spring-boot-starter-parent from 1.5.4.RELEASE to 2.0.4.RELEASE, build got failed. Could anyone please guide me what is the issue ? Project…
Jeff Cook
  • 7,956
  • 36
  • 115
  • 186
20
votes
2 answers

Microservice return response first and then process the request

I am working on a solution for which i am trying to create a microservice which returns response immediately and then processes the request. I am trying to use Java 8 and Spring for this.
Rohit
  • 339
  • 1
  • 5
  • 16
20
votes
4 answers

How to define events in OpenAPI / Swagger spec?

How can an event-driven microservices architecture be defined using the OpenAPI / Swagger specification? For events, it is important to document the event payload passed among different services, even when they are not accessed via HTTP…
Hammer
  • 8,538
  • 12
  • 44
  • 75
20
votes
3 answers

Authorisation in microservices - how to approach domain object or entity level access control using ACL?

I am currently building microservices based system on java Spring Cloud. Some microservices use PostgreSQL and some of them MongoDB. REST and JMS is used for communication. The plan is to use SSO and OAuth2 for authentication The challenge I am…
Lukas S
  • 495
  • 5
  • 18
20
votes
3 answers

What is the conceptual difference between Service Discovery tools and Load Balancers that check node health?

Recently several service discovery tools have become popular/"mainstream", and I’m wondering under what primary use cases one should employ them instead of traditional load balancers. With LBs, you cluster a bunch of nodes behind the balancer, and…
20
votes
2 answers

Microservices: How to integrate the UI?

today I started reading about Microservice architectures - and it seems to be very interesting! But I have one doubt I need some explanation on: Assume I want to create a blog and would build 4 microservices for that: User/login Service, Article…
Daniel
  • 2,409
  • 2
  • 26
  • 42
20
votes
1 answer

How to route in between microservices using Spring Cloud & Netflix OSS

During our development of microservices using Spring Cloud, we started out using Zuul as a proxy for any connection from the outside to microservices, and for any microservice needing to contact another microservice. After some time we made the…
19
votes
2 answers

Clean Architecture Design Pattern

https://8thlight.com/blog/uncle-bob/2012/08/13/the-clean-architecture.html I have some question about this pattern. The Database is at outter Layer but how would that work in reality? For example if i have a Microservices that just manges this…
19
votes
4 answers

Kubernetes Cross Namespace Ingress Network

I have a simple ingress network, I want to access services at different namespaces, from this ingress network. How I can do this? My ingress network yaml file: apiVersion: extensions/v1beta1 kind: Ingress metadata: name: ingress spec: rules: …
ColossusMark1
  • 1,189
  • 4
  • 14
  • 27
19
votes
1 answer

Not able to connect to grpc from nodejs/python client

My grpc server is in go (go-micro), and it working fine, I have tested both via micro web and go web app (iris). This is a local grpc setup I keep getting this error (Stream removed) { Error: 2 UNKNOWN: Stream removed at new createStatusError…
HamidRaza
  • 640
  • 1
  • 7
  • 15
19
votes
2 answers

Difference between OSGi services and REST microservices

OSGi talks about microservices and the press talks about microservices. However, they do not seem to be the same. What is the difference between these microservices.
sdindiver
  • 491
  • 1
  • 5
  • 19
19
votes
3 answers

How can I handle File Uploads in a Microservice Environment?

I am in the process of trying to make a decision on how, when and where to handle uploaded files from users. We are in a MicroService environment (PHP + Linux) for a new system to be deployed in the coming months. One key component is incoming…
SeaFuzz
  • 1,177
  • 9
  • 28
19
votes
4 answers

Enabling session in lumen framework

I have two (but let's image more) micro-services (API) which need to be aware of authenticated user. Ideally I would simple like to resume their sessions. All micro-services are using same storage for sessions: redis. All API calls will have Cookie…
rock3t
  • 2,193
  • 2
  • 19
  • 24
19
votes
6 answers

What is the real difference between an API and an microservice?

I am learning about microservices and I don't understand what the real difference between creating a REST API and creating microservices? I’m working in Go, but my question applies over all languages.
fm433403
  • 243
  • 1
  • 3
  • 8