Rozpocząłem pracę nad nowym projektem i zostaliśmy poproszeni o zbudowanie systemu jako serii mikro usług, wykorzystujących RabbitMQ jako warstwę komunikacyjną między nimi.Jaka jest typowa strategia dotycząca wersji dla RabbitMQ?
Podczas tworzenia interfejsów API usług REST preferuję używanie nagłówka HTTP akceptującego do kontrolowania wersji i widzę, że można używać wymiany nagłówków w RabbitMQ do kierowania wiadomości w podobny sposób. Jednak, ponieważ jest to wyłącznie wewnętrzny system przesyłania wiadomości, nie jestem pewien, czy dodatkowa złożoność wymiany nagłówków jest naprawdę warta czasu?
Jaka jest typowa konfiguracja do wersjonowania wiadomości RabbitMQ? Wydaje mi się, że są opcje:
- New vhost dla każdej wersji
- Każda wymiana posiada wersję w nazwie (np MyExchange-V1, MyExchange-v2, ... itd.)
- kolejki są wersjami
- klucze routingu są wersjami Exchange (MyRoute-2.1. *)
- Użyj nagłówek
Dzięki za wejście może być.
co ostatecznie wybrałeś? – Pupsik