high_scalability high_scalability-2012 high_scalability-2012-1312 knowledge-graph by maker-knowledge-mining
Source: html
Introduction: This is a guest post by Peter Offringa, VP of engineering at Zoosk . Zoosk is a 50 million member romantic social network. Our members get the most rewarding experience from Zoosk when they can interact in real-time. After all, a future relationship is potentially at the other end of every connection a user makes. The excitement and richness of this situation can only be fully realized in real-time. The suite of Zoosk services facilitating these interactions are referred to by the general description of real-time communications (RTC). These communications are delivered using the XMPP protocol, which also powers other popular instant messaging products. Zoosk members experience real-time communications within three distinct interactions: Presence . When a member is actively connected to the Zoosk RTC infrastructure, their public status appears as ‘available’. If they are idle for a period of time, their state transitions to ‘away’. Their presence automatically changes to
sentIndex sentText sentNum sentScore
1 The Zoosk service utilizes these notification packets to tell the client applications to update the value of UI-related badges, such as the number of unread messages from another user. [sent-17, score-0.312]
2 If two users are online simultaneously, they can send messages to each other in a familiar ‘instant messaging’ chat format. [sent-19, score-0.293]
3 Message content is also persisted to a database for future message history retrieval if the user reconnects in the future using a different client application. [sent-21, score-0.305]
4 Full Size A user’s online state is tracked in real-time by the Tigase servers via persistent connections between Tigase and the client applications (web browser, mobile device, desktop application). [sent-36, score-0.521]
5 Many core Zoosk product features, including search results, profile views and messaging, require ensuring that this state is reflected in near real-time on all client applications. [sent-37, score-0.386]
6 To keep this state consistent throughout the rest of the Zoosk infrastructure, the user’s record in the user database is updated to reflect their current online state including a timestamp of their most recent online transition. [sent-38, score-0.772]
7 The user’s online state is also stored in cache on our search infrastructure, so that search results can take online state into account. [sent-39, score-0.741]
8 This cache of online state is updated in real-time through a dedicated Tigase instance referred to as the Online State Manager (OSM). [sent-42, score-0.381]
9 The OSM receives custom XMPP packets indicating the user’s online state from the primary Tigase chat servers and then makes a network call to update the ehcache instance on each of the SOLR servers. [sent-43, score-0.56]
10 There are roughly 8,000 of these online state transitions a minute during peak traffic. [sent-44, score-0.338]
11 Maintaining this cache outside of the SOLR index allows the user’s presence state to be updated in real-time, separate from the periodic index replication snaps from master to slave. [sent-45, score-0.295]
12 The user’s presence state is then combined with search results at query time to either filter or rank results based on whether the user is online currently. [sent-46, score-0.694]
13 User interactions with the Zoosk service outside of the core RTC features can also trigger business logic that generates a real-time notification to a connected user. [sent-48, score-0.275]
14 For example, if another user views our user’s profile, or accepts our user’s friend request, we want to notify our user of that action immediately. [sent-49, score-0.357]
15 The PHP-based web application will trigger an asynchronous job that opens a network connection to a Tigase server and passes an XMPP data packet to the server, with a custom message payload providing the data for the notification. [sent-50, score-0.332]
16 This packet is processed by Tigase and routed to the client application from which user is currently connected. [sent-51, score-0.377]
17 The user’s client application then processes this custom packet and displays the appropriate “toast” to the user or updates a “badge” reflecting the current value of a particular feature indicator (number of profile views, unread messages, etc. [sent-52, score-0.575]
18 If the user is offline at the time, Tigase will store the packet until the user reconnects. [sent-54, score-0.401]
19 It logs into all primary chat servers and tests connections and presence transmission. [sent-60, score-0.375]
20 Business Intelligence Reports - Every hour, a script checks the number of active connections to each primary Tigase server and the number of messages it has passed in the prior hour. [sent-65, score-0.39]
wordName wordTfidf (topN-words)
[('tigase', 0.55), ('zoosk', 0.48), ('rtc', 0.275), ('xmpp', 0.17), ('user', 0.157), ('online', 0.153), ('state', 0.13), ('members', 0.097), ('client', 0.094), ('connections', 0.087), ('packet', 0.087), ('interactions', 0.086), ('communications', 0.086), ('solr', 0.086), ('primary', 0.08), ('presence', 0.075), ('chat', 0.075), ('actively', 0.074), ('unread', 0.071), ('osm', 0.071), ('custom', 0.065), ('messages', 0.065), ('paired', 0.064), ('profile', 0.062), ('results', 0.061), ('connected', 0.061), ('member', 0.06), ('tests', 0.058), ('search', 0.057), ('desktop', 0.057), ('ehcache', 0.057), ('transitions', 0.055), ('message', 0.054), ('updated', 0.049), ('referred', 0.049), ('delivered', 0.047), ('browser', 0.044), ('trigger', 0.044), ('messaging', 0.044), ('connection', 0.043), ('notification', 0.043), ('views', 0.043), ('nagios', 0.041), ('socket', 0.041), ('outside', 0.041), ('script', 0.041), ('powered', 0.041), ('number', 0.039), ('application', 0.039), ('passed', 0.039)]
simIndex simValue blogId blogTitle
same-blog 1 0.99999994 1312 high scalability-2012-08-27-Zoosk - The Engineering behind Real Time Communications
Introduction: This is a guest post by Peter Offringa, VP of engineering at Zoosk . Zoosk is a 50 million member romantic social network. Our members get the most rewarding experience from Zoosk when they can interact in real-time. After all, a future relationship is potentially at the other end of every connection a user makes. The excitement and richness of this situation can only be fully realized in real-time. The suite of Zoosk services facilitating these interactions are referred to by the general description of real-time communications (RTC). These communications are delivered using the XMPP protocol, which also powers other popular instant messaging products. Zoosk members experience real-time communications within three distinct interactions: Presence . When a member is actively connected to the Zoosk RTC infrastructure, their public status appears as ‘available’. If they are idle for a period of time, their state transitions to ‘away’. Their presence automatically changes to
2 0.15582219 318 high scalability-2008-05-14-New Facebook Chat Feature Scales to 70 Million Users Using Erlang
Introduction: Update : Erlang at Facebook by Eugene Letuchy. How Facebook uses Erlang to implement Chat, AIM Presence, and Chat Jabber support. I've done some XMPP development so when I read Facebook was making a Jabber chat client I was really curious how they would make it work. While core XMPP is straightforward, a number of protocol extensions like discovery, forms, chat states, pubsub, multi user chat, and privacy lists really up the implementation complexity. Some real engineering challenges were involved to make this puppy scale and perform. It's not clear what extensions they've implemented, but a blog entry by Facebook's Eugene Letuchy hits some of the architectural challenges they faced and how they overcame them. A web based Jabber client poses a few problems because XMPP, like most IM protocols, is an asynchronous event driven system that pretty much assumes you have a full time open connection. After logging in the server sends a client roster information and presence info
3 0.15491921 431 high scalability-2008-10-27-Notify.me Architecture - Synchronicity Kills
Introduction: What's cool about starting a new project is you finally have a chance to do it right. You of course eventually mess everything up in your own way, but for that one moment the world has a perfect order, a rightness that feels satisfying and good. Arne Claassen, the CTO of notify.me, a brand new real time notification delivery service, is in this honeymoon period now. Arne has been gracious enough to share with us his philosophy of how to build a notification service. I think you'll find it fascinating because Arne goes into a lot of useful detail about how his system works. His main design philosophy is to minimize the bottlenecks that form around synchronous access, that is when some resource is requested and the requestor ties up more resources, waiting for a response. If the requested resource can’t be delivered in a timely manner, more and more requests pile up until the server can’t accept any new ones. Nobody gets what they want and you have an outage. Breaking synchronous op
4 0.11498168 1573 high scalability-2014-01-06-How HipChat Stores and Indexes Billions of Messages Using ElasticSearch and Redis
Introduction: This article is from an interview with Zuhaib Siddique , a production engineer at HipChat , makers of group chat and IM for teams. HipChat started in an unusual space, one you might not think would have much promise, enterprise group messaging, but as we are learning there is gold in them there enterprise hills . Which is why Atlassian, makers of well thought of tools like JIRA and Confluence, acquired HipChat in 2012 . And in a tale not often heard, the resources and connections of a larger parent have actually helped HipChat enter an exponential growth cycle . Having reached the 1.2 billion message storage mark they are now doubling the number of messages sent, stored, and indexed every few months. That kind of growth puts a lot of pressure on a once adequate infrastructure. HipChat exhibited a common scaling pattern. Start simple, experience traffic spikes, and then think what do we do now? Using bigger computers is usually the first and bes
5 0.11493814 234 high scalability-2008-01-30-The AOL XMPP scalability challenge
Introduction: Large scale distributed instant messaging, presence based protocol are a real challenge. With big players adopting the standard, the XMPP (eXtensible Messaging and Presence Protocol) community is facing the need to validate protocol and implementations to even larger scale.
6 0.1120473 1501 high scalability-2013-08-13-In Memoriam: Lavabit Architecture - Creating a Scalable Email Service
8 0.10801271 1564 high scalability-2013-12-13-Stuff The Internet Says On Scalability For December 13th, 2013
9 0.10764591 821 high scalability-2010-05-03-MocoSpace Architecture - 3 Billion Mobile Page Views a Month
10 0.10620061 21 high scalability-2007-07-23-GoogleTalk Architecture
11 0.093305819 1456 high scalability-2013-05-13-The Secret to 10 Million Concurrent Connections -The Kernel is the Problem, Not the Solution
18 0.087874517 205 high scalability-2008-01-10-Letting Clients Know What's Changed: Push Me or Pull Me?
19 0.087855972 1521 high scalability-2013-09-23-Salesforce Architecture - How they Handle 1.3 Billion Transactions a Day
20 0.087381721 1602 high scalability-2014-02-26-The WhatsApp Architecture Facebook Bought For $19 Billion
topicId topicWeight
[(0, 0.15), (1, 0.033), (2, -0.006), (3, -0.084), (4, -0.001), (5, -0.013), (6, 0.053), (7, 0.023), (8, -0.041), (9, -0.0), (10, 0.047), (11, 0.076), (12, -0.0), (13, -0.044), (14, -0.03), (15, 0.044), (16, 0.004), (17, 0.003), (18, 0.052), (19, -0.042), (20, 0.036), (21, -0.028), (22, 0.018), (23, -0.005), (24, 0.012), (25, 0.006), (26, -0.021), (27, 0.005), (28, -0.005), (29, -0.009), (30, -0.016), (31, -0.003), (32, -0.039), (33, -0.019), (34, 0.053), (35, -0.008), (36, 0.042), (37, -0.006), (38, 0.003), (39, -0.029), (40, 0.067), (41, -0.002), (42, 0.023), (43, 0.064), (44, -0.028), (45, -0.017), (46, -0.029), (47, 0.062), (48, -0.025), (49, -0.002)]
simIndex simValue blogId blogTitle
same-blog 1 0.96015841 1312 high scalability-2012-08-27-Zoosk - The Engineering behind Real Time Communications
Introduction: This is a guest post by Peter Offringa, VP of engineering at Zoosk . Zoosk is a 50 million member romantic social network. Our members get the most rewarding experience from Zoosk when they can interact in real-time. After all, a future relationship is potentially at the other end of every connection a user makes. The excitement and richness of this situation can only be fully realized in real-time. The suite of Zoosk services facilitating these interactions are referred to by the general description of real-time communications (RTC). These communications are delivered using the XMPP protocol, which also powers other popular instant messaging products. Zoosk members experience real-time communications within three distinct interactions: Presence . When a member is actively connected to the Zoosk RTC infrastructure, their public status appears as ‘available’. If they are idle for a period of time, their state transitions to ‘away’. Their presence automatically changes to
2 0.78278279 431 high scalability-2008-10-27-Notify.me Architecture - Synchronicity Kills
Introduction: What's cool about starting a new project is you finally have a chance to do it right. You of course eventually mess everything up in your own way, but for that one moment the world has a perfect order, a rightness that feels satisfying and good. Arne Claassen, the CTO of notify.me, a brand new real time notification delivery service, is in this honeymoon period now. Arne has been gracious enough to share with us his philosophy of how to build a notification service. I think you'll find it fascinating because Arne goes into a lot of useful detail about how his system works. His main design philosophy is to minimize the bottlenecks that form around synchronous access, that is when some resource is requested and the requestor ties up more resources, waiting for a response. If the requested resource can’t be delivered in a timely manner, more and more requests pile up until the server can’t accept any new ones. Nobody gets what they want and you have an outage. Breaking synchronous op
3 0.75944179 205 high scalability-2008-01-10-Letting Clients Know What's Changed: Push Me or Pull Me?
Introduction: I had a false belief I thought I came here to stay We're all just visiting All just breaking like waves The oceans made me, but who came up with me? Push me, pull me, push me, or pull me out . So true Perl Jam (Push me Pull me lyrics) , so true. I too have wondered how web clients should be notified of model changes. Should servers push events to clients or should clients pull events from servers? A topic worthy of its own song if ever there was one. To pull events the client simply starts a timer and makes a request to the server. This is polling. You can either pull a complete set of fresh data or get a list of changes. The server "knows" if anything you are interested in has changed and makes those changes available to you. Knowing what has changed can be relatively simple with a publish-subscribe type backend or you can get very complex with fine grained bit maps of attributes and keeping per client state on what I client still needs to see. Polling is heavy man.
4 0.69263029 318 high scalability-2008-05-14-New Facebook Chat Feature Scales to 70 Million Users Using Erlang
Introduction: Update : Erlang at Facebook by Eugene Letuchy. How Facebook uses Erlang to implement Chat, AIM Presence, and Chat Jabber support. I've done some XMPP development so when I read Facebook was making a Jabber chat client I was really curious how they would make it work. While core XMPP is straightforward, a number of protocol extensions like discovery, forms, chat states, pubsub, multi user chat, and privacy lists really up the implementation complexity. Some real engineering challenges were involved to make this puppy scale and perform. It's not clear what extensions they've implemented, but a blog entry by Facebook's Eugene Letuchy hits some of the architectural challenges they faced and how they overcame them. A web based Jabber client poses a few problems because XMPP, like most IM protocols, is an asynchronous event driven system that pretty much assumes you have a full time open connection. After logging in the server sends a client roster information and presence info
5 0.68142021 1602 high scalability-2014-02-26-The WhatsApp Architecture Facebook Bought For $19 Billion
Introduction: Rick Reedin an upcoming talk in March titledThat's 'Billion' with a 'B': Scaling to the next level at WhatsAppreveals some eye poppingWhatsAppstats:What has hundreds of nodes, thousands of cores, hundreds of terabytes of RAM, and hopes to serve the billions of smartphones that will soon be a reality around the globe? The Erlang/FreeBSD-based server infrastructure at WhatsApp. We've faced many challenges in meeting the ever- growing demand for our messaging services, but as we continue to push the envelope on size (>8000 cores) and speed (>70M Erlang messages per second) of our serving system.But since we don't have that talk yet, let's take a look at a talk Rick Reed gave two years ago on WhatsApp:Scaling to Millions of Simultaneous Connections.Having built a high performance messaging bus in C++ while at Yahoo, Rick Reed is not new to the world of high scalability architectures. The founders are also ex-Yahoo guys with not a little experience scaling systems. So WhatsApp comes by thei
6 0.66975749 1267 high scalability-2012-06-18-The Clever Ways Chrome Hides Latency by Anticipating Your Every Need
7 0.66859812 406 high scalability-2008-10-08-Strategy: Flickr - Do the Essential Work Up-front and Queue the Rest
8 0.66748899 1565 high scalability-2013-12-16-22 Recommendations for Building Effective High Traffic Web Software
9 0.66702241 1573 high scalability-2014-01-06-How HipChat Stores and Indexes Billions of Messages Using ElasticSearch and Redis
10 0.66694623 985 high scalability-2011-02-08-Mollom Architecture - Killing Over 373 Million Spams at 100 Requests Per Second
11 0.66324317 821 high scalability-2010-05-03-MocoSpace Architecture - 3 Billion Mobile Page Views a Month
12 0.66214669 1333 high scalability-2012-10-04-LinkedIn Moved from Rails to Node: 27 Servers Cut and Up to 20x Faster
13 0.66000533 21 high scalability-2007-07-23-GoogleTalk Architecture
14 0.64790744 1577 high scalability-2014-01-13-NYTimes Architecture: No Head, No Master, No Single Point of Failure
15 0.64518708 1622 high scalability-2014-03-31-How WhatsApp Grew to Nearly 500 Million Users, 11,000 cores, and 70 Million Messages a Second
16 0.64023912 1001 high scalability-2011-03-09-Google and Netflix Strategy: Use Partial Responses to Reduce Request Sizes
17 0.63724345 792 high scalability-2010-03-10-How FarmVille Scales - The Follow-up
18 0.63010949 699 high scalability-2009-09-10-How to handle so many socket connection
19 0.62966192 1501 high scalability-2013-08-13-In Memoriam: Lavabit Architecture - Creating a Scalable Email Service
20 0.62959683 1542 high scalability-2013-11-04-ESPN's Architecture at Scale - Operating at 100,000 Duh Nuh Nuhs Per Second
topicId topicWeight
[(1, 0.126), (2, 0.192), (10, 0.068), (30, 0.047), (33, 0.216), (40, 0.023), (61, 0.088), (77, 0.011), (79, 0.029), (85, 0.031), (94, 0.038)]
simIndex simValue blogId blogTitle
1 0.90274423 1060 high scalability-2011-06-14-Shakespeare on Why Other People Like Such Stupid Stuff
Introduction: Jumping around the social mediasphere, it's not uncommon to feel the heat generated in praise of a favorite this or that over all the clearly inferior alternatives. Whilst human nature may never cool, I think Old Will had some insight worth considering the next time a flame threatens to flicker forth: My mistress' eyes are nothing like the sun (Sonnet 130) My mistress' eyes are nothing like the sun; Coral is far more red than her lips' red ; If snow be white, why then her breasts are dun; If hairs be wires, black wires grow on her head. I have seen roses damask, red and white, But no such roses see I in her cheeks; And in some perfumes is there more delight Than in the breath that from my mistress reeks. I love to hear her speak, yet well I know That music hath a far more pleasing sound; I grant I never saw a goddess go; My mistress, when she walks, treads on the ground: And yet, by heaven, I think my love as rare As any she belied with false compare. –Willia
2 0.86413646 686 high scalability-2009-08-20-VMware to bridge a DMZ.
Introduction: Hey guys, There is a renewed push at my organization to deploy vmware...everywhere. I am rather excited as I know we have a lot of waste when it comes to resources. What has pricked my ears up however, is the notion of using this technology in our very busy public facing DMZ's. Today we get lots of spikes of traffic and we are coping very well. 40x HP blades, apache/php/perl/tomcat/ all in HA behind HA F5's and HA Checkpoint FW's. (20 servers in 2 datacentres). The idea is, we virtualise these machines, including the firewalls onto hosts vmware clusters that span the public interface to our internal networks. This is something that has gone against the #1 rule I have ever lived by while working on the inet. No airgaps from the unknown to the known! I am interested in feedback on this scenario. From a resource perspective, our resource requirements in the DMZ will be lowered over time due to business change and we still have a lot of head room in our capacity. Do you think t
same-blog 3 0.86145294 1312 high scalability-2012-08-27-Zoosk - The Engineering behind Real Time Communications
Introduction: This is a guest post by Peter Offringa, VP of engineering at Zoosk . Zoosk is a 50 million member romantic social network. Our members get the most rewarding experience from Zoosk when they can interact in real-time. After all, a future relationship is potentially at the other end of every connection a user makes. The excitement and richness of this situation can only be fully realized in real-time. The suite of Zoosk services facilitating these interactions are referred to by the general description of real-time communications (RTC). These communications are delivered using the XMPP protocol, which also powers other popular instant messaging products. Zoosk members experience real-time communications within three distinct interactions: Presence . When a member is actively connected to the Zoosk RTC infrastructure, their public status appears as ‘available’. If they are idle for a period of time, their state transitions to ‘away’. Their presence automatically changes to
4 0.82199371 1364 high scalability-2012-11-29-Performance data for LevelDB, Berkley DB and BangDB for Random Operations
Introduction: This is a guest post by Sachin Sinha , Founder of Iqlect and developer of BangDB . The goal for the paper is to provide the performances data for following embedded databases under various scenarios for random operations such as write and read. The data is presented in graphical manner to make the data self explanatory to some extent. LevelDB : LevelDB is a fast key-value storage library written at Google that provides an ordered mapping from string keys to string values. Leveldb is based on LSM (Log-Structured Merge-Tree) and uses SSTable and MemTable for the database implementation. It's written in C++ and availabe under BSD license. LevelDB treats key and value as arbitrary byte arrays and stores keys in ordered fashion. It uses snappy compression for the data compression. Write and Read are concurrent for the db, but write performs best with single thread whereas Read scales with number of cores BerkleyDB : BerkleyDB (BDB) is a library that provides high perf
5 0.82069677 1490 high scalability-2013-07-12-Stuff The Internet Says On Scalability For July 12, 2013
Introduction: Hey, it's HighScalability time: (The Shard Scaling 6 ) 3500+ : number of species found underneath miles of ice; 360 TB/disc data capacity : 5D optical memory in glass; 50% Of Internet Traffic : Comes From Only 35 Sites/Services; 60 billion : potential alien planets that could give Snowden asylum Quotable Quotes: @ieure : "How concert app Loudie doubled its users in two weeks" The other co-founder finally signed in. @michalbe : "Daddy, how is software made?" "Well, when a programmer loves an idea very much they stay up all night and then push to github the next day" @TomDSweeney : Alan Kay: “The past 30 years have been completely mundane. It’s all been scaling (of old technology) and Angry Birds” Rick Branson : Adopt a technology by understanding what it's best at and letting it do that first, then expand… K. Eric Drexler : System-level design seeks flexible models and accepts complexity, accepts imprecision and buries i
6 0.81258428 1315 high scalability-2012-08-30-Stuff The Internet Says On Scalability For August 31, 2012
7 0.80356139 1067 high scalability-2011-06-24-Stuff The Internet Says On Scalability For June 24, 2011
8 0.80283368 619 high scalability-2009-06-05-HotPads Shows the True Cost of Hosting on Amazon
9 0.79269469 1520 high scalability-2013-09-20-Stuff The Internet Says On Scalability For September 20, 2013
10 0.78027445 724 high scalability-2009-10-19-Drupal's Scalability Makeover - You give up some control and you get back scalability
11 0.77148366 681 high scalability-2009-08-16-TechDev Stages
12 0.77018571 21 high scalability-2007-07-23-GoogleTalk Architecture
13 0.76855797 1470 high scalability-2013-06-05-A Simple 6 Step Transition Guide for Moving Away from X to AWS
14 0.75972104 1123 high scalability-2011-09-23-The Real News is Not that Facebook Serves Up 1 Trillion Pages a Month…
15 0.75660229 1609 high scalability-2014-03-11-Building a Social Music Service Using AWS, Scala, Akka, Play, MongoDB, and Elasticsearch
16 0.7559467 1407 high scalability-2013-02-15-Stuff The Internet Says On Scalability For February 15, 2013
17 0.75486046 1244 high scalability-2012-05-11-Stuff The Internet Says On Scalability For May 11, 2012
18 0.75426453 821 high scalability-2010-05-03-MocoSpace Architecture - 3 Billion Mobile Page Views a Month
19 0.75404263 703 high scalability-2009-09-12-How Google Taught Me to Cache and Cash-In
20 0.75388688 1114 high scalability-2011-09-13-Must see: 5 Steps to Scaling MongoDB (Or Any DB) in 8 Minutes