1 repositorio
Mechanisms for exchanging interface implementations between two processes to support callbacks and shared behavior.
Distinct from Interface-to-Implementation Bindings: Distinct from Interface-to-Implementation Bindings: focuses on dynamic exchange across process boundaries for callbacks, not static DI mappings.
Explore 1 awesome GitHub repository matching software engineering & architecture · Bidirectional Interface Exchanges. Refine with filters or upvote what's useful.
go-plugin es un framework para implementar arquitecturas de plugins donde las extensiones se ejecutan como procesos separados y se comunican a través de un sistema de plugins RPC de Go. Funciona como una librería de comunicación entre procesos (IPC) y gestor de ciclo de vida que permite a las aplicaciones anfitrionas descubrir, lanzar y monitorear plugins binarios externos. El framework permite sistemas de plugins entre lenguajes, permitiendo que los plugins escritos en diferentes lenguajes se integren con un anfitrión a través de protocolos RPC estandarizados. Cuenta con un puente RPC bidireccional que permite tanto al anfitrión como al plugin intercambiar implementaciones de interfaz para el intercambio de datos complejos y callbacks. El sistema proporciona aislamiento de procesos ejecutando plugins como subprocesos independientes, asegurando que los bloqueos de los plugins no terminen la aplicación anfitriona. Cubre la seguridad mediante autenticación TLS mutua y verificación de integridad, así como la orquestación del ciclo de vida, incluida la reconexión de procesos con estado para mantener la conectividad durante las actualizaciones del anfitrión. Las capacidades adicionales incluyen descubrimiento binario, versionado de protocolos y la sincronización de registros y flujos de salida del plugin de vuelta al anfitrión.
Implements a bidirectional RPC bridge allowing hosts and plugins to exchange interface implementations for complex callbacks.