Implementación en Java de Apache Dubbo, un framework de RPC y microservicios para crear comunicación, descubrimiento y gestión del tráfico entre servicios.
smallnest/rpcx
Framework RPC para Go orientado a crear microservicios, con descubrimiento de servicios extensible, varios transportes y codecs, y acceso desde otros lenguajes mediante HTTP.
- Estrellas
- 8,319
- Forks
- 1,173
- Issues abiertos
- 4
- Último commit
- hace 2 meses
¿Qué es?
rpcx es un framework RPC escrito en Go, inspirado en Alibaba Dubbo, que permite dividir aplicaciones en servicios que se comunican entre sí a través de la red. Es posible exponer funciones de Go directamente como métodos RPC, sin escribir archivos proto, y los clientes pueden invocarlas con una API sencilla que incluye opciones de balanceo de carga y failover.
El framework admite los transportes TCP, HTTP, QUIC y KCP, y codecs como JSON, Protobuf, MessagePack y bytes sin procesar. El descubrimiento de servicios puede configurarse mediante peer-to-peer, zookeeper, etcd, consul o mDNS, y el balanceo de carga ofrece estrategias aleatorias, round-robin, de hashing consistente, ponderadas y otras. También es posible llamar a los servicios desde otros lenguajes mediante una pasarela HTTP, y hay implementaciones para Java y Rust.
Incluye funciones como autorización, transmisión de metadatos, compresión, heartbeats, comunicación bidireccional y solicitudes de respaldo. Algunos plugins, como etcd, zookeeper y consul, se trasladaron a repositorios independientes a partir de la versión 1.7.6.
Funciones clave
- 01Convierte métodos Go estándar en endpoints RPC sin archivos proto.
- 02Admite los transportes TCP, HTTP, QUIC y KCP.
- 03Ofrece codecs JSON, Protobuf, MessagePack y de bytes sin procesar.
- 04Permite descubrir servicios mediante peer-to-peer, zookeeper, etcd, consul o mDNS.
- 05Incluye estrategias de balanceo de carga y modos de tolerancia a fallos failover, failfast y failtry.
Casos de uso
- Dividir un backend Go en microservicios que se comunican entre sí mediante RPC.
- Permitir que servicios escritos en otros lenguajes llamen a servicios Go a través de la pasarela HTTP.
- Desarrollar comunicación interna entre servicios que requiera descubrimiento de servicios y balanceo de carga.
En colecciones
Temas
Preguntas frecuentes
- ¿Qué es rpcx?
- Framework RPC para Go orientado a crear microservicios, con descubrimiento de servicios extensible, varios transportes y codecs, y acceso desde otros lenguajes mediante HTTP. rpcx es un framework RPC escrito en Go, inspirado en Alibaba Dubbo, que permite dividir aplicaciones en servicios que se comunican entre sí a través de la red. Es posible exponer funciones de Go directamente como métodos RPC, sin escribir archivos proto, y los clientes pueden invocarlas con una API sencilla que incluye opciones de balanceo de carga y failover.
- ¿rpcx es gratuito? ¿Qué licencia tiene?
- rpcx es open source bajo la licencia Other. Revisa los términos de la licencia antes de usarlo en productos comerciales.
- ¿rpcx sigue mantenido?
- Actualizado en los últimos 6 meses. El último commit de rpcx fue el 3 sept 2026.
- ¿Para qué puedo usar rpcx?
- Dividir un backend Go en microservicios que se comunican entre sí mediante RPC. Permitir que servicios escritos en otros lenguajes llamen a servicios Go a través de la pasarela HTTP. Desarrollar comunicación interna entre servicios que requiera descubrimiento de servicios y balanceo de carga.
- ¿Dónde consigo rpcx?
- El código fuente y las instrucciones de instalación están en GitHub: https://github.com/smallnest/rpcx
Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.
Proyectos relacionados
Implementación de Spring Cloud que integra aplicaciones Spring Cloud con Polaris de Tencent para el descubrimiento y la gobernanza de servicios.
Gateway de API basado en Java para la proxy de servicios, la conversión de protocolos y la gobernanza de API, con una cadena de plugins y una consola Admin central.
Un framework de Go para sistemas distribuidos que incluye RPC, descubrimiento de servicios, mensajería, almacenamiento y configuración, además de agentes, herramientas y workflows.
Plataforma de código abierto para el descubrimiento dinámico de servicios y la gestión dinámica de configuraciones y metadatos de servicios en sistemas nativos de la nube y de microservicios.
Starter de Spring Boot que ejecuta servidores y clientes gRPC a partir de anotaciones como @GrpcService y @GrpcClient, sin configurar manualmente canales ni servidores.