Flashcards
Distributed Systems

Cards in this deck (48)
- 1What is a Distributed System?Is a collection of autonomous computing elements that appears to its users as a single coherent system
- 2Autonomous computing elements- consits of all kinds of nodes
- nodes can act independently - 3Single coherent system- where data is stored should be of no concern
- infrastructure in the background is not visible for the user - 4Centralized/Decentralized/Distributed

- 5Middleware- assist the development of distributed applications
- separate layer of software that is logically placed on top of the respective operating system
- data exchange between different OS - 6RPCRemote Procedure Call
- Communication Service
- Allows application to invoke a function on a remote computer - 7Transactions- applications make use of multiple services that are distributed among several computers
- makes sure that every service is invoked, or none at all - 8Goals for Distributed Systems- make resources easily accessible
- hide the fact that resources are distributed across a network
- open (components can be easily integrated)
- be scalable - 9Types of Distributed Systems- computing systems
- information systems
- pervasive systems - 10Computing Systems- Cluster computing
- Grid computing
- Cloud computing - 11Cluster Computing- Group of connected computers
- Act like single entity
--> High redundancy and distributed workload - 12Grid Computing- Loosely coupled (decentralized)
- Sharing tasks over multiple computers - 13Cloud computing- Storing and accessing applications and data over the internet
- Coupled (distributed)
- Single system image - 14Information Systems- Server running application and making it available to remote programmes (clients)
- Clients send request --> Server sends response
- Requests to different servers --> called distributed transaction - 15Pervasive Systems- System is often equipped with many sensors that pick up various aspects
- Small, battery-powered, mobile and having a wireless connection
--> IoT - 16Internet of Things (IoT)- Connecting all kinds of electronic devices to the internet
- Benefits: Pick up data
- Downsides: Data safety, rely too much on technology - 17Reasons for distributed data- Scalability
- Fault tolerance
- High availability
- Latency - 18Replication- keeping a copy of the same data on serveral different nodes in different locations
- 19Leader-based replication

- 20Leader-based replication- one leader and followers, every write request goes to the leader, any read request by leader or any follower
- 21Syncrhonous vs. Asynchronous Replication

- 22Handling node outages- Follower: each follower keeps log data, after recovery he resynchronise with the leader
- Leader: timeout -> leader failed, follower with most up-to-date data becomes new leader - 23Data loss

- 24Split Brain

- 25Timeout

- 26Read your own writes

- 27Monotonic reads

- 28Multi-Leader Replication

- 29Single vs MultileaderPerformance
Tolerance of outages
Tolerances of network problems - 30PerformanceSingle: every write must go over internet to the leader
Multi: every write can be processed by local datacenter - 31Tolerance of outagesSingle: if leader fails, failover can promote a follower to be leader
Multi: if leader fails, other leaders continue operating independetly - 32Tolerance of network problemsSingle: very sensitive, because writes are made synchronously
Multi: can tolerate temporary network problems - 33Leaderless Replication

- 34PartitioningSplitting data into smaller subsets called partitions so that different partitions can be assigned to different nodes
- 35HotspotPartition with disproportionately high load
- 36Partitioning by Hash Key- Takes skewed data and makes it uniformly distributed (Timestamp)
Disadvantages:
- losing property of key-range partitioning -> ability to do efficient range queries
- keys that were once adjacent --> sort order is loss - 37Rebalancing

- 38Request routing

- 39Zoo Keeper

- 40Models of Data Flow- via Databases
- via service calls
- asynchronous message passing - 41via Database- data outlives the code
process writes encoded data, another process reads it again sometime in the future
- Migrating data is possible, but expensive on a large dataset - 42via Service Calls

- 43Service Calls - Web services- when http is used as the underlying protocol for talking to the service -> web service
- 44Service Calls - REST REpresentational State Transfer- not a protocol
- design philosophy
- builds upon the principles of http
- Using URL´s for identifying resources - 45Service Calls - SOAP Simple Object Access Protocol- XML based for making network API requests
- 46via Asynchronous Message Passing- sender doesn´t wait for the message to be delivered
- simply sends it and then forgets about it - 47SOAService oriented architecture:
Decomposing large applications into smaller services by functionality - 48Message broker- stores the messages temporarily
- act as a buffer if recipient is unavailable
- redeliver messages if crashes
- allows sending message to different recipient
Information
- Description
- Informatik Flashcards on Distributed Systems, created by Lenio Vogt on 11/09/2019.
- Created by
- Lenio Vogt
- Views
- 107
- Rating