Skip to main content

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

Just a couple of notes from my side:

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).

I think we should focus on making “scalable messaging” scalable, rather than inventing a specialized routing protocol (which may or may not work). To me it looks like AMQP links are the right abstraction for this job, so we need to test its scaling limits with the current implementations and figure out how to push it forward.

If you send unsettled, then you do get flow control with message-routed traffic. The credit is not directly relayed, but messages are not silently dropped and back-pressure will be propagated. If there are no active recipients (active links with credit granted) then senders will not get credit to send messages. You can in fact use the availability of credit to send as an imperfect indication that there is a receiver on the address (or in the hone case that the device is connected).

“The availability of credit” is a good indication of wether a device is connected or not. Additionally we need to expose these as external events to other services. I wonder if there’s a way to achieve that currently, or is there are any plans to extend a router to publish these events on some address?

On Mon, Mar 12, 2018 at 5:34 PM, Gordon Sim <gsim@xxxxxxxxxx> wrote:
On 12/03/18 16:21, Marc Pellmann wrote:
        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.


    Just for completeness, if using message routing, the application
    would need to have a separate link for each device it wishes to send
    to. It could use a so-called 'anonymous sender', with the address of
    the device specified in the 'to' field on the message.


I am not sure if I understand the implications of using this anonymous sender correct - could you explain it a little bit more (I did not found a further explanation in the QPID documentation)?

Basically you create a link with no target address, and then put the address in the message. So you can send a message to 'foo' then 'bar' over the same link. Does that help?

    Having a million receivers and senders attached to a router network
    and communicating using message routing is certainly realistic
    (tests of that scale have been carried out, though on bare metal
    only at present). I'm not aware of tests of link routing at that
    scale, which is not to say it is not realistic, just that it should
    be investigated further.


With the use case of sending commands to the devices, we may could use message based routing. The problem, that we do not have flow control seams not such a problem in this direction. WDYT?

If you send unsettled, then you do get flow control with message-routed traffic. The credit is not directly relayed, but messages are not silently dropped and back-pressure will be propagated. If there are no active recipients (active links with credit granted) then senders will not get credit to send messages. You can in fact use the availability of credit to send as an imperfect indication that there is a receiver on the address (or in the hone case that the device is connected).

_______________________________________________
hono-dev mailing list
hono-dev@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/hono-dev



--
Regards
--
Dejan Bosanac
http://sensatic.net/about

Back to the top