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-провайдерами