Abstract
A single-page application is a web application which is retrieved with a single page load, and has become popular recently. In such web applications, real-time interaction is offered by long polling of HTML requests, typically the Comet model. However, such communication between a client and a server is inefficient because of the TCP handshake and HTTP header overhead. In order to improve this kind of inefficiency, WebSocket is proposed as a web technology providing full-duplex communications between web browsers and servers. In this paper, we design and implement a load balancer suitable for Web applications using the WebSocket protocol, which enables us to get improved performance with respect to simultaneous connectability. Usually, load balancers handle TCP packets in the transport layer, or L4, of the network. Our load balancer is designed as a relay in the application layer, or L7, in order to provide a finer distribution of the network load. We implement the load balancer on an event-driven web application framework, Node.js. We evaluate the implementation of efficiency of the load balancer.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
von Behren, J.R., Condit, J., Brewer, E.A.: Why events are a bad idea (for high-concurrency servers). In: HotOS 2003 Proceedings of the 9th Conference on Hot Topics in Operating Systems, pp. 19–24. The USENIX Association (2003)
Bourke, T.: Server Load Balancing. O’Reilly (2001)
Crane, D., Maccarth, P., Tiwari, S.: Coment and Reverse Ajax: The Next Generation Ajax 2.0. APress (2008)
Kopparapu, C.: Load Balancing Servers, Firewalls & Caches. Wiley (2002)
Nishizaki, S.: Polymorphic Environment Calculus and Its Type Inference Algorithm. Higher-Order and Symbolic Computation 13(3) (2000)
Nishizaki, S.: Programs with continuations and linear logic. Science of Computer Programming 21(2), 165–190 (1993)
Ousterhout, J.: Why treads are a bad idea (for most purposes) (1996)
Pariag, D., Brecht, T., Harji, A., Buhr, P., Shukla, A., Cheriton, D.R.: Comparing the Performance of Web Server Architectures. In: Proceedings of the Second ACM SIGOPS/EuroSys European Conference on Computer Systems (2007)
Sasajima, T., Nishizaki, S.: Blog-based distributed computation. In: Liu, B., Ma, M., Chang, J. (eds.) ICICA 2012. LNCS, vol. 7473, pp. 461–467. Springer, Heidelberg (2012)
Silberschatz, A., Galvin, P.B., Gagne, G.: Operating System Concepts. John Wiley & Sons (2010)
RFC455 – The WebSocket Protocol (2011)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2013 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Sasajima, T., Nishizaki, Sy. (2013). Event-Driven Implementation of Layer-7 Load Balancer. In: Papasratorn, B., Charoenkitkarn, N., Vanijja, V., Chongsuphajaisiddhi, V. (eds) Advances in Information Technology. IAIT 2013. Communications in Computer and Information Science, vol 409. Springer, Cham. https://doi.org/10.1007/978-3-319-03783-7_15
Download citation
DOI: https://doi.org/10.1007/978-3-319-03783-7_15
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-03782-0
Online ISBN: 978-3-319-03783-7
eBook Packages: Computer ScienceComputer Science (R0)