Low Latency Stock Exchange written in C#, backed by Akka.NET
- create docker shared network
- run observability containers
- build solution images
- run solution containers
- verify that services are running
cd docker
./create-shared-network.shdocker plugin install grafana/loki-docker-driver:latest --alias loki --grant-all-permissionsTo start observability do:
cd docker/observability
docker compose up -dOpen Grafana at http://localhost:3000 and log in (default credentials are admin/admin). For the first time grafana will ask you to set new admin password
- Metrics: Prometheus http://localhost:9090
- Tracing: Tempo http://localhost:3200
- Logging: Loki http://localhost:3100
The following dashboards are provisioned
in docker folder run
cd docker
./build-docker.sh
docker compose up -dThis project is designed to work with Petabridge.Cmd. For instance, if you want to check with the status of your Akka.NET Cluster, just run:
pbm cluster showOnce cluster is formed you should see something like this:
akka.tcp://aaron@523f3a1d0e24:8557 | [matchingengine] | up | | 1.0.0
akka.tcp://aaron@6c7a408130b7:8557 | [matchingengine] | up | | 1.0.0
akka.tcp://aaron@738938ed56b1:8557 | [matchingengine] | joining | | 1.0.0
Count: 3 nodesabove shows that 1 node is joining the cluster, and after cluster is fully formed like this:
akka.tcp://aaron@523f3a1d0e24:8557 | [matchingengine] | up | | 1.0.0
akka.tcp://aaron@6c7a408130b7:8557 | [matchingengine] | up | | 1.0.0
akka.tcp://aaron@738938ed56b1:8557 | [matchingengine] | up | | 1.0.0
Count: 3 nodes- https://localhost:{ASP_NET_PORT}/swagger/index.html - Swagger endpoint for testing out Akka.NET-powered APIs
- https://localhost:{ASP_NET_PORT}/healthz/akka - Akka.HealthCheck HTTP endpoint
- https://localhost:{ASP_NET_PORT}/_env - service information HTTP endpoint, more like a convient endpoint to quickly check the service info
ASP_NET_PORT if you run locally it will most likly be set to 5000, but when running in docker we expose ports from 8080 upto number of replicas -1
- https://localhost:8080/swagger/index.html - Swagger endpoint for testing out Akka.NET-powered APIs
- https://localhost:8080/healthz/akka - Akka.HealthCheck HTTP endpoint
- https://localhost:8080/_env - service information HTTP endpoint, more like a convient endpoint to quickly check the service info