Resolve #214: Add reference links to message queues section (#218)

This commit is contained in:
Pramod Gupta 2018-10-01 06:08:28 +05:30 committed by Donne Martin
parent eb9107232c
commit 8437d77565
2 changed files with 4 additions and 4 deletions

View File

@ -1289,11 +1289,11 @@ Message queues receive, hold, and deliver messages. If an operation is too slow
The user is not blocked and the job is processed in the background. During this time, the client might optionally do a small amount of processing to make it seem like the task has completed. For example, if posting a tweet, the tweet could be instantly posted to your timeline, but it could take some time before your tweet is actually delivered to all of your followers. The user is not blocked and the job is processed in the background. During this time, the client might optionally do a small amount of processing to make it seem like the task has completed. For example, if posting a tweet, the tweet could be instantly posted to your timeline, but it could take some time before your tweet is actually delivered to all of your followers.
**Redis** is useful as a simple message broker but messages can be lost. **[Redis](https://redis.io/)** is useful as a simple message broker but messages can be lost.
**RabbitMQ** is popular but requires you to adapt to the 'AMQP' protocol and manage your own nodes. **[RabbitMQ](https://www.rabbitmq.com/)** is popular but requires you to adapt to the 'AMQP' protocol and manage your own nodes.
**Amazon SQS**, is hosted but can have high latency and has the possibility of messages being delivered twice. **[Amazon SQS](https://aws.amazon.com/sqs/)** is hosted but can have high latency and has the possibility of messages being delivered twice.
### Task queues ### Task queues

View File

@ -136,7 +136,7 @@ Data flow:
* The **Client** sends a request to the **Web Server** * The **Client** sends a request to the **Web Server**
* The **Web Server** forwards the request to the **Accounts API** server * The **Web Server** forwards the request to the **Accounts API** server
* The **Accounts API** server places a job on a **Queue** such as Amazon SQS or [RabbitMQ](https://www.rabbitmq.com/) * The **Accounts API** server places a job on a **Queue** such as [Amazon SQS](https://aws.amazon.com/sqs/) or [RabbitMQ](https://www.rabbitmq.com/)
* Extracting transactions could take awhile, we'd probably want to do this [asynchronously with a queue](https://github.com/donnemartin/system-design-primer#asynchronism), although this introduces additional complexity * Extracting transactions could take awhile, we'd probably want to do this [asynchronously with a queue](https://github.com/donnemartin/system-design-primer#asynchronism), although this introduces additional complexity
* The **Transaction Extraction Service** does the following: * The **Transaction Extraction Service** does the following:
* Pulls from the **Queue** and extracts transactions for the given account from the financial institution, storing the results as raw log files in the **Object Store** * Pulls from the **Queue** and extracts transactions for the given account from the financial institution, storing the results as raw log files in the **Object Store**