Home > Blogs > VMware vFabric Blog

Scaling Real-Time Comments @ HuffPost Live with RabbitMQ

Last week, one of the engineering leaders from Huffingtonpost.com presented at the Erlang Factory, a 2-day conference held in San Francisco with 50+ speakers across 8 tracks (not the cassette kind). Among the presenters was, Adam Denenberg, VP of Engineering at the Huffington Post and HuffPost Live. Besides leading the engineering teams for Huffingtonpost.com and HuffPost Live, Adam is also responsible for community products and advertising platforms.

By using RabbitMQ, SockJS, Cowboy, Erlang, and more, his team built a highly scalable, customizable solution for real-time comments based on websockets.  His talk, Realtime Web @ HuffingtonPost, was for developers of real-time, Erlang-based solutions—he covered architecture, lessons learned, pitfalls, and future improvements. The presentation objectives included:

  • Why they went with Erlang and SockJS for the commenting platform
  • How they integrated RabbitMQ routing to power the subscription architecture
  • How they managed subscriptions for real time channels
  • Their plans to extend the framework into an open source solution
  • Where they want other mechanisms for publishing comments outside of RabbitMQ

Top 100 largest website requires significant scale

At the time of this article, Huffington Post was ranked as one of the top 100 largest websites globally and top 25 in the United States. To give you an idea of scale, that translates to over 500 million pageviews with 2 million comments each week.

The primary challenge discussed in the talk was supporting their 12-hour, live, streaming network with real-time commenting and real-time updates of content below the video player. In these scenarios, they needed comments and updates to be pushed and not pulled—this would avoid browser refresh, a problem when GUIs are streaming video. The media property needed to cover 30+ live segments per day that were produced out of NY and LA, and they could not rely on HTML5 as a least common denominator.

Technology Architecture and RabbitMQ’s Fit 

Here is a bit about the solution’s technology stack:

  • Ruby/Rails—CMS and APIs
  • Backbone.js—Client UI Framework
  • Erlang—Websockets and AMQP bridge
  • MongoDB—Database
  • Memcache—Caching
  • Varnish—Edge caching
  • Elastic Search—Searching
  • RabbitMQ—Publishing Queue

The entire Realtime Web @ HuffingtonPost presentation goes into more depth on the entire solution. With regards to how RabbitMQ fits, consumers wait for messages on subscribed channels. Producers send messages to a predefined RabbitMQ topic. Comments are moderated by both machine learning and humans. Websockets was used as the primary support for the real time comments use case. RabbitMQ routing keys and topics were used heavily. Here is a RabbitMQ-related diagram from the talk—it shows the general flow:

Use Case Examples and Results

There are two example scenarios that Adam explains in the talk—subscribe and publish. For subscribe, he explains how SockJS is used with payloads of action-sub, channel-chatroom, and id-###. The server inserts a record into a table with the SockJS session object, the chatroom, and the subscription ID. For publishing, a backend moderator can publish a message to a chatroom and subscription ID via RabbitMQ topics.

With this architecture, they were able to scale to 100,000 connections with sub-second latency. According to Adam, there wasn’t too much work, yet a fair amount of tuning.

Next Up with Real-Time Comments

Adam’s team is looking to open source the project and would like to build adapters for multiple message queues, expose publishing as an HTTP interface, and improve SockJS performance.

For more information on RabbitMQ:

This entry was posted in RabbitMQ and tagged , , , , , , , , , on by .
Adam Bloom

About Adam Bloom

Adam Bloom has worked for 15+ years in the tech industry and has been a key contributor to the VMware vFabric Blog for the past year. He first started working on cloud-based apps in 1998 when he led the development and launch of WebMD 1.0’s B2C and B2B apps. He then spent several years in product marketing for a J2EE-based PaaS/SaaS start-up. Afterwards, he worked for Siebel as a consultant on large CRM engagements, then launched their online community and ran marketing operations. At Oracle, he led the worldwide implementation of Siebel CRM before spending some time at a Youtube competitor in Silicon Valley and working as a product marketer for Unica's SaaS-based marketing automation suite. He graduated from Georgia Tech with high honors and an undergraduate thesis in human computer interaction.

