Sobre el proyecto
SEKIRO es una plataforma de publicación de servicios distribuida, multilingüe e independiente de la topología de red. Los desarrolladores escriben manejadores en sus propios lenguajes de programación y publican esas capacidades en un mercado central de APIs; los sistemas empresariales luego consumen capacidades de nodos remotos a través de RPC (Llamada a Procedimiento Remoto).
Posicionamiento
El proyecto se describe a sí mismo como un marco RPC, pero no uno convencional. Los marcos RPC de backend típicos (Dubbo, Spring Cloud, gRPC) descomponen módulos empresariales complejos y escalan los cuellos de botella de una sola máquina a través de clústeres dentro de un centro de datos. SEKIRO, en cambio, se enfoca en exponer capacidades desde entornos de contexto restringido, donde un proveedor de servicios se ejecuta en algún lugar inconveniente para redesplegarse como un servicio interno normal, pero el negocio necesita usar esa capacidad.
Escenarios de ejemplo dados en el README:
- Algoritmos de cifrado que se ejecutan dentro de un programa cliente donde la ingeniería inversa está incompleta; el código puede inyectarse vía SEKIRO y el algoritmo publicarse como una API.
- Datos restringidos que solo pueden usarse dentro de la intranet de una organización (por ejemplo, verificados por IP de origen), mientras que servicios externos aún necesitan llamarlos.
- Programas de aplicación o terminal con capacidades orientadas al consumidor que el negocio B-end quiere reutilizar, reenviando parámetros a la aplicación como un proxy (descrito como rastreo RPC en la industria de los rastreadores).
- Protección de capacidades de servicio, donde un proveedor quiere que otros usen una capacidad sin entregar código ni filtrar detalles de la máquina como direcciones IP.
- Entornos de cómputo complejos que no pueden desplegarse fácilmente en servicios externos, alojados como una API en un entorno disponible y exportados.
Flujo de trabajo central
1. Se despliega un servidor central (el servicio central de SEKIRO) para que tanto consumidores como proveedores puedan conectarse.
2. Existen clientes en varios lenguajes (Java, JavaScript, Python y otros), que implementan la comunicación con el servidor central y el encapsulamiento de la API.
3. Los usuarios escriben manejadores en su lenguaje usando la API del cliente SEKIRO para aceptar parámetros y reenviar llamadas a la capacidad local real.
4. Los usuarios externos llaman a la API del servicio central, que reenvía al manejador del cliente correspondiente y devuelve el resultado a través del enlace original.
Compilación y ejecución
- Instalar Java y Maven.
- En Linux/Mac ejecutar el script `build_demo_server.sh` para producir `target/sekiro-open-demo.zip`.
- Ejecutar `bin/sekiro.sh` o `bin/sekiro.bat`.
- La documentación se sirve en `http://127.0.0.1:5612/sekiro-doc` cuando se despliega localmente.
Recursos
- Documentación: http://sekiro.iinti.cn/sekiro-doc/
- Código de muestra para varios lenguajes: https://github.com/yint-tech/sekiro-samples
- Descarga del paquete de instalación: https://oss.iinti.cn/sekiro/sekiro-open
- Inicio rápido: https://sekiro.iinti.cn/sekiro-doc/01_manual/1.quickstart.html
El README también menciona una oferta de servicio comercial que incluye autenticación, gestión de APIs, agrupación distribuida, balanceo de carga y funcionalidad entre lenguajes.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.