Tento projekt je jednoduchoučká chat aplikace napsaná v PHP. Data persistuje v databázi Redis, na kterou se přistupuje pomocí klienta Predis. Jsou smazané všechny řádky kódu, které s Redisem pracují. Vaším úkolem je tyto řádky doplnit.
git clone
composer install
docker-compose up
- V browseru jděte na adresu localhost:12345
Doplňte všechny řádky označené jako (BASIC TASK)
v souborech src/sendMessage.php a src/showMessages.php. Neupravujte žádné jiné soubory a žádné jiné řádky. Jakmile tak učiníte, chat začne fungovat.
Literatura: http://try.redis.io/
Upravte/doplňte předpis pro docker tak, aby Redis fungoval s replikací typu master-slave. Dále sestavte vrstvu HA (High Availability) pomocí tří instancí v módu Sentinel a upravte Vaše kódy tak, aby aplikace HA využívala. Nakonec upravte src/init.php tak, aby se Predis na Sentinely připojoval.
Literatura:
Příklad spuštění:
docker-compose up -d --scale sentinel=3
Příklad výstupu:
docker ps --format '{{.Names}}'
redis-cluster_sentinel_3
redis-cluster_sentinel_2
redis-cluster_sentinel_1
redis-cluster_slave_1
redis-cluster_master_1
Doplňte všechny řádky označené jako (EXTENDED TASK)
ve všech PHP souborech v adresáři src/. Neupravujte žádné jiné soubory a žádné jiné řádky. Tímto dokážete aplikaci přidat kompletní session management postavený nad Redisem.
Literatura: https://redis.io/topics/twitter-clone
Odevzdat úkol můžete dvěma způsoby:
- vytvořením pull requestu do tohoto repozitáře či
- zasláním na emailovou adresu [email protected]
Bude zveřejněno během workshopu ve středu 26. 9. 2018, přijďte :-)