Pro Java clustering and scalability building real-time apps with Spring, Cassandra, Redis, Websocket and RabbitMQ

Build clustered and scalable Java-based, real-time applications using Spring Framework, Boot, WebSocket, Cassandra, Redis and RabbitMQ. In this book, you'll tie all this together with a dive-in case study, a real-time scalable chat application under differing scenarios. Pro Java Clustering and...

Full description

Bibliographic Details
Main Author: Acetozi, Jorge
Format: eBook
Language:English
Published: New York Apress 2017
Subjects:
Online Access:
Collection: O'Reilly - Collection details see MPG.ReNa
LEADER 05951nmm a2200613 u 4500
001 EB001941219
003 EBX01000000000000001104121
005 00000000000000.0
007 cr|||||||||||||||||||||
008 210123 ||| eng
020 |a 9781484229859 
050 4 |a QA76.73.J38 
100 1 |a Acetozi, Jorge 
245 0 0 |a Pro Java clustering and scalability  |b building real-time apps with Spring, Cassandra, Redis, Websocket and RabbitMQ  |c Jorge Acetozi 
260 |a New York  |b Apress  |c 2017 
300 |a 1 online resource 
505 0 |a At a Glance; Contents; About the Author; About the Technical Reviewer; Introduction; Part 1: Usage; Chapter 1: Docker; 1.1 Introduction to Docker; 1.2 Docker Hub; 1.3 Image vs. Container; 1.4 Image Tags; 1.5 Docker Usage Example: Elasticsearch; 1.6 Basic Docker Commands; 1.7 The docker run Command; 1.7.1 Running Containers as a Daemon with -d; 1.7.2 Naming Containers with -- name; 1.7.3 Exposing Ports with -p; 1.7.4 Environment Variables with -e; 1.7.5 Volumes with -v; 1.8 Docker Compose; Chapter 2: Prerequisites; Chapter 3: Executing the Project Locally 
505 0 |a 7.2.1.2 Column Family7.2.1.3 Primary Key; 7.2.1.4 Secondary Index; 7.2.1.5 Partition Key; 7.2.1.6 Clustering Key; 7.3 Redis Overview; 7.3.1 Redis vs. Memcached; 7.3.2 Redis Use Cases; Chapter 8: The Spring Framework; 8.1 Spring Boot; 8.2 Spring Data JPA Repositories; 8.3 Spring Data and NoSQL; Chapter 9: WebSocket; 9.1 Polling vs. WebSocket; 9.2 WebSocket and Browser Compatibility; 9.3 Raw WebSocket vs. WebSocket over STOMP; Chapter 10: Spring WebSocket; 10.1 Raw WebSocket Configuration; 10.2 WebSocket over STOMP Configuration; 10.3 Message Flow Using a Simple Broker 
505 0 |a 18.1 WebSocket Reconnection Strategy18.2 WebSocket Events; 18.2.1 Send Public System Messages over WebSocket; Chapter 19: Sending a User's Public Messages over WebSocket; Chapter 20: Sending a User's Private Messages over WebSocket; Part 4: Testing the Code; Chapter 21: Lazy Deployments vs. Fast Deployments; Chapter 22: Continuous Delivery; Chapter 23: Types of Automated Tests; Chapter 24: Unit Tests; 24.1 InstantMessageBuilderTest.java; 24.2 DestinationsTest.java; 24.3 RedisChatRoomServiceTest.java; Chapter 25: Integration Tests 
505 0 |a Includes bibliographical references and index 
505 0 |a 10.4 Message Flow Using a Full External STOMP BrokerChapter 11: Single-Node Chat Architecture; Chapter 12: Multinode Chat Architecture; 12.1 Using RabbitMQ As a Full External STOMP Broker; Chapter 13: Horizontally Scaling Stateful Web Applications; 13.1 Using the Sticky Session Strategy; 13.2 Spring Session and WebSocket; Part 3: Code by Feature; Chapter 14: Changing the Application Language; Chapter 15: Login; Chapter 16: New Account; Chapter 17: New Chat Room; 17.1 Secured REST Endpoints with Spring MVC and Spring Security; Chapter 18: Joining the Chat Room 
505 0 |a Chapter 4: Simulating a Conversation4.1 Create a New Account; 4.2 Create a New Chat Room; 4.3 Sign In; 4.4 Chat Room; 4.5 Send Public Messages; 4.6 Send Private Messages; 4.7 Check That the Conversation Is Stored; 4.8 Receive Messages Even on Connection Failures; Chapter 5: Setting Up the Development Environment; 5.1 Apache Maven; 5.2 Import the Project into the Eclipse IDE; Part 2: Architecture; Chapter 6: Understanding the Relationship Between Domain and Architecture; Chapter 7: Introduction to NoSQL; 7.1 Modeling in NoSQL; 7.2 Cassandra Overview; 7.2.1 Cassandra Concepts; 7.2.1.1 Keyspace 
653 |a Logiciels d'application / Développement 
653 |a Programming & scripting languages: general / bicssc 
653 |a Computer programming / software development / bicssc 
653 |a Application software / Development / fast 
653 |a Computer Communication Networks 
653 |a Programmation (Informatique) 
653 |a COMPUTERS / Programming / General / bisacsh 
653 |a Computer programming / http://id.loc.gov/authorities/subjects/sh85107310 
653 |a Java (Computer program language) / fast 
653 |a Java (Langage de programmation) 
653 |a Java (Computer program language) / http://id.loc.gov/authorities/subjects/sh95008574 
653 |a Electronic Data Processing 
653 |a Informatique 
653 |a Expert systems / knowledge-based systems / bicssc 
653 |a Network hardware / bicssc 
653 |a computer programming / aat 
653 |a Software Engineering / bicssc 
653 |a Application software / Development / http://id.loc.gov/authorities/subjects/sh95009362 
041 0 7 |a eng  |2 ISO 639-2 
989 |b OREILLY  |a O'Reilly 
028 5 0 |a 10.1007/978-1-4842-2985-9 
773 0 |t Springer eBooks 
776 |z 9781484229859 
776 |z 1484229843 
776 |z 9781484229842 
776 |z 1484229851 
856 4 0 |u https://learning.oreilly.com/library/view/~/9781484229859/?ar  |x Verlag  |3 Volltext 
082 0 |a 331 
082 0 |a 384 
082 0 |a 620 
082 0 |a 005.13/3 
520 |a Build clustered and scalable Java-based, real-time applications using Spring Framework, Boot, WebSocket, Cassandra, Redis and RabbitMQ. In this book, you'll tie all this together with a dive-in case study, a real-time scalable chat application under differing scenarios. Pro Java Clustering and Scalability also discusses how to horizontally scale the WebSocket chat application using a full STOMP broker such as RabbitMQ. Although this is a programming book, it also discusses many interesting infrastructure topics and tips about continuous delivery, Docker, NoSQL (Cassandra and Redis) and other related technologies. You will: Handle clustering and scalability using various open source Java, microservices, and web services tools and technologies Use Spring Framework, Boot, and other Spring technologies Integrate with Redis, RabbitMQ, Cassandra, NoSQL, and much more; test the case study code under various scenarios and stresses