Navigation Menu

Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Deprecate and then remove Engine Channels method #147

Closed
FZambia opened this issue Aug 18, 2020 · 1 comment
Closed

Deprecate and then remove Engine Channels method #147

FZambia opened this issue Aug 18, 2020 · 1 comment
Milestone

Comments

@FZambia
Copy link
Member

FZambia commented Aug 18, 2020

Channels method of Engine (Broker part) returns a slice of all channels active throughout all Centrifugo nodes. This data is eventually consistent in case of Redis, not supported in Redis cluster case, not supported by most other PUB/SUB brokers, does not scale well for millions of channels thus can lead to error prone architectural decisions in applications that use Centrifuge or Centrifugo. I am considering to remove it in Centrifuge library Engine interface and in Centrifugo v3.

Maybe this sort of data should be extracted not via broker but over Centrifuge node cluster survey. But even in this case it won't scale well for business scenarios (should only be used as instrument of observability).

@FZambia FZambia added this to the v1.0.0 milestone Oct 1, 2020
@FZambia FZambia pinned this issue Oct 16, 2020
@FZambia
Copy link
Member Author

FZambia commented Dec 14, 2020

Done. New example added to show how to find channels on all nodes over node.Survey method. Getting channels over Survey does not scale well with adding more nodes and many channels in system - but it's mostly the same situation as with Channels over the broker. Personally I see the proper solution for investigating global Channels state over integration with real-time analitycs (ClickHouse for example).

@FZambia FZambia closed this as completed Dec 14, 2020
@FZambia FZambia unpinned this issue Dec 14, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant