3

I have seen mixed examples of Microservices implemented as worker roles processing requests off a queue and/or as APIs (REST).

Supporting asynchronous scenarios, a queue can be utilized, with a simple dumb queue listener forwarding the request to a Microservice REST API, where as synchronous scenarios would call the REST API directly.

The term Microservice is vaguely defined I think; do people consider them APIs (e.g. RESTful services) or as any abstract service processing requests, however that request was provided ?

user2079172
  • 927
  • 1
  • 9
  • 8
  • What you're describing can be any architecture.. I don't think an architecture can be set in stone to use only processing queues or only REST APIs. An architecture should pretty much use the best tool for the job. Did you have a more specific question in mind? – Will C Oct 23 '15 at 02:52

1 Answers1

2

Your microservices can be a small application that exposes a few RESTful endpoints, or it can be a background worker that reaps a queue. It can even be an AWS Lambda function that's invoked on some event.

The point is that your application is composed of several smaller applications, thus allowing you a greater amount of agility when it comes to deploying code, programming languages, frameworks, etc.

Sean Lindo
  • 1,387
  • 16
  • 33