Skip to main content

Posts

Showing posts from August, 2022

Software Architecture (Requirement Analysis) - Part 01

Software Architecture The Software Architecture of a system is a high level description of the system's structure, its different components, and how these components communicate with each other to fulfill the system requirements and constraints. The Software Architecture impacts Performance and scale of the product Ease of adding new features Response to failure on security attacks. In SDLC Software architecture is the output of design and input of implementation. System Requirements: System requirement format description of what we need to build Types of Requirements Features of the System (Functional Requirements) Quality Attributes (Non-functional Requirements) System Constraints (Limitation and boundaries) Features of the System: Describe the system behavior - What the system must do. Example: "When a rider logs into the service mobile app , the system must display a map with nearby drivers within 5 miles radius " the yellow text represent input and the green text rep...

Message Queue using RabbitMQ

Message Queue: A message queue is a form of asynchronous service-to-service communication used in serverless and microservices architectures. Messages are stored on the queue until they are processed and deleted. Each message is processed only once, by a single consumer Image Source: aws.amazon.com RabbitMQ: RabbitMQ is a message broker: it accepts and forwards messages. You can think about it as a post office: when you put the mail that you want posting in a post box, you can be sure that the letter carrier will eventually deliver the mail to your recipient. In this analogy, RabbitMQ is a post box, a post office, and a letter carrier. The major difference between RabbitMQ and the post office is that it doesn't deal with paper, instead it accepts, stores, and forwards binary blobs of data ‒  messages . Advanced Message Queueing Protocol (AMQP): Advanced Message Queuing Protocol (AMQP) is an application layer protocol that focuses on process-to-process communication across IP networ...