exercise on reactivity, resilience and elasticity of distributed system: distributed chat with microservice architecture. Akka cluster with sharding and persistence