message oriented middleware written in go