Font Size: a A A

Based On Erlang's Instant Messaging System Design And Realization

Posted on:2012-02-03Degree:MasterType:Thesis
Country:ChinaCandidate:M HuangFull Text:PDF
GTID:2208330332486658Subject:Information security
Abstract/Summary:PDF Full Text Request
With the development of the Internet and the soaring Internet users, servers of various internet services are under the pressure of highly concurrent and highly fault-tolerant demand. Because the traditional programming languages such as C/C++ are lack of support for concurrency and fault-tolerance, systems developed in them usually do not have highly concurrent and well fault tolerant performance. It cost a lot to develop such systems in traditional languages and is a kind of waste of the widespread multicore CPU, and hinders the step of software technology. However, the Erlang language, developed by Ericsson Computer Science Laboratory for the development of telecommunications system flourished in recent years, because of its concurrence support, distributed programming support, fault tolerance and other features.The developers of highly concurrent and highly reliable system such as instant messaging system and web server are seeking a variety of ways to ease the pressure of the server. For example, they make cluster systems or distributed systems. However, these systems always developed by traditional languages like C/C++. Due to these traditional languages lack of concurrence and distributed programming support, developing cluster system or distributed systems with them is complex, difficulty and cost a lot. But Erlang language is developed aiming to develop those systems. Its built-in support for high concurrency, distributed programming, fault tolerance feature and other features can largely ease the development of cluster software systems, or the distributed software system.This thesis describes features of the Erlang language, the present situation of Erlang language and Instant messaging system. Then, we research the relevant techniques of making concurrent and fault-tolerant systems based Erlang. These techniques include system concurrence technique, system fault tolerance technique and the design patterns imitation under Erlang. Finally we develop an instant messaging system. It includes a server program and a client program. Our emphasis is on the design and implementation of the cluster server program. The server is a cluster, and implemented in Erlang language. The client is developed in C# language. And the communication protocol between them is the XMPP protocol of IETF.
Keywords/Search Tags:Erlang, concurrence, load balancing, fault-tolerant, instant messaging system
PDF Full Text Request
Related items