Repolode
smallnest

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