Skip to content

Commit d5fb041

Browse files
committed
Mention "connecting to streams" blog post in documentation
1 parent b04bc3d commit d5fb041

File tree

3 files changed

+12
-5
lines changed

3 files changed

+12
-5
lines changed

src/docs/asciidoc/api.adoc

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,15 @@ include::{test-examples}/EnvironmentUsage.java[tag=environment-creation-with-uri
6868
By specifying several URIs, the environment will try to connect to the first one, and
6969
will pick a new URI randomly in case of disconnection.
7070

71+
[[understanding-connection-logic]]
72+
===== Understanding Connection Logic
73+
74+
Creating the environment to connect to a cluster node works usually seamlessly.
75+
Creating publishers and consumers can cause problems as the client uses hints from the cluster to locate the nodes where stream leaders and replicas are located to connect to the appropriate nodes.
76+
77+
These connection hints can be accurate or less appropriate depending on the infrastructure.
78+
If you hit some connection problems at some point – like hostnames impossible to resolve for client applications - this https://blog.rabbitmq.com/posts/2021/07/connecting-to-streams/[blog post] should help you understand what is going on and fix the issues.
79+
7180
===== Enabling TLS
7281

7382
TLS can be enabled by using the `rabbitmq-stream+tls` scheme in the URI.

src/docs/asciidoc/overview.adoc

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -66,9 +66,7 @@ can also be useful for development and testing.
6666
* _avoid publishing duplicate messages_ thanks to message de-duplication.
6767
* _consume asynchronously from streams and resume where left off_ thanks to
6868
automatic or manual offset tracking.
69-
* _use cluster nodes appropriately_ by letting the client decide which node to connect to - to
70-
stream leaders for publishers to minimize inter-node traffic and to stream replicas
71-
for consumers to offload leaders.
69+
* _enforce https://blog.rabbitmq.com/posts/2021/07/connecting-to-streams/[best practices] to create client connections_ – to stream leaders for publishers to minimize inter-node traffic and to stream replicas for consumers to offload leaders.
7270
* _optimize resources_ thanks to automatic growing and shrinking of
7371
connections depending on the number of publishers and consumers.
7472
* _let the client handle network failure_ thanks to automatic connection
@@ -99,5 +97,3 @@ The client contains 2 sets of programming interfaces whose stability are of inte
9997
* Application Programming Interfaces (API): those are the ones used to write application logic. They include the interfaces and classes in the `com.rabbitmq.stream` package (e.g. `Producer`, `Consumer`, `Message`). These API constitute the main programming model of the client and will be kept as stable as possible.
10098
* Service Provider Interfaces (SPI): those are interfaces to implement mainly technical behavior in the client. They are not meant to be used to implement application logic. Application developers may have to refer to them in the configuration phase and if they want to custom some internal behavior in the client. SPI include interfaces and classes in the `com.rabbitmq.stream.codec`, `com.rabbitmq.stream.compression`, `com.rabbitmq.stream.metrics` packages, among others. _These SPI are susceptible to change, but this should not impact the majority of applications_, as the changes would typically stay intern to the client.
10199

102-
103-

src/docs/asciidoc/performance-tool.adoc

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -181,6 +181,8 @@ java -jar stream-perf-test.jar \
181181
Note the performance tool will automatically configure the client to trust all
182182
server certificates and to not use a private key (for client authentication).
183183

184+
Have a look at the <<api.adoc#understanding-connection-logic,connection logic section>> in case of connection problem.
185+
184186
===== Publishing Rate
185187

186188
It is possible to limit the publishing rate with the `--rate` option:

0 commit comments

Comments
 (0)