Font Size: a A A

Research And Implementation Of Large-scale Real-time Notification System

Posted on:2013-08-16Degree:MasterType:Thesis
Country:ChinaCandidate:S ZhangFull Text:PDF
GTID:2248330371984386Subject:Computer application technology
Abstract/Summary:PDF Full Text Request
With the continuous deepening of web2.0and the continued development of the mobileInternet, people almost can access to and use the Internet anytime and anywhere。In the pastthe use of the Internet is by the active search, but now is by independent subscription andpassively receiving. The so-called independent subscription is that people can subscribe to thecontent of interest, such as, following the people you concern by using the microbloggingsystem, subscribing to the news you like with the news client, making acquaintance with thepeople of interest by using the social network. The system must have the ability to notify theusers when the event of interest happened. The task of instant notice system is to achieve thisdemand.At present, we are moving in the multicore and Internet era. In the hardware technicalaspects, the CPU frequency gradually to reach the physical limits. Moore law begins to wearoff. The multicore era, quietly arrived. With the memory prices getting lower and lower, thedatabase-centric system development model gradually become obsolete, and cache hasbecome the essential part of web systems. For the above, we choose Erlang and Redis as ourmain technologies to achieve the notification system, and technology did not select Java, C#,PHP or other popular technologies.This article focuses on solving the problem of the instantaneity of the notification pushingunder high concurrency conditions. This has been a essential problem for web applicationswhich are based on the HTTP protocol. At present, most of the web sites use the periodicallypolling method, which can’t ensure the instantaneity. Periodically polling is the same as thecommon HTTP requests essentially. After receiving the request, the server returns the queryresult, and then disconnects the connection. The concurrent ability of the system is not verystringent requirements. Because instant notification uses the "push" mode which needs theserver and client must always stay connected, high concurrency is one of the major challengesof the system. At the same time, a huge number of users, vast amounts of data also increasethe difficulty of system design. Performance requirements, system availability, scalability isalso to be addressed in this article.The article first introduces the theory and technology to build instant notification system,and then describes the system requirement. We also analyze the key technical problems that our system will face. We designed a distributed dynamic load balancing system to ensure highconcurrency ability of the premise, which makes the entire cluster has a good scalability. Adynamic online fan list is designed to handle the problem that message push delay is too high.Then, the schematic design, the detailed design and Implementation of the system is given.The last is the system performance test reports. The test result shows that our systemsuccessfully achieves the design goal.
Keywords/Search Tags:Instant notice, Message push, Erlang, Redis, High concurrency
PDF Full Text Request
Related items