Currently, this is a science project, do not use for anything important at the moment.
This is an experiment to build an implementation of the Orleans actor model in Go as opposed to in C# / .NET.
Pre-requisites:
- Go 1.19
- PostgreSQL (local or in container)
- Redis (local or in container)
- Build binaries via
go build
incmd/silod/
,cmd/client/
andcmd/reminder/
- Create a postgres database and load the schema from
etc/schema.sql
- Create a .env file in
cmd/silod/
with the following contents (changed for your environment):
DATABASE_URL=postgres://user:password@localhost:5432/database
REDIS_HOST_PORT=localhost:6379
- Run three instances of
silod
(from./cmd/silod
) (mimic theProcfile
or useovermind start
if you have it installed) to have three nodes running - Run
CLUSTER_HOST=localhost CLUSTER_PORT=8091 ./client
(from./cmd/client
) in another terminal to run against the first node - Run
CLUSTER_HOST=localhost CLUSTER_PORT=8092 ./reminder
(from./cmd/reminder
) in another terminal (optional) to register reminders against the second node