- Fix interval values for counters. (@prburgu)
See #128.
- Make ping and stats refresh intervals configurable. (@palkan)
Added --ping_interval N
and --stats_refresh_interval N
options respectively (both use seconds).
- Fix race conditions in Hub. (@palkan)
Use a single channel for register/unregister and subscribe/unsubscribe to make order of
execution deterministic. Since select .. case
chooses channels randomly, we may hit the situation when registration is added
after disconnection (un-registration).
- Add
sid=xxx
to RPC logs. (@palkan)
-
Handle TLS Redis connections by using VERIFY_NONE mode. (@palkan)
-
Added
rpc_pending_num
metric. (@palkan)
-
Add channel states to
disconnect
requests. (@palkan) -
Moved pingMessage (session), disconnectMessage (node) and Reply (hub) structs into common package. (@gr8bit)
-
Re-added git ref version to
LD_FLAGS
in Makefile. (@gr8bit)
-
Fix subscribing to the same stream from different channels. (@palkan)
-
Support providing passwords for Redis Sentinels. (@palkan)
Use the following format: ANYCABLE_REDIS_SENTINELS=:password1@my.redis.sentinel.first:26380,:password2@my.redis.sentinel.second:26380
.
- Fix setting
--metrics_host
. (@palkan)
See #107.
- Add
--disable_disconnect
option. (@palkan)
Allows you to avoid calling Disconnect
RPC method completely if you don't need it.
-
Add channel state support. (@palkan)
-
Add stopped streams support. (@palkan)
-
Add support for remote commands. (@palkan)
Handle remote commands sent via Pub/Sub. Currently, only remote disconnect is supported.
-
Add HTTP broadcasting adapter. (@palkan)
-
Add Redis Sentinel support. (@rolandg)
-
Send
disconnect
messages on server restart and authentication failures. (@palkan) -
Add
protov
RPC metadata. (@palkan) -
Add
rpc_retries_total
metrics. (@palkan)
This metrics represents the number of times RPC requests were retried.
The large value might indicate that the RPC server pool size doesn't correspond to the rpc_concurrency
value.
- Use single gRPC client instance instead of a pool. (@palkan)
gRPC connection provides concurrency via H2 streams (with load balancing). Using a pool doesn't bring any performance improvements and sometimes 'cause unstability (e.g., ResourceExhausted or Unavailable exceptions under the load).
We still limit the number of concurrent RPC requests. Now you can configure it via --rpc_concurrency
setting.
See PR#88 for more.
-
Add
--disconnect_timeout
option to specify the timeout for graceful shutdown of the disconnect queue. (@palkan) -
Add
mem_sys_bytes
metric. (@palkan)
Returns the total bytes of memory obtained from the OS
(according to runtime.MemStats.Sys
).
- Add
--enable_ws_compression
option to enable WebSocket per message compression. (@palkan)
Disabled by default due to the experimental status in Gorilla.
- IMPORTANT: Docker images versioning changed from
vX.Y.Z
toX.Y.Z
. (@bibendi)
Now you can specify only the part of the version, e.g. anycable-go:1.0
instead of the full anycable-go:v1.0.0
.
See Changelog for versions <1.0.0.