Skip to content

Support one set of 0MQ channels per kernel #658

@davidbrochart

Description

@davidbrochart

Problem

jupyter_server creates a set of Zero-MQ channels for each client that connects to a kernel, but sockets can be a scarce resource on some platforms, and this can become an issue especially in the context of collaborative editing, when a lot of users work e.g. on the same notebook.

Proposed Solution

A solution to this problem was implemented in Jupyverse, where only one set of Zero-MQ channels are created for a given kernel. The session ID is used to demultiplex the messages from the kernel to the clients. This requires parsing the parent_header, which goes a little bit against the refactor of the websocket protocol, but the parent header is small so this shouldn't be much of an issue.
Maybe this could be supported in jupyter_server as well, as a configuration option?

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions