IOT data acquisition challenges

RubiThings built on microservices principle. It essentially uses publish subscribe mechanism to enable a scalable architecture. The basic reason behind this is the traffic pattern of data from IOT devices or for that matter even BOTs.
Typically, when we use data as humans we can consume bulk data at a time with things like internet browsing, viewing content on OTT platforms etc. There is no set pattern on data consumption. It is as per need / mood / desire.
As opposed to this, devices, sensors or even BOTs have pre-determined reporting frequency. Also, the number of IOT devices or BOTs reporting data is generally very large.
Hence in the architecture we have to ensure that every message from every device is captured without loss.

Thus, the challenge in designing a system which ensures accurate data collection which is scalable and reliable while being optimized at the same time.
Using message queue-based pub -sub architecture approach RubiThings ensures that a horizontally scalable data acquisition.