CO3404 Distributed Systems
CO3404 Lecture 1 - Introduction To Distributed Systems
CO3404 Lecture 1.pdf (Sliders 18 - 30)
A distributed system appears to be a single system however it is made up of many much smaller systems which when used in combination appear to be one single complex one.
There are various architectural patterns when designing and implementing distributed systems such as:
- Service-Oriented Architecture
Outdated.
Currently the most popular approach mixes the two architectures into Microservice Event-Driven Architecture.
Quote
This is not a solution to all problems; each problem needs to consider the best architectural pattern which may well be a monolith or some other approach. This is something for solution and enterprise architects to ponder - engineers will design and implement the operational solution based on the architecture designed by the architects.
A microservice architecture aims to provide an agile response to continuous business change, rather than create a monolithic 3 tier architecture which may become complicated, the decompose the problem and break it down into subsystems, these systems becoming their own individual 3 tier services.
Similar to general software decomposition where functions and classes are identified, developed and tested in isolation before implementation into the complete application.
Microservices are a heterogeneous architecture (independent operating system, programming language, database, hardware technologies, etc depending on the requirements and processes of the microservice)
It is a myth that microservices promote reusability, or that they are cheaper to build and operate.
Definition
A microservice is a service-oriented application component that is tightly scoped, strongly encapsulated, loosely coupled, independently deployable and independently scalable.
[[CO3404 Lecture 3 - ]]