DARP
I haven’t looked at DARP for a couple of years, and it turns out it has stabilized and actively developed during that time. Now it even includes a simple proxy for LLM.
For those who are not familiar, DARP is a ready-made application layer in the form of sidecar containers. It allows teams not to write the application layer but to use ready-made components, paying the price of necessary training and a small overhead (5-10% CPU, 5-10 MB memory, and 5-10 ms latency on gRPC).
It implements the following APIs:
- Service Invocation: Direct, secure service-to-service calls (HTTP/gRPC)
- Publish & Subscribe Messaging: Asynchronous events between services through brokers (> 10 broker options)
- Workflow: Long-lived orchestrations and sagas between microservices
- State Management: Storage/request of key-value state with TTL and transaction support (> 20 storage options)
- Bindings: Receiving/sending data from external systems by events
- Actors: Virtual actors model (active object state)
- Secrets Management: Secure retrieval of secrets from external stores
- Configuration: Reading and live subscription to application configuration changes
- Distributed Lock: Mutual exclusion access to resources with lease mechanism
- Cryptography: Cryptographic operations (KMS, signing, encryption) without key disclosure
- Jobs: Scheduling and orchestration of background/periodic tasks
- Conversation: Abstraction of prompt-based interaction with LLM providers