чтобы понять, как не надо писать - можно поглядеть, как написана либа Nats для эликсир. писали гошники. вот там везде посреди функции в 10 экранов изменения переменной внутри IF и так далее
тут как с общей шиной VS многосвязь микросервсивов. в чистом виде общую шину никто, похоже, так и не сделал. так же и тут. где-то нет нет, да и вылезет raise