← Back to case studies

Case study / GlobalLogic

Role period: Dec 2018 – Dec 2020

Improving application performance with WebSockets and caching

A faster path between people and data.

Improving application performance with WebSocket connections, distributed caching, and carefully built Spring Boot APIs.

Role

Software Engineer

Scope & ownership

Application communication, distributed caching, and REST APIs.

Tools & practices
  • WebSocket
  • Hazelcast
  • Spring Boot
  • REST APIs
Real-time

WebSocket communication & caching

The context

The application needed better performance. The implementation combined real-time communication through WebSockets with Hazelcast distributed caching, alongside REST APIs built with Spring Boot.

My contribution

  1. 01

    Improved application performance using WebSocket connections and Hazelcast distributed caching.

  2. 02

    Designed and implemented REST APIs using Spring Boot.

  3. 03

    Received an Integrated Team Award and a Spot Award for contributions to the project.

Constraints & scope

  • Application performance, persistent communication, and distributed caching.
  • Spring Boot APIs alongside WebSocket connections and Hazelcast.

Evidence & validation

Reported outcome

  • Qualitative performance improvements and Integrated Team / Spot Awards.
Evidence boundary

The delivered scope and outcome are based on my professional experience. Internal benchmarks, production topology, rollout records, and alternative evaluations are not published here. The engineering considerations below describe how I reason about this class of system; they do not assert undisclosed implementation details.

How I would evaluate this system

  • Compare p50/p95/p99 end-to-end latency against a recorded baseline under a representative workload.
  • Exercise reconnects, slow consumers, cache misses, invalidation, and cache unavailability.
  • Report freshness guarantees and resource usage alongside cache hit rate and latency.

Technical analysis

Engineering considerations for this class of system. The delivered work is described in the contribution and implementation sections.

Real-time transport needs an application-level recovery contract

WebSockets provide a persistent, bidirectional transport. Application correctness still depends on slow-consumer handling, disconnects, reconnection, and deciding whether missed messages must be recovered. Evaluate end-to-end tail latency and connection pressure alongside perceived responsiveness; the transport choice by itself is not a benchmark.

IETF: the WebSocket protocol (opens in a new tab)

Caching exchanges repeated reads for a freshness contract

Name the source of truth, invalidation strategy, acceptable staleness, and behavior when the cache is unavailable. Hazelcast documents the consistency trade-offs of near caching; that is useful background, not a claim that this project used Near Cache. Cache hit rate is meaningful only together with the freshness and failure behavior the application requires.

Hazelcast: cache invalidation and consistency (opens in a new tab)

System overview

Conceptual overview of WebSocket communication and distributed caching.
01Application
02WebSocket
03Hazelcast
04Useful data
Conceptual overview of WebSocket communication and distributed caching.

Performance work starts with understanding the path from a request to useful data. Communication patterns and caching are tools for shortening that path, with consistency and operational complexity as part of the decision.

Results

Application-performance improvements using WebSocket connections, Hazelcast caching, and Spring Boot APIs, with recognition through Integrated Team and Spot Awards.

Next case study / Walmart Global Tech India

Identity at scale