From 93aed17b130cf97ab1fdb731c34e9bf640bc807a Mon Sep 17 00:00:00 2001 From: William Yang Date: Wed, 14 Dec 2022 10:50:29 +0100 Subject: [PATCH] Add EIP 0023-quic-multi-streams --- active/0023-assets/Example.UML | 85 ++++++++++++++++++++++ active/0023-assets/Example.png | Bin 0 -> 149805 bytes active/0023-quic-multi-streams.md | 114 ++++++++++++++++++++++++++++++ 3 files changed, 199 insertions(+) create mode 100644 active/0023-assets/Example.UML create mode 100644 active/0023-assets/Example.png create mode 100644 active/0023-quic-multi-streams.md diff --git a/active/0023-assets/Example.UML b/active/0023-assets/Example.UML new file mode 100644 index 0000000..c8cdf57 --- /dev/null +++ b/active/0023-assets/Example.UML @@ -0,0 +1,85 @@ +title QUIC Multi-Streams Setup Flow +actor Client +boundary Quicer +control ConnOwner +control EmqxConnection +control DataStream1 +control DataStream2 +autonumber 1 +== Init == +note over ConnOwner: Accepting New Connection +Client -> Quicer : QUIC: New connection +note over Quicer: Pick new connection owner +Quicer -> ConnOwner : {quic, new_conn, ... } +Activate ConnOwner +Client -> Quicer : QUIC: New Stream 1, with MQTT.Connect +Client -> Quicer : QUIC: New Stream 2, with MQTT.Subscribe +Client -> Quicer : QUIC: New Stream 3, with MQTT.Publish +create EmqxConnection +ConnOwner -> EmqxConnection: spawn +Deactivate ConnOwner +note right: Accepting Control Stream +EmqxConnection -> ConnOwner: initialized +Activate ConnOwner +ConnOwner -\\o Quicer: NIF call\n handshake +Deactivate ConnOwner +Quicer <----> Client: Complete Handshake +== QUIC Handshake Done == +Quicer -> EmqxConnection: {quic, new_stream, Stream1, ... } +note over EmqxConnection: Stream1 is Control Stream +activate EmqxConnection +Quicer -> EmqxConnection: {quic, Stream1, << MQTT.Connect ...>>} +Quicer -> ConnOwner: {quic, new_stream, Stream2, ... } +Activate ConnOwner +note over ConnOwner: Stream2 is DataStream +create DataStream1 +ConnOwner ----> DataStream1: Spawn +Quicer -> ConnOwner: {quic, new_stream, Stream3, ... } +note over ConnOwner: Stream3 is DataStream +ConnOwner <---> DataStream1: Ownership handoff +Deactivate DataStream1 +Note over DataStream1: Owner of Stream2\nrecv mode: passive \n Processing Pending +create DataStream2 +ConnOwner ----> DataStream2: Spawn +ConnOwner <---> DataStream2: Ownership handoff +Deactivate DataStream2 +Deactivate ConnOwner + +Note over DataStream2: Owner of Stream3\nrecv mode: passive\n Processing Pending + +note over EmqxConnection: Finish AUTH, Create Channel +EmqxConnection -\\o Quicer: NIF Send MQTT.ConnAck via Stream1 +Quicer -> Client: MQTT.ConnAck +== Control Stream Setup Success == +EmqxConnection -> ConnOwner: Call activate_data_streams +Activate ConnOwner +Note over ConnOwner: Activate pending data streams +ConnOwner -> DataStream1: activate with a copy of ChannelInfo +DataStream1 --> DataStream1: activate +ConnOwner -> DataStream2: activate with a copy of ChannelInfo +DataStream2 --> DataStream2: activate +ConnOwner -> EmqxConnection: reply call ok +Note over DataStream1: NIF call:\nsetopt active true +Note over DataStream2: NIF call:\nsetopt active true +deactivate ConnOwner +deactivate EmqxConnection +== Data Streams Activated == +{DataSub} Quicer -> DataStream1: {quic, Stream2, << MQTT.SUBSCRIBE... >> +Activate DataStream1 +Note over DataStream1: Processing MQTT.Subscribe +DataStream1 -\\o Quicer: NIF send: MQTT.SUBACK via Stream2 +Deactivate DataStream1 +Quicer -> Client: MQTT.SUBACK +{DataPub} Quicer -> DataStream2: {quic, Stream3, << MQTT.PUBLISH... >> +Activate DataStream2 +{DataSub} <-> {DataPub}: Can be in different ORDER +Note over DataStream2: Processing MQTT.Publish +DataStream2 -\\o Quicer: NIF send: MQTT.PUBACK via Stream3 +Quicer -> Client: MQTT.PUBACK +DataStream2 -> DataStream1: Publish Msg +Deactivate DataStream2 +DataStream1 -\\o Quicer: NIF call\nMQTT.Publish via Stream2 +Deactivate DataStream1 +Quicer -> Client: MQTT.Publish over Stream2 +Client -> Quicer: MQTT.PubAck over Stream2 +Quicer -> DataStream1: {quic, Stream2, << MQTT.PUBACK... >> diff --git a/active/0023-assets/Example.png b/active/0023-assets/Example.png new file mode 100644 index 0000000000000000000000000000000000000000..e0a1b1331ea1b2e7d5f305d79d33513ff3255eef GIT binary patch literal 149805 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 literal 0 HcmV?d00001 diff --git a/active/0023-quic-multi-streams.md b/active/0023-quic-multi-streams.md new file mode 100644 index 0000000..979f6f3 --- /dev/null +++ b/active/0023-quic-multi-streams.md @@ -0,0 +1,114 @@ +# MQTT over QUIC multstreams support + +## Changelog + +* 2022-12-13: @qzhuyan Initial draft + + +## Abstract + +MQTT Over QUIC in EMQX 5.0 is an experimental feature with single stream support. + +This EIP extends MQTT over QUIC to support multi-streams by utilizing the +multiplexing feature of QUIC transport protocol. + +## Motivation + +In EMQX5.0, Client and Server maintain a QUIC connection in between and +exchange MQTT messages over one single QUIC stream. When the stream +is closed by either side the connection is closed. + +By enabling multi-streams, one could achieve: + +1. Decouple connection control and application data exchanges. +1. Avoid head-of-line blocking among the Topics. +1. Decouple control plane traffic and data plane traffic. +1. Split channels for uplink data (publishing) and downlink data (receiving publish). +1. Priorities data from different MQTT Topics. +1. Improve parallelism of processing on the Client/Server side. +1. More robust handling of MQTT data that single stream abortion caused by the application will not cause connection close. +1. Flow control per data stream. +1. Reduce latency at application layer (application above MQTT) + A client does not need to wait for connack before sending the subscribe or publish packets. + +## Design + +The QUIC connection handshake between the MQTT client and EMQX is the same as the original single stream mode. + +Changes to support multi-streams. + +1. Bidirectional Control Stream, initiated from the MQTT Client. + There will be one and only one control stream from Client to Server. + + The first stream in the connection is the control stream. + + It has the same life cycle as the connection, either side of the connection closes the control + the stream leads to a connection close. + + Keep alive with MQTT.PING and authentication with MQTT.AUTH is over the control stream. + + All types of MQTT packets are allowed over the control stream which is backward compatible to the + original single stream mode. + +1. Bidirectional Data Streams, initiated from the MQTT Client. + + MQTT Client has the freedom to choose how to utilize the multiple data streams. + + Data stream could carry egress publishing traffic, ingress subscribed traffic, or both. + The data stream could carry data for one topic or from/to different topics. + + The client could also send the same topic data over different data streams but the receiving ordering is not guaranteed. + (Data ordering is only guaranteed in the same stream by the design of QUIC protocol) + + Zero or more data streams are allowed. The max number of data streams is decided by the broker (EMQX). + However, the client can request more allowed streams over QUIC protocol and it is upto the broker + to decide if increase the limit or not. + + Duplicated subscriptions are allowed among different streams. + + Data Stream only accepts a subset of MQTT packets and they are: + + - PUBLISH + - PUBACK + - PUBREC + - PUBCOMP + - PUBREL + - SUBSCRIBE + - SUBACK + - UNSUBSCRIBE + - UNSUBACK + +![](0023-assets/Example.png) + +## Configuration Changes + +At this stage, no. + +## Backwards Compatibility + +No Backwards Compatibility changes. Single stream mode is still supported. + +## Document Changes + +N/A + +## Testing Suggestions + +Multistream supports use more processes, the memory overhead need to be tested. + + +## Declined Alternatives + +1. In EMQX, use a single process to manage both the control stream and data streams + + This is the original idea used in PoC but it turns out to be too complicated to + manages the states per stream and requires major changes in `emqx_channel` and `emqx_routes` + + Using process per stream improves the parallelism, less blocking, and keeping + stream data and states isolated in each process is more secure and robust. + The overhead of memory footprints can be mitigated by using process hibernations. + + +1. Split sending/receiving in two unidirectional streams. + + Not approved at this stage.