# Asynchronous Architecture

Published articles for Asynchronous Architecture.

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## Dropbox Evolves Riviera Content Processing Platform to Support AI Workloads

DevFeed: [Dropbox Evolves Riviera Content Processing Platform to Support AI Workloads](<https://devfeed.tech/articles/dropbox-evolves-riviera-content-processing-platform-to-support-ai-workloads-31517.md>)

Original publisher: [Read original article](<https://www.infoq.com/news/2026/09/dropbox-riviera-ai-platform/>)

Author: Leela Kumili

Published: 2026-09-16T14:42:00Z

Content type: news

Language: en

Sources: [InfoQ](<https://devfeed.tech/sources/infoq.md>)

Topics: [dropbox](<https://devfeed.tech/topics/dropbox.md>), [Artificial Intelligence](<https://devfeed.tech/topics/ai.md>), [API](<https://devfeed.tech/topics/api.md>), [Orchestration](<https://devfeed.tech/topics/orchestration.md>), [Retrieval Augmented Generation (RAG)](<https://devfeed.tech/topics/retrieval-augmented-generation-rag.md>)

Tags: [ai](<https://devfeed.tech/tags/ai.md>), [ai-ml-data-engineering](<https://devfeed.tech/tags/ai-ml-data-engineering.md>), [apache](<https://devfeed.tech/tags/apache.md>), [apis](<https://devfeed.tech/tags/apis.md>), [architecture](<https://devfeed.tech/tags/architecture.md>), [architecture-design](<https://devfeed.tech/tags/architecture-design.md>), [asynchronous-architecture](<https://devfeed.tech/tags/asynchronous-architecture.md>), [backend](<https://devfeed.tech/tags/backend.md>), [caching](<https://devfeed.tech/tags/caching.md>), [data-pipelines](<https://devfeed.tech/tags/data-pipelines.md>), [development](<https://devfeed.tech/tags/development.md>), [distributed-systems](<https://devfeed.tech/tags/distributed-systems.md>), [dropbox](<https://devfeed.tech/tags/dropbox.md>), [dropbox-riviera-ai-platform](<https://devfeed.tech/tags/dropbox-riviera-ai-platform.md>), [embeddings](<https://devfeed.tech/tags/embeddings.md>), [enterprise-content-management](<https://devfeed.tech/tags/enterprise-content-management.md>), [large-language-models](<https://devfeed.tech/tags/large-language-models.md>), [ml-data-engineering](<https://devfeed.tech/tags/ml-data-engineering.md>), [model-context-protocol-mcp](<https://devfeed.tech/tags/model-context-protocol-mcp.md>), [news](<https://devfeed.tech/tags/news.md>), [orchestration](<https://devfeed.tech/tags/orchestration.md>), [platform-engineering](<https://devfeed.tech/tags/platform-engineering.md>), [plugins](<https://devfeed.tech/tags/plugins.md>), [rag](<https://devfeed.tech/tags/rag.md>), [tika](<https://devfeed.tech/tags/tika.md>)

### AI overview

Dropbox has expanded Riviera from an internal file-preview service into a content-processing platform supporting more than 300 file formats and over 100 transformation capabilities. The platform supports Dropbox products including Search, Replay, Sign, and Dash, and provides APIs for asynchronous document conversion, media transcription, and structured metadata extraction for AI and RAG workflows.

### Source excerpt

Dropbox has evolved Riviera from a file preview service into a universal content processing platform supporting more than 300 file formats and over 100 transformation capabilities. Processing hundreds of thousands of transformations per second, Riviera now supports Search, Replay, Sign, and Dash, while its APIs enable asynchronous content extraction for AI and RAG workflows. By Leela Kumili

## Netflix Reworks Conductor for 420 Million Monthly Workflow Executions and 10X Larger Workflows

DevFeed: [Netflix Reworks Conductor for 420 Million Monthly Workflow Executions and 10X Larger Workflows](<https://devfeed.tech/articles/netflix-reworks-conductor-for-420-million-monthly-workflow-executions-and-10x-larger-workflows-8454.md>)

Original publisher: [Read original article](<https://www.infoq.com/news/2026/09/netflix-conductor-4-workflow/>)

Author: Leela Kumili

Published: 2026-09-11T14:17:00Z

Content type: news

Language: en

Sources: [InfoQ](<https://devfeed.tech/sources/infoq.md>)

Topics: [Orchestration](<https://devfeed.tech/topics/orchestration.md>), [Amazon S3](<https://devfeed.tech/topics/amazon-s3.md>), [Kafka](<https://devfeed.tech/topics/kafka.md>), [Apache Iceberg](<https://devfeed.tech/topics/apache-iceberg.md>)

Tags: [amazon-s3](<https://devfeed.tech/tags/amazon-s3.md>), [apache-iceberg](<https://devfeed.tech/tags/apache-iceberg.md>), [apache-kafka](<https://devfeed.tech/tags/apache-kafka.md>), [architecture-design](<https://devfeed.tech/tags/architecture-design.md>), [asynchronous-architecture](<https://devfeed.tech/tags/asynchronous-architecture.md>), [cassandra](<https://devfeed.tech/tags/cassandra.md>), [cloud-architecture](<https://devfeed.tech/tags/cloud-architecture.md>), [concurrency](<https://devfeed.tech/tags/concurrency.md>), [development](<https://devfeed.tech/tags/development.md>), [devops](<https://devfeed.tech/tags/devops.md>), [distributed-systems](<https://devfeed.tech/tags/distributed-systems.md>), [elasticsearch](<https://devfeed.tech/tags/elasticsearch.md>), [java-operator-sdk](<https://devfeed.tech/tags/java-operator-sdk.md>), [kafka](<https://devfeed.tech/tags/kafka.md>), [latency](<https://devfeed.tech/tags/latency.md>), [microservices](<https://devfeed.tech/tags/microservices.md>), [netflix](<https://devfeed.tech/tags/netflix.md>), [netflix-conductor-4-workflow](<https://devfeed.tech/tags/netflix-conductor-4-workflow.md>), [news](<https://devfeed.tech/tags/news.md>), [orchestration](<https://devfeed.tech/tags/orchestration.md>), [s3](<https://devfeed.tech/tags/s3.md>), [scalability](<https://devfeed.tech/tags/scalability.md>), [windows-workflow-foundation](<https://devfeed.tech/tags/windows-workflow-foundation.md>), [workflow](<https://devfeed.tech/tags/workflow.md>), [workflow-bpm](<https://devfeed.tech/tags/workflow-bpm.md>), [workflow-foundation](<https://devfeed.tech/tags/workflow-foundation.md>)

### AI overview

Netflix reworked Conductor 4.0 to scale workflow orchestration to roughly 200,000 definitions and 420 million monthly executions. The redesign raises supported workflow size to 30,000 tasks and reports a roughly 40% reduction in p99 evaluation latency by loading only task data needed for each decision.

### Source excerpt

Netflix has reworked its Conductor workflow orchestration engine to handle larger workloads, increasing supported workflow size from about 2,500 to 30,000 tasks and reducing p99 workflow evaluation latency by about 40%. Conductor 4.0 separates workflow metadata from task data, moves evaluation to asynchronous processing, and introduces dynamic worker allocation and concurrency controls. By Leela Kumili

## Sending emails to our half million and growing user community

DevFeed: [Sending emails to our half million and growing user community](<https://devfeed.tech/articles/sending-emails-to-our-half-million-and-growing-user-community-20005.md>)

Original publisher: [Read original article](<http://engineering.hackerearth.com/2016/02/11/sending-emails-to-our-half-million-and-growing-user-community/>)

Published: 2016-02-11T00:00:00Z

Content type: article

Language: en

Sources: [HackerEarth](<https://devfeed.tech/sources/hackerearth.md>)

Topics: [API](<https://devfeed.tech/topics/api.md>), [MongoDB](<https://devfeed.tech/topics/mongodb.md>), [MySQL](<https://devfeed.tech/topics/mysql.md>), [Django](<https://devfeed.tech/topics/django.md>), [HTML](<https://devfeed.tech/topics/html.md>), [html elements](<https://devfeed.tech/topics/html-elements.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [architecture](<https://devfeed.tech/tags/architecture.md>), [asynchronous-architecture](<https://devfeed.tech/tags/asynchronous-architecture.md>), [database](<https://devfeed.tech/tags/database.md>), [infrastructure-monitoring](<https://devfeed.tech/tags/infrastructure-monitoring.md>), [mongodb](<https://devfeed.tech/tags/mongodb.md>), [mysql](<https://devfeed.tech/tags/mysql.md>), [queue](<https://devfeed.tech/tags/queue.md>), [rabbitmq](<https://devfeed.tech/tags/rabbitmq.md>), [sendgrid](<https://devfeed.tech/tags/sendgrid.md>)

### AI overview

HackerEarth describes an asynchronous email delivery architecture for sending large volumes of user notifications. Emails are serialized and stored, metadata is placed in RabbitMQ queues, and workers reconstruct and deliver messages through SendGrid, with priority queues used to reduce waiting time.

### Source excerpt

At hackerearth we send emails to keep our users updated on upcoming challenges and their activities, for example, when a user successfully solves a problem, receives test-invitation, updates on user comments. Basically whenever it is appropriate. Architecture It takes lot of computational power to send emails in such large quantities synchronously. So we have implemented an asynchronous architecture to send emails. Here is brief overview of the architecture: Step 1: Construct an email and save the serialized email object in database. Step 2: Queue the metadata for later consumption. Step 3: Consume the metadata, recreate the email object and deliver. The diagram below shows high level architecture of emailing system. The solid line represents the data flow between different components. The dotted line represents the communications. Hackerearth email infrastructure consists of MySQL database, MongoDB database, RabbitMQ queues. Journey Of Email Step 1 - Construct email: There are two different type of emails. Text - Plain text emails Html - Emails with rich interface using html elements. These emails are made using django templates API used by hackerearth developers for sending email - send_email(ctx, template, subject, from_email, html=False, async=True, **kwargs) The above API creates Sendgrid Mail object, serializes and saves it in the db with some additional data. A piece of code similar to the bit shown below is used to create sendgrid Mail object import sendgrid sg = sendgrid.SendGridClient('YOUR_SENDGRID_API_KEY') message = sendgrid.Mail() message.add_to('John Doe <john@email.com>') message.set_subject('Example') message.set_html('Body') message.set_text('Body') message.set_from('Doe John <doe@email.com>') status, msg = sg.send(message) Model below is used for storing the serialized mail object and additional data. class Message(): # The actual data - a pickled sendgrid.Mail object message_data = models.TextField() when_added = models.DateTimeField(default=date