Distrubuted systems Flashcards
a disturbuted system is one which components located at networked computers communciate and coordinate their actions only be passing messages
Distrubuted Systems
A distributed system is one in which components located at
networked computers communicate and coordinate their actions
only by passing messages.
Middleware layer
The middleware layer is necessary to address the different
challenges posed by distribution.
- Distributed file systems, e.g., GFS, Colossus, Hadoop distributed file systems
- Messaging middleware, e.g., Java Message Service, RabbitMQ, Apache ActiveMQ
- Database middleware, e.g., Google Spanner, Google BigTable, Apache Cassandra
- Object middleware, e.g., RMI, CORBA, etc
Security
How do you protect the value of data across a system?
Openness
To what extent can the system be extended or re-implemented in different ways?
Scalability
Will the system remain effective when there is an incrase of the number of resources/users?
Failure handling
Can the system survive when some of its components fail
Concurrency
Can the system allow several clients access to the same resource at the same time
transparency
How to hide the complexity of the system to its users?
Quality of service
How can the system meet specific guarantees, such as with respect to reliability, security, performance, etc
Client-Server Architecture
Completely centralised way of doing things (I am on one end, the centralised database is on the other end. Most applications that we think about use on a daily basis follow this architecture)
Decentralised (or Unstructured) peer-to-peer architecture
Because the responsibility is less centralised, if one computer goes down, then it’s not entirely game over