![]() ![]() If it fails, the items are nacked and will be redelivered to the consumer (nacks can be delayed, just like enqueues).įOQS supports hundreds of use cases across the Facebook stack, including: If the processing succeeds, it acks the items back to FOQS. The consumer then dequeues items from those topics and processes them - either inline or by sending the item to a worker pool. A topic is a logical priority queue (more on this later). A consumer that uses the getActiveTopics API to discover topics that have items.These items can have a priority (to prioritize different work items) and/or a delay (if the item processing needs to be deferred). ![]() A producer that enqueues items to be processed.FOQS Use CasesĪ typical use case for FOQS has two main components: We’re openly sharing the design of FOQS, with the hope that the broader engineering community can build upon the ideas and designs presented here. It’s a fully managed, horizontally scalable, multitenant, persistent distributed priority queue built on top of sharded MySQL that enables developers at Facebook to decouple and scale microservices and distributed systems. What these services have in common is the need for a queue - a place to store work that needs to happen asynchronously or be passed from one service to another.įacebook Ordered Queueing Service (FOQS) fills that role. ![]() Asynchronous computing offers several benefits, including enabling more effective resource utilization, improving system reliability, allowing services to schedule compute to execute on a future date, and helping the microservices communicate with one another dependably. The entire Facebook ecosystem is powered by thousands of distributed systems and microservices, many of which would benefit from running the workload asynchronously, particularly at peak times of online traffic. Please submit any questions to before the event. We will be hosting a talk about our work on Scaling a Distributed Priority Queue during our virtual Systems event at 11 am PT on Wednesday, February 24, followed by a live Q&A session. ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |