Názor k článku Spoiler Proxy: simulátor poruchy sítě od Roman Bouchner - Například: Nastavím Spoiler Proxy. Pustím automatizované testy (pokud jsou...

  • Článek je starý, nové názory již nelze přidávat.
  • 8. 1. 2020 15:41

    Roman Bouchner

    Například:
    Nastavím Spoiler Proxy. Pustím automatizované testy (pokud jsou k dispozici). V GUI Spoiler Proxy vidím, že se aplikace připojuje na databázi a RabbitMQ.

    První co mě napadne je, že přes Spoiler Proxy zruším spojení na databázi. Pak ho obnovím a sleduji, zda aplikace normálně funguje. Nepopadaly nějaké komponenty systému? Možná jsou tam nějaké asynchronní tasky, které se nedokončily. Funguje stále zpracování PostgreSQL notifikací? Nespadlo vlákno, které to má na starost?

    Druhá věc, naruším spojení na RabbitMQ s BadReply. Tedy aplikace bude ukládat něco do externí fronty, dostane chybu, ale položka ve frontě už je. Jak aplikace reaguje? Nezačnou se tam data duplikovat?

    Pokud mám k dispozici automatické testy např. přes JMeter, můžu zahrnout Spoiler Proxy do automatizovaných testů. Samozřejmě testy začnou padat. Důležité ale je, že po obnovení spojení bude vše fungovat dál a integrita dat zůstane v pořádku.

    Konkrétní use case závisí na typu aplikace a co je pro nás je důležité. Někdy je důležitější dostupnost aplikace, jindy konzistence dat. V distribuovaném systému nemůžeme mít všechno (viz CAP teorém).