I am trying to implement a Java MQTT broker on top of Google Compute Engine. My broker will be used to handle a very large number of SUBSCRIBE and PUBLISH messages from IoT devices. So, I am planning on using the autoscaling feature to accommodate my load needs.
I am not sure which Open Source Java based MQTT broker I should use to start off my implementation. I was hoping I could get some suggestions. I am specifically looking for an open source broker that supports features such as durable subscribers, retain message, wildcards etc.
Also, since MQTT is built on TCP, could I just build my own broker from scratch that uses Java sockets and listens on a port? I am assuming the answer for this is no, but I would like to get it clarified.