Skip to content
Draft
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 19 additions & 0 deletions docs/modules/clients/pages/java.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,25 @@ This topic is aimed at developers and describes basic usage, configuration, and

Hazelcast provides a {java-client} which you can use to connect to a Hazelcast cluster. `hazelcast-<VERSION>.jar` is bundled in the Hazelcast standard package, so you simply add this file to your classpath to begin using the client as if you are using the Hazelcast API.

The Hazelcast Java client is an official library that allows Java applications to connect to and interact with Hazelcast clusters. Using the Java client, developers can build high-performance, distributed applications in Java to enable distributed data access, computation, and caching. The key features and benefits include:

* Distributed data structures: the Java client supports a wide range of distributed data structures, including maps, multimaps, queues, sets, lists, replicated maps, topics, concurrency primitives, as well as CP data structures such as CPMap, Fenced Lock, Atomic Long, Atomic Reference, Semaphore, and Countdown Latch.
* Support for different serialization formats including Compact Serialization which optimizes memory and bandwidth usage by separating schema from data and storing it per type, not per object.
* Near Cache support: this feature allows frequently read data to be stored for faster read speeds compared to traditional caches.
* Vector Collections: the Java client allows you to create, manage, and search vector data structures directly from Java applications, enabling you to leverage Hazelcast's vector search and storage capabilities for AI and ML workloads.
* SQL support: you can run SQL queries over distributed data and use predicate APIs to filter and retrieve data from distributed maps.
* Supports compute operations by allowing you to submit and manage Jet jobs directly from Java applications.
* Enterprise-level security: the client provides authentication (using username/password, token, Kerberos, or custom credentials), role-based authorization, and encrypted communication via TLS.
* Support for multiple client discovery protocols, including multicast, TCP/IP, and cloud-based discovery mechanisms such as AWS, Kubernetes, Eureka, and Zookeeper. These protocols allow the client to automatically discover and connect to Hazelcast clusters in various environments, either through built-in auto-detection or explicit configuration, ensuring flexible and dynamic connectivity options.
* Multiple routing modes which allow you to optimize connectivity and performance based on your network topology and requirements, including support for geographically distributed clusters. Three routing modes are supported:
** MULTI_MEMBER—allows the client to connect to all members within a specific partition group, providing direct access within that group and gateway access to others
** ALL_MEMBERS (smart)—connects the client to every cluster member for maximum throughput
** SINGLE_MEMBER (unisocket)—connects to a single member acting as a gateway
* Scalability: the Java client is designed to scale up to hundreds of members and thousands of clients, making it suitable for large-scale applications. You can scale the cluster independently of applications and use different cluster routing modes for efficient client-to-member communication, enabling linear increases in processing and memory capacity as new members are added.
* Failover and high availability: the client can be configured for failover across multiple clusters, supporting blue/green and red/black deployment patterns for high availability.

The Hazelcast Java client offers a robust, scalable, and high-performance way to access and process distributed data, with a rich set of features tailored for modern, cloud-native, and enterprise applications.

== Get started

To get started using the {java-client}, you need to include the `hazelcast.jar` dependency in your classpath. You can then start using this client as if you are using the Hazelcast API.
Expand Down