An open API service indexing awesome lists of open source software.

https://github.com/zserge/bfapi

Resilient, scalable Brainf*ck, in the spirit of modern systems design
https://github.com/zserge/bfapi

Last synced: 3 months ago
JSON representation

Resilient, scalable Brainf*ck, in the spirit of modern systems design

Awesome Lists containing this project

README

          

# Brainf*ck-as-a-Service

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!