Distributed Systems Flashcards
What is a distributed system?
system in which both data and processing are divided between one or more computers connected over a network
What are the features with distributed systems
a distributed system seems like a local program since its accessed the same way.
you can share data and resources such as printers, CPU, which makes it more accessible
easy to expand since you can add more ressources without the user can see it.
components have to coordinate without using a global clock
always available with independent failure of components. So if one part fails in a distributed system, another part might take over or other parts will still be available.
Scalability
maintainable: parts can be updated easily and changed
think of this like cloud and services etc all that stuff.
What are some security considerations in distributed systems?
because its over a network the normal network risks.
who are allowed to access which ressources? admins and users.
firewalls can help against attacks, but not for the above mentioned reason.
hacks like man in the middle and injections.
What is middleware?
it is software that sits between two applications. It offers a single interface to both the systems and allows the systems to work together via the middleware
What is the advantage with middleware?
it is like an interface you can program up against. So you can have systems writing in different languages, different teams to work on them and also it can work like a contract.
What is CORBA?
Common Object Request Broker Architecture
Using CORBA, application components can communicate with one another no matter where they are located, or who has designed them.
It creates a common language between two systems.
What is IDL?
Interface Description Languages
IDL is the compiler which translates the language each system is talking - it does the mapping.
A typical interface definition specifies the signature of each operation including its name, the type and mode of transmission of its parameters, return values, and the exceptions it may raise during execution16
where Corba (orb) objects are the translated code that sits at each program and talks to the program. Then IDL is the middleware between the orbs.
which types of distributed systems are there?
Cloud
Parallel CPU architectures and supercomputers
Distributed information systems for enterprise
applications
Other models like e.g. peer-to-peer
broker
microservices
What is the encapsulation principle?
That the requester or provider (server) should not have to make assumptions on each other.
ensures independence between interface and implementation
allows a system to be modified by “plug and play”,
What is the client-server architectural style model?
Very common model. It is when a server provides services and clients may request the server which will send responses.
What is the peer-to-peer architectural style model?
there is no distinction between a user and a server (client / server) all entities have the same role. So each entity can request or respond to other entities.
said in another way: all participating processes run the same program and offer the same set of interfaces to each other
what is the rationale behind the peer-to-peer model?
Network and computing resources owned by users of a service could also be used to support that service
what is the layered model?
its a model where it has different layers that all communicate to the layers around it. usually a hardware model.