Chapter 2 and 3 - Architecture and Communication Flashcards
What are Layered Architectures?
Components organized in layers; higher layers call lower layers. Common layers: Application Interface, Processing, Data.
Pros: Simple, widely used. Cons: Strong dependencies, bottlenecks. Examples: Most applications, network communication architectures.
What defines Object- or Service-Based Architectures?
Components are objects connected by procedure calls, or self-contained services.
Objects can be distributed. Service-Oriented Architecture (SOA) involves composing applications from services. SOAP is a strict protocol for SOA. Advantages include modularity, reuse.
What are Resource-Centered (Microservice) Architectures?
Design around resources with fixed interfaces, often RESTful. Microservices are small, independent services for specific business functions.
Communicate over lightweight channels (e.g., REST, gRPC). Characteristics include resource identification, uniform interface, self-describing messages, statelessness.
What is the communication method in Event-Based Architectures?
Processes communicate by publishing event notifications; other processes subscribe to specific event types.
Enables decoupling and can use direct or mailbox communication.
Define a Process in computing.
A program in execution that contains machine code, memory, resources, processor context.
OS ensures independence. Context switching is required when switching between processes.
What is a Thread?
A piece of code executing independently within a process, sharing the process’s memory.
Lighter context than processes. Can be user-level (many-to-one) or kernel-level (one-to-one).
What is Virtualization?
Running a virtual computer system using an abstraction layer above hardware.
Important for portability, isolation, cloud computing.
What are Virtual Machines (VMs)?
Emulation of a complete computer system, allowing multiple OSes on one machine.
Managed by a hypervisor. Hardware-assisted VMs provide better isolation.
What are Containers in computing?
Lightweight, isolated environments packaging an application and its dependencies, sharing the host OS kernel.
Lower overhead than VMs. Key concepts: images, containers, Dockerfiles.
What is the OSI Model’s Network Layer (IP)?
Conceptual model for network protocols that routes packets based on IP addresses.
Encapsulates data into datagrams. Best-effort, unreliable, connectionless.
What does the Transport Layer (TCP) in OSI Model do?
Supports applications directly and is reliable, ordered, error-checked, connection-oriented.
Divides data into segments with headers and features flow and congestion control.
What characterizes the Transport Layer (UDP) in OSI Model?
Connectionless with minimal protocol mechanisms, provides integrity verification.
Unreliable, provides no other guarantees, suitable for simple queries.
What is RPC (Remote Procedure Call)?
Aims to make remote calls appear local, involving marshaling parameters by the client stub.
Generally synchronous and transient.
What is Message Passing in ZeroMQ?
Allows asynchronous communication and abstracts low-level sockets.
Example: Request-Reply pattern with REQ (client) and REP (server) sockets.