Skip to content

Low Latency Stock Exchange written in C#, backed by Aeron.NET and Akka.NET

License

Notifications You must be signed in to change notification settings

rafalpiotrowski/Aaron.NET

Repository files navigation

Aaron.NET

Low Latency Stock Exchange written in C#, backed by Akka.NET

Running in Docker

  1. create docker shared network
  2. run observability containers
  3. build solution images
  4. run solution containers
  5. verify that services are running

Shared docker network

cd docker
./create-shared-network.sh

Install Loki Docker Driver

Docker driver

docker plugin install grafana/loki-docker-driver:latest --alias loki --grant-all-permissions

Observability

To start observability do:

cd docker/observability
docker compose up -d

Open 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

OpenTelemetry Tracing

Grafana Dashboards

The following dashboards are provisioned

Running the solution

in docker folder run

cd docker
./build-docker.sh
docker compose up -d

Petabridge.Cmd Support

This 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 show

Once 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 nodes

above 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

Key HTTP Routes

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

About

Low Latency Stock Exchange written in C#, backed by Aeron.NET and Akka.NET

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages