DARP
Кілька років не дивився на Darp, а він за цей час, виявляється, стабілізувався та активно розвивався. Тепер у нього навіть додали простий проксі для LLM.
Для тих, хто не знайомий, Darp — це готовий прикладний шар у вигляді sidecar-контейнерів. Дозволяє командам не писати прикладний шар, а використовувати готові компоненти, розплачуючись необхідністю навчання та невеликим overhead’ом (5-10% CPU, 5-10 Mb пам’яті та 5-10 ms latency на gRPC).
Реалізує API:
- Service Invocation: Прямі, захищені виклики «сервіс-до-сервісу» (HTTP/gRPC)
- Publish & Subscribe Messaging: Асинхронні події між сервісами через брокери (> 10 варіантів брокерів)
- Workflow: Довготривалі оркестрації та саги між мікросервісами
- State Management: Зберігання/запит key-value-стану з підтримкою TTL та транзакцій (> 20 варіантів сховищ)
- Bindings: Прийом/надсилання даних від зовнішніх систем за подіями
- Actors: Модель віртуальних акторів (активний об’єктний стан)
- Secrets Management: Безпечне отримання секретів із зовнішніх сховищ
- Configuration: Читання та live-підписка на зміни конфігурації застосунків
- Distributed Lock: Взаємовиключний доступ до ресурсів з lease-механізмом
- Cryptography: Криптографічні операції (KMS, підпис, шифрування) без розкриття ключів
- Jobs: Планування та оркестрація фонових/періодичних завдань
- Conversation: Абстракція prompt-based взаємодії з LLM-провайдерами