Nice little bit of digging which shows there is some work done to address the enterprise-like reliability concerns. Note that HAProxy is still a single point, but if properly deployed it should be a useful configuration. The general concept of load balancing with the potential that multiple backend servers could be offline is an elegant solution. emqtt appears to use router to provide the redundancy switching. Routers are typcially disk/ssd for storage so have normal longevity.
What I am trying to point out is not so much that there is no solution, but that the user community that uses Pi and similar SBC are not aware of the SD limitations and the mosquitto documentation I have seen has not discussed the implications, if any, of the host and memory usage. When the user asks that messages persist then it mosquitto continually pounding on the SD or is it using RAM and is not concerned with persistence between restarts. Was it designed for a SBC or was it desired for a Server? Does QOS selected by the client affect SD utilization? Do we expect months, one year, five years, etc before the SD life has expired. It is not only mosquitto, but other applications that use the SD as a general storage device with high duty cycles.
When I started with my mcsSprinklers application on Linux I used the SD and found that it had a short lifetime with a periodic database write every 60 seconds. I also found that the SD data was easily trashed if I made no provisions to deal with power outages. SD are likely better today, but same considerations apply.
What I am trying to point out is not so much that there is no solution, but that the user community that uses Pi and similar SBC are not aware of the SD limitations and the mosquitto documentation I have seen has not discussed the implications, if any, of the host and memory usage. When the user asks that messages persist then it mosquitto continually pounding on the SD or is it using RAM and is not concerned with persistence between restarts. Was it designed for a SBC or was it desired for a Server? Does QOS selected by the client affect SD utilization? Do we expect months, one year, five years, etc before the SD life has expired. It is not only mosquitto, but other applications that use the SD as a general storage device with high duty cycles.
When I started with my mcsSprinklers application on Linux I used the SD and found that it had a short lifetime with a periodic database write every 60 seconds. I also found that the SD data was easily trashed if I made no provisions to deal with power outages. SD are likely better today, but same considerations apply.
Comment