Пару години не бях поглеждал Darp, а той за това време, оказва се, се е стабилизирал и активно се е развивал.

За тези, които не са запознати, Darp е готов приложен слой под формата на sidecar контейнери. Позволява на екипите да не пишат приложния слой, а да използват готови компоненти, като се заплаща с необходимост от обучение и малък overhead (5-10% cpu, 5-10 Mb памет и 5-10 ms latency за gRPC).

Реализира API:

  • Service Invocation: Директни, защитени повиквания „service-to-service“ (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: Планиране и оркестрация на фонови/периодични задачи
  • Workflow: Дългоживеещи оркестрации и саги между микросервиси
  • State Management: Съхранение/заявки на key-value състояние с поддръжка на TTL и транзакции
  • Bindings: Приемане/изпращане на данни от външни системи по събития
  • Actors: Модел на виртуални актьори (активно обектно състояние)
  • Secrets Management: Безопасно извличане на тайни от външни хранилища
  • Configuration: Четене и live-абонамент за промени в конфигурацията на приложенията
  • Distributed Lock: Взаимоизключващ достъп до ресурси с lease-механизъм
  • Cryptography: Криптографски операции (KMS, подпис, шифриране) без разкриване на ключове
  • Jobs: Планиране и оркестрация на фонови/периодични задачи
  • Conversation: Абстракция за prompt-based взаимодействие с LLM доставчици