This is a cloud version of CompaJ - programming and numeric computing platform for math modeling and visualization.
Cloud version provides API for processing CompaJ scripts on external servers and get results for local processing.
Notifies other services about config changes. It uses Spring Cloud Config Bus with Kafka.
Registers all services, so they can find each other and communicate. Uses Eureka.
Reverse proxy, which hides all infrastructure and routes all requests from single point to all services. Uses Redis to store sessions.
Runs CompaJ code on isolated docker containers.
All services use OAuth for secured communication with Keycloak as provider. Gateway is a client in OAuth, and it propagates tokens to services behind.