The business use-case isn't my primary concern. In order to make a
recommendation I need to know exactly how you want to use the broker. Some
questions to answer:

 - How many clients will be using the edge broker, and how will they be
using it (e.g. consumer, producer, protocol, multicast, anycast, etc.)?
 - How many addresses & queues will be used on the edge broker? Is the
configuration static in broker.xml or dynamic via auto-creation?
 - Which queues will be read to send messages to the cloud broker?
 - Which addresses will receive messages from the cloud broker?

Other considerations...

 - What happens if the edge broker crashes?
 - What happens if connectivity to the cloud broker is absent for an
extended period of time?
 - Will you use any kind of flow-control for the producers to ensure the
broker isn't overwhelmed with messages?


Justin

On Wed, Mar 15, 2023 at 1:49 PM Yoann Gini <yoann.g...@gmail.com> wrote:

> The message that will pass between instances are robots work orders in one
> way and robots feedback in the other way
>
> All of them are fixed robots (not automotive) and with on prem safety, not
> dependent of any networks
>
>
> Order are basic JSON document with list of instructions to pass once, and
> then during the execution and at the end the feedbacks allow us to report
> where we are in the process
>
>
> > Le 15 mars 2023 à 19:38, Justin Bertram <jbert...@apache.org> a écrit :
> >
> > I'm not sure what exactly you're doing on your edge node so it's hard to
> > make a recommendation.
> >
> >
> > Justin
> >
> > On Wed, Mar 15, 2023 at 1:07 PM Yoann Gini <yoann.g...@gmail.com> wrote:
> >
> >> Thanks a lot for that feedback!
> >>
> >> Between the three option (bridges, federation, and broker connection)
> what
> >> would be the most suited for a configuration only at the edge side?
> >>
> >> All our edges have a certificate available published by a private CA,
> >> ideally I would like my central instance to be with the minimum
> >> configuration possible, accepting anything from anyone with a valid
> >> certificate, letting the Edge instance in charge of all the replication
> >> (bi-directional) settings.
> >>
> >>
> >>> Le 15 mars 2023 à 17:38, Justin Bertram <jbert...@apache.org> a écrit
> :
> >>>
> >>> The edge use-case with substantial hardware is quite different from the
> >>> classic IoT use-case. Also, the fact that you want to use messaging
> >> between
> >>> clients on the edge device is also a significant difference. Therefore,
> >> my
> >>> answer certainly would change given that the underlying assumptions
> from
> >> my
> >>> previous answer are invalid.
> >>>
> >>> I have no doubt that some of our users are running a broker on their
> edge
> >>> devices. The broker can be tuned to run effectively even on very modest
> >>> hardware when necessary. I can't rightly say whether that's a "good
> >> usage"
> >>> in your use-case when it's clear that important details are easy to
> omit.
> >>> Also, it's hard to say whether core bridges [1], federation, or even
> >> broker
> >>> connections [2] would best fit your needs.
> >>>
> >>>
> >>> Justin
> >>>
> >>> [1]
> >>>
> >>
> https://activemq.apache.org/components/artemis/documentation/latest/core-bridges.html
> >>> [1]
> >>>
> >>
> https://activemq.apache.org/components/artemis/documentation/latest/amqp-broker-connections.html
> >>>
> >>> On Tue, Mar 14, 2023 at 3:12 PM Yoann Gini <yoann.g...@gmail.com>
> wrote:
> >>>
> >>>> Thanks for your input Justin!
> >>>>
> >>>> Maybe IoT was missleading here, if I speak about EdgeComputing does it
> >>>> change your answer?
> >>>>
> >>>> One of the reasons I was looking for that architecture and that I
> forgot
> >>>> to mention was the ability to use also the MQ between multiple
> services
> >>>> locally to the edge.
> >>>>
> >>>> So each edge would be autonomous for their own internal messaging and
> >> then
> >>>> have federations for upstream communications.
> >>>>
> >>>> I was in my context forgetting that IoT usually mean low end device.
> >>>>
> >>>> In my context it’s IoT but with 64 GB of RAM, i7 CPU and Cuda
> >> capabilities
> >>>> on the GPU.
> >>>>
> >>>> So maybe Edge Computer is more appropriate wording.
> >>>>
> >>>> Yoann
> >>>>
> >>>>> Le 14 mars 2023 à 20:02, Justin Bertram <jbert...@apache.org> a
> écrit
> >> :
> >>>>>
> >>>>> Generally speaking, the software that runs on IoT devices is
> designed
> >>>> with
> >>>>> the unique constraints of IoT in mind (e.g. poor or intermittent
> >> network
> >>>>> connectivity, limited processing capacity, small amount of memory,
> low
> >>>>> power, etc.).
> >>>>>
> >>>>> MQTT, for example, is often used for messaging in IoT contexts and it
> >> is
> >>>>> designed to be light-weight and has features like will messages,
> >> retained
> >>>>> messages, link stealing, session expiration, etc. to facilitate
> unique
> >>>> IoT
> >>>>> use-cases.
> >>>>>
> >>>>> Furthermore, MQTT client implementations offer additional features
> not
> >>>>> outlined in the MQTT specification. For example, most Paho MQTT
> clients
> >>>> [1]
> >>>>> offer the ability to automatically reconnect, buffer messages when
> >>>> offline
> >>>>> (which will be sent automatically when the connection is
> >> re-established),
> >>>>> and persist messages (in case the application crashes before it has a
> >>>>> chance to send them).
> >>>>>
> >>>>> In my opinion, adding a broker to an IoT device is not a good idea.
> >> It's
> >>>>> adding complexity where it isn't really required. It will make
> >>>>> configuration, deployment, and debugging more difficult, and it will
> >>>>> require more hardware (which is notoriously limited in IoT). A good
> >> MQTT
> >>>>> client implementation should be able to provide you with all the
> >> features
> >>>>> you need to operate effectively in an IoT context.
> >>>>>
> >>>>>
> >>>>> Justin
> >>>>>
> >>>>> [1] https://www.eclipse.org/paho/index.php?page=downloads.php
> >>>>>
> >>>>>> On Tue, Mar 14, 2023 at 8:52 AM Yoann Gini <yoann.g...@gmail.com>
> >>>> wrote:
> >>>>>>
> >>>>>> Hello,
> >>>>>>
> >>>>>> I'm new here and I'm working on an IoT issue where I'm wondering if
> >>>>>> Artemis and federated queue could help. I'm learning the software in
> >> the
> >>>>>> same time I'm trying to achieve something, so I would like to have
> >> your
> >>>>>> opinion on this: will it work? Is it a good idea? And do you have
> >> sample
> >>>>>> config / blog post to recommend to learn to achieve that?
> >>>>>>
> >>>>>> The idea: IoT devices with some computing capability running local
> >>>> needed
> >>>>>> services as well as an Artemis local instance, with upstream set a
> >> Cloud
> >>>>>> located one.
> >>>>>>
> >>>>>> Configuration in bidirectional to allow both Cloud to pass commands
> to
> >>>> IoT
> >>>>>> and IoT to report feedback to Cloud.
> >>>>>>
> >>>>>> Goal of Artemis here in the IoT as federated layer (and not directly
> >> IoT
> >>>>>> service connected to the cloud one) would be to provide some sort of
> >>>>>> caching capabilities which would allow the local service to not have
> >> to
> >>>>>> handle disconnected state. Local service will still be able to
> publish
> >>>> to
> >>>>>> local Artemis and read what was lastly make available before a
> >>>> connectivity
> >>>>>> cut. And when the Internet recovers, the federation (if I understand
> >> it
> >>>>>> well) should resume bidirectional transfer of feedback and orders.
> >>>>>>
> >>>>>> Does that make sense for you? Is it a good usage of the solution
> that
> >>>> has
> >>>>>> some chance to reliably works?
> >>>>>>
> >>>>>> If so do you have any recommendations for the implementation or any
> >> blog
> >>>>>> post / conference I should look at to learn this?
> >>>>>>
> >>>>>> Cheers
> >>>>>> Yoann
> >>>>>>
> >>>>>>
> >>>>
> >>>>
> >>
> >>
>
>

Reply via email to