A little BF interpreter, inspired by modern systems design trends.
How to run it?
docker-compose up -d bash hello.sh # Should print "Hello World!"
How does it work?
Microservices! There is some nginx gateway, that does load balancing to the API instances. Each API instance (see
./api directory) handles parsing and loops. Of course, nobody in his sane mind would implement a stack manually these days, so we use Redis for stack operations. Pointer movements are controlled by another microservice,
./ptr. This one uses MongoDB, because, well, what could possibly go wrong? Finally, there is memory access service (
./mem) that uses Postgres as a memory storage, battle-tested, scalable technology.
As a result, a typical hello world script runs in ~400ms on a modern MacBook, not bad at all!
80% of the code was copied from StackOverflow, so it should be bug-free. Enjoy!