In order to completely understand microservices you also have to understand networking. Communication is one of the hardest parts of microservice design, get it wrong and your system simply won’t perform. Below are some useful links that explain networking concepts.
Understanding the basics of RESTful APIs. This is a great article that covers how REST works and how to design a REST API. This article contains some very useful information and is a very quick introduction to the concept.
Understanding And Using REST APIs This is another really great article that covers API consumption. This article is quite a bit longer and more involved than the one above. This article covers REST in depth and is one of the best articles I have found on the subject.
Covered in the article is:
- What is a REST API
- The anatomy of a request
- Testing Endpoints with Curl ( if you have not played with Curl then you absolutely should) CURL website
- HTTP Status Codes and Errors
- API Versioning
Communication in a microservice architecture This article covers some basic information about Microservice communication. It makes some valid points and discusses some of the techniques and technology used for Microservice communication. This Article has some really good links listed throughout it.
Asynchronous Request-Reply pattern This is a very useful article that covers communication between the frontend client aka browser and the server backend.
This article covers :
- Some of the failures of SOA
- Streaming as a replacement for ESB
- Compares Apache Kafka to previous SOA architecture that used ESB
- Talks about Streaming and why it is the next great thing you must do
- Talks about large companies that use Kafka and how
- Talks about using Apache Kafka as a dumb pipeline for streaming apps
- Talks about the key differences between Kafka and ESB’s
- Talks about using Kafka in Legacy systems along side ESB’s and previous generation technologies
This excellent article explains SOA, ESB, Microservices and how the hell we ended up in the current confusing word soup.
This article covers the following:
- The basic history of Software Oriented Architecture and Event Service Bus usage
- Compares a service mesh to an ESB, similarities and differences
- Gives a decent overview of the past usage of ESB’s
- Has a wonderful diagram of how ESB’s operate in a SOA system.
- Explains what a service mesh is
This article explains exactly what a service mesh is and compares a few of them. This is a very good, very informative article, one of my favorite.
Remote Procedural Calls explained in depth.
This video covers RPC even deeper than the above video. This video also covers Java RMI remote method invocation.