43 thoughts on “Scaling Real-Time Comments @ HuffPost Live with RabbitMQ

  1. google sniper download link

    Google Sniper 2.0 runs on the simple strategy that anybody can use and more importantly make money from.
    This strategy involves creating “sniper sites” that rank incredibly easy on
    search engines like Google, Yahoo and Bing.
    These sniper sites are located on the first pages of Google for low competition keywords which might be ready to increase your profits.

    This formula first seen with Google Sniper is
    founded on using Exact Match Domains (EMD’s).

    Using exact match domains remains to be a great way
    to get high Google rankings with low effort.
    How do I know? Because I make over $14,852.
    52 monthly with my sniper sites.

  2. find out more

    Great points altogether, you just won a brand new reader. What might you suggest in regards to your put up that you just made a few days ago? Any positive?

  3. Allison

    My son wanted to play online games like Castle Crashers or Halo: Reach – but he would need a gold account.
    Fathers are far more than just ‘second adults’ in the
    home. Every time one of them breeches your wall you
    lose a life.

  4. itouch

    You have the opportunity to buy GTA 5 compact disc easily though the online store
    of the game CD key. The moment headlines of a brand new Grand Theft
    Auto V Game started to be fact and the San Andreas edition lastly became available in the
    marketplace the world of car games altered once and for all.
    Maybe your server and gamemode will become very popular.

  5. Stock Market App

    Wonderful posting. I had been examining regularly this web site using this program . prompted! Very helpful data specifically the remainder part 🙂 My spouse and i manage this kind of information and facts a lot. I was searching for this specific details for just a very long time. Many thanks and also good luck.

  6. Pingback: Give the Web Mouth-to-Mouth | Vala Shahabi's Blog

  7. xrl.us

    I blog quite often andd I truly appreciate your content.
    This article has truly peaked my interest. I’m goinng to take a note of your site and keepp checking
    for new details about once per week. I opted in for your Feed ass well.

    Viait my homepage … heat proof pouch (xrl.us)

  8. luxury vases

    We stumbled over here different web page and thought I might as
    well check things out. I like what I see so
    now i am following you. Look forward to looking into your web
    page again.

    Here is my page – luxury vases

  9. luxury candle holders

    I wanted to thank you for this wonderful read!! I definitely
    loved every bit of it. I have got you book-marked to look at
    new things you post…

    Review my blog: luxury candle holders

  10. Christopher

    I do accept as true with all the ideas you have introduced for
    your post. They’re really convincing and can certainly work.
    Nonetheless, the posts are very brief for starters.
    Could you please extend them a little from subsequent
    time? Thank you for the post.

    Look at my site :: designer faux fur throws [Christopher]

  11. damp proofing North East

    As the admin of this site is working, no question very rapidly it will be
    renowned, due to its quality contents.

    my page – damp proofing North East

  12. courses to learn threading

    If some one needs expert view on the topic of blogging afterward i suggest
    him/her to visit this web site, Keep up the good work.

    Feel free to surf to my blog post :: courses to learn threading

  13. learn Excel online

    Hey there, You’ve done an excellent job. I’ll definitely digg it and personally recommend to my
    friends. I am sure they’ll be benefited from this website.

    My weblog learn Excel online

  14. mobile phone calls to india

    My brother recommended I might like this blog. He was once totally right.
    This submit truly made my day. You can not consider just how so much time I had spent for this info!

    My web blog :: mobile phone calls to india

  15. Porsche Boxster for sale UK

    It’s remarkable in favor of me to have a site, which is valuable in favor of my experience.
    thanks admin

    Feel free to surf to my webpage :: Porsche Boxster for sale UK

  16. Pingback: RabbitMQ Performance | Spring XD Ninja

  17. vincent johnson

    thank you for this layout it brought me alot of insite have a great day.

  18. google 1

    very insiteful

  19. Vo Genesis Review

    Vo Genesis Review

  20. Adam

    It’s an amazing website which has increased my interest on your content.

  21. بازار موبایل


  22. خرید سرور مجازی ایران

    I am truly happy to read this webpage posts which includes plenty of helpful facts, thanks for providing such statistics.

  23. peplum.in


  24. presented.in

    ewporepwrko ncvnvc,mc saxasdsalm;d

  25. presented.in


  26. apnapaisaa.in


  27. empbank.in


  28. تیم لذت خرید

    تیم لذت خرید ارائه کننده قالب های پرستاشاپ ، مجنتو ، اپن کارت ، بنرهای تبلیغاتی ، لوگو و…

  29. آهنگ سنتی

    آهنگ سنتی

  30. دانلود سریال عاشقانه

    How they integrated RabbitMQ routing to power the subscription architecture
    How they managed subscriptions for real time channels
    Their plans to extend the framework into an open source solution

  31. movie download

    extend the framework into an open source solution

  32. نقاشی ساختمان

    نقاشی ساختمان در تهران کوتاه ترین زمان و با کیفیت ترین نوع جنس ؛ رنگ آمیزی ساختمان ؛ سفارش نقاش ساختمان ؛ رنگ آکرلیک ؛ رنگ روغنی ؛ رنگ پلاستیک ؛ پتینه کاری ؛ بازسازی ساختمان ؛ دکوراسیون داخلی

  33. جراحی-زیبایی-واژن


  34. جوانسازی پوست


  35. toman roy

    Thanks for sharing this blog post. I found lots of effective info in this post. You will be glad to know that, I huge amount of knowledge in this post. Thank you….

    toman roy

  36. mosen

    ” بیماران من به ندرت درباره شکل واژن خود اطلاع دارند” عقیده آنمریا اورت درباره استقبال از عمل زیبایی واژن در زنان.

    “شکل عروسک باربی” زمانی اطلاق می شود که پرده های واژن شما باریک و غیر قابل مشاهده باشد که این فرم باعث تنگ کردن واژن می شود.

    با این حال زنان بیشتر و بیشتر با نگاه شباهت هر چه بیشتر به باربی‌ها به سمت جراحی زیبایی واژن و استفاده از لوازم آرایش جنسی زنانه و همچنین عمل زیبایی واژن می روند.

  37. bestfarsi

    رپورتاژ آگهی رایگان
    معرفی بهترین سایت های ایران
    لیست بهترین سایت های کشور

  38. rohai.ir

    طراحی سایت در مشهد
    طراحی سایت و اپلیکیشن
    طراحی سایت فروشگاه

  39. rohai.ir

    طراحی سایت در مشهد
    طراحی سایت و اپلیکیشن
    طراحی سایت فروشگاه

  40. ارسال بار به کانادا

    Thank you
    The text was awesome

  41. آلفا فیلم

    دانلود فیلم و سریال
    very nice, thanks alot

  42. قیمت موکت ظریف مصور طرح مارال

    thanks vmware

  43. بهترین ثبت برند و شرکت

    ثبت برند
    ثبت شرکت


Leave a Reply

Your email address will not be published. Required fields are marked *