Book Image

Practical XMPP

By : Steven Watkin, David Koelle
Book Image

Practical XMPP

By: Steven Watkin, David Koelle

Overview of this book

XMPP (eXtensible Messaging and Presence Protocol) is a messaging protocol that enables communication between two or more devices via the Internet. With this book, developers will learn about the fundamentals of XMPP, be able to work with the core functionality both server-side and in the browser, as well as starting to explore several of the protocol extensions. You will not only have a solid grasp of XMPP and how it works, but will also be able to use the protocol to build real-world applications that utilize the power of XMPP. By the end of this book, you will know more about networking applications in general, and have a good understanding of how to extend XMPP, as well as using it in sample applications.
Table of Contents (16 chapters)
Practical XMPP
Credits
About the Authors
About the Reviewers
www.PacktPub.com
Preface
Free Chapter
1
An Introduction to XMPP and Installing Our First Server

XMPP scalability


When deploying your XMPP capability to the real world, you may need to ensure that your servers will scale. In general, the number of users and JIDs in use at any time has to get pretty high before you need to worry specifically about scalability. Prosody, for example, will handle in the order of hundreds or thousands of users easily. You can find several benchmark test results online and even performance experiments on GitHub that compare the performance of XMPP servers, including Prosody.

As Donald Knuth once said "Remember that premature optimization is the root of all evil". Unless you are experiencing issues due to scalability, you probably do not need to consider the next few paragraphs of advice. Before venturing into the next couple of sections, please be sure that you have cleaned up your server code and you are sure that there is nothing additional that you can squeeze out of the code itself (for example, no duplicated code or functions being called twice, and no...