Skip to content

Commit

Permalink
Merge pull request #37068 from karesti/client-intelligence-explanation
Browse files Browse the repository at this point in the history
Updates infinispan client intelligence section
  • Loading branch information
gsmet committed Nov 14, 2023
2 parents 5066de2 + 278a9dc commit 6dc3b1b
Show file tree
Hide file tree
Showing 2 changed files with 29 additions and 7 deletions.
24 changes: 19 additions & 5 deletions docs/src/main/asciidoc/infinispan-client-reference.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -95,28 +95,42 @@ quarkus.infinispan-client.hosts=localhost:11222 <1>
quarkus.infinispan-client.username=admin <2>
quarkus.infinispan-client.password=password <3>
quarkus.infinispan-client.client-intelligence=BASIC <4>
----
<1> Sets Infinispan Server address list, separated with commas
<2> Sets the authentication username
<3> Sets the authentication password
<4> Sets the client intelligence. Use BASIC as a workaround if using Docker for Mac.

Alternatively, you can use uri connection by providing a single connection property
[source,properties]
----
quarkus.infinispan-client.uri=hotrod://admin:password@localhost:11222 <1>
quarkus.infinispan-client.client-intelligence=BASIC <2>
----
<1> Sets Infinispan URI connection. The following properties will be ignored: hosts, username and password.
<2> Sets the client intelligence. Use BASIC as a workaround if using Docker for Mac

[TIP]
====
Use Infinispan Dev Services to run a server and connect without configuration.
====

=== Client intelligence
Infinispan client uses intelligence mechanisms to efficiently send requests to Infinispan Server clusters.
By default, the *HASH_DISTRIBUTION_AWARE* intelligence mechanism is enabled.
However, locally with Docker for Mac, you might experience connectivity issues.
In this case, configure the client intelligence to *BASIC*.

Learn more in the https://infinispan.org/docs/stable/titles/hotrod_java/hotrod_java.html#hotrod-client-intelligence_hotrod-java-client[Infinispan documentation].

[source,properties]
----
quarkus.infinispan-client.client-intelligence=BASIC <1>
----
<1> Docker for Mac workaround.

[IMPORTANT]
====
Don't use *BASIC* in production environments by default, performance might be impacted.
====

=== Configuring backup clusters in Cross-Site Replication
In High Availability production deployments, it is common to have multiple Infinispan Clusters that are
distributed across various Data Centers worldwide. Infinispan offers the capability to connect these clusters and
Expand Down
12 changes: 10 additions & 2 deletions docs/src/main/asciidoc/infinispan-client.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -305,14 +305,22 @@ Then, open the `src/main/resources/application.properties` file and add:
%prod.quarkus.infinispan-client.username=admin <2>
%prod.quarkus.infinispan-client.password=password <3>
## Docker 4 Mac workaround
%prod.quarkus.infinispan-client.client-intelligence=BASIC <4>
## Docker 4 Mac workaround. Uncomment only if you are using Docker for Mac.
## Read more about it in the Infinispan Reference Guide
# %prod.quarkus.infinispan-client.client-intelligence=BASIC <4>
----
<1> Sets Infinispan Server address list, separated with commas
<2> Sets the authentication username
<3> Sets the authentication password
<4> Sets the client intelligence. Use BASIC as a workaround if using Docker for Mac.

[IMPORTANT]
====
Client intelligence changes impact your performance in production.
Don't change the client intelligence unless strictly necessary for your case.
Read more in the xref:infinispan-client-reference.adoc[Infinispan Client extension reference guide].
====

== Packaging and running in JVM mode

You can run the application as a conventional jar file.
Expand Down

0 comments on commit 6dc3b1b

Please sign in to comment.