Comments (5)
To provide more detail, I was able to extract the number of connections in our current NATS server(running inside a Kuberentes cluster and populating Streams/Consumers via NACK). Using nats-top I was able to get the following
as you can see, all of them (the 95 connections in this specific screenshot) are from jetstream-controller
, which is NACK creating the Streams/Consumers and never disconnecting
from nack.
The problem seems to be only when the connection to NATS is defined in the account
CRD. In the code, that means when crdConnect
is set to true
.
When setting one NATS connection in the overall server settings (crdConnect
set to false) it doesn't matter how many objects I create or how many times the connection is retried, only 1 connection is reported:
With that in mind, I think the error may come in this part of the code:
nack/controllers/jetstream/stream.go
Lines 183 to 199 in b6bb02b
from nack.
Thanks for reporting! We should be able to put a connection pooler into NACK to prevent this. There is already an implementation in the nats-surveyor
repo.
We'll port it over should be able to get that done next week
from nack.
Connection pooling reference from nats-surveyor: https://github.com/nats-io/nats-surveyor/blob/main/surveyor/conn_pool.go
from nack.
Connection pool added in v0.14.0
from nack.
Related Issues (20)
- Container for 0.9.1 is not tagged with the version HOT 2
- Unable to start image when using `/jetstream-controller` path on 0.9.1 HOT 1
- Log all operator events
- Nack doesn't rename streams/consumers
- Release new image on updated Alpine and Go to address vulnerabilities HOT 2
- YAML config doesn't support all time formats on maxAge
- KeyValue management on NACK
- nats-server-config-reloader: Inotify Not Working in K8 with the secrets
- Add support for UserCredentials for consumer HOT 1
- Handling NATS clusters in multiple namespaces HOT 4
- AckWait default value seems to be wrong
- Feature request: Add support for Jetstream domain HOT 2
- Lack of subject update Changing nats filter subjects HOT 15
- When installing according to the manual, jetstreams are NOT enabled HOT 1
- Unable to map the account CRD to the nats server's existing account when creating jetstreams with multi-tenants support HOT 2
- Number of issues with ReadMe manual HOT 1
- When a consumer is deleted from the server, NACK does not recreate it HOT 8
- Docker image for 0.8.0 not published to natsio/nats-server-config-reloader HOT 2
- error when deploying push consumer. consumer with flow control also needs heartbeats (10108) HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from nack.