Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[hono-dev] Command and Control / Cloud to Device

Hi all,


I would like to continue our discussion on command and control (cloud to device) communication.


As a wrap up:

  1. First we will concentrate on direct messaging to connected devices.

  2. To give the applications the possibility of handling disconnected devices (with retries, message buffering etc.), there will be an event as soon as a device connects (guaranteed) and an event for disconnect (best effort).

  3. Mechanism needed to give the application time to send a command to shortly connected devices.

  4. Not clear how message ordering could be guaranteed (link routing vs. message routing and a layer on top with e.g. numbering or timestamps has been discussed).

  5. A big number of links could be a addressed in principle by EnMasse (scaling) - but it is still unclear how many links may be possible and if this matches an architecture with one link per device.


Have I missed something important?


The biggest question in the moment seems to be if one AMQP link per connected device is a realistic architecture option for us?


This means for each device, that connects to an adapter the adapter will create a receiver link with a Hono messaging instance and Hono messaging with the Router network. Also a consumer application instance creates a sender link with the Router network for each device, to which it wants to send a command as soon as this is connected.


Then for example there is a tenant with an application to handle 1 million devices (number of registered devices). We assume there are a number of adapter and messaging instances to handle this - so maybe 50.000 devices connect to each (MQTT) adapter. Behind is the Dispatch Router network with also a number of instances. I assume also the application is scaled.


When all devices are connected we have 1 million links, which will be routed through the Dispatch Router network (from e.g. 10 Hono messaging instances and 5 application instances). Also the creation of such links should be in time (azure for example says 100/sec device connections per S1 instance).


@Gordon, @Dejan, @Paolo - do you think this a realistic option?


Thanks,

Marc




Back to the top