(The name Massa is due to a river near the Eigr mountain in Switzerland)
Massa is a Cloudstate compatible proxy implementation build running on the BEAM.
Massa is Cloudstate Sidecar Proxy implemented on top of Erlang BEAM VM. We takes advantage of Elixir's simplicity and elegance, mainly because we know the power of Erlang's basic components, such as the features of Beam VM, the OTP structure and the libraries established by the Elixir community, such as Broadway, Libcluster, Horde and Ecto to build a highly efficient, resilient and low memory usage Cloudstate proxy.
TODO
TODO
- Compliance implementation of Cloudstate Protocol
- Automatic Cluster formation
- Transports and Protocols
- GRPC:
- TCP Server
- Unix Domain Sockets (Proxy -> UserFunction)
- Reflection (grpcurl support)
- TLS Support
- HTTP Transcoding
- GRPC:
- Observability:
- Health Checks
- Metrics
- Open Tracing
- Entity State Active Caching
- Cloudstate Protocol Features:
- Discovery Support
- Actions (Stateless Support):
- Unary Requests
- Streamed Requests
- StreamIn Requests
- StreamOut Requests
- Multi Node Forward and Side Effects
- Value Entities
- EventSourced Support:
- Multi Node Forward and Side Effects
- Projections
- CRDT's
- Eventing
- Amazon SQS
- Apache Kafka
- Google PubSub
- RabbitMQ
- Metadata Support
- Massa Specific or Extensions Features:
- Multi Node Forward and Side Effects (proxy-to-proxy communication)
- External Remote Forward and Side Effects (proxy-to-outside communication)
- GraphQL Transcoding
- Keda Integration
- State Stores:
- Mnesia (InMemory/File)
- EventStore
- Postgres
- TCK
- Platforms & Architectures:
TODO