Repolode
sogou

sogou/srpc

Framework RPC para C++ basado en el motor Workflow de Sogou, compatible con los protocolos SRPC, bRPC, Thrift y tRPC en Linux, macOS y Windows.

Estrellas
2,142
Forks
410
Issues abiertos
34
Último commit
hace 13 días

¿Qué es?

SRPC es un framework RPC escrito en C++ sobre la biblioteca Workflow de Sogou. Admite varios protocolos de transferencia (SRPC, bRPC, Thrift y tRPC) y acepta definiciones IDL de Protobuf o Thrift, a partir de las cuales genera código para los stubs de cliente y servidor.

Además de las llamadas básicas, admite los formatos de datos JSON, Protobuf y binario de Thrift; compresión con gzip, zlib, snappy y lz4; y transportes tcp, udp, sctp y TLS. El acceso HTTP+JSON permite que clientes en cualquier lenguaje llamen a un servicio mediante HTTP sin cifrar. Las solicitudes se pueden combinar con las primitivas de series y paralelismo de Workflow. El framework también incluye módulos AOP que envían trazas a OpenTelemetry y métricas a OpenTelemetry o Prometheus.

Funciones clave

  • 01Admite los protocolos SRPC, bRPC, Thrift y tRPC.
  • 02Acepta IDL de Protobuf y Thrift y genera stubs.
  • 03Ofrece HTTP+JSON para que clientes en cualquier lenguaje puedan llamar a los servicios.
  • 04Comprime las cargas útiles con gzip, zlib, snappy o lz4.
  • 05Envía trazas a OpenTelemetry y métricas a Prometheus.

Casos de uso

  • Crear microservicios internos de alto rendimiento en C++.
  • Permitir que servicios bRPC o tRPC interoperan con una base de código basada en Workflow.
  • Exponer un servicio RPC mediante HTTP+JSON para clientes en otros lenguajes.
  • Añadir trazas de OpenTelemetry y métricas de Prometheus a servicios en C++.

Inicio rápido

  1. 1

    Instala srpc desde el código fuente o como paquete del sistema siguiendo la guía de instalación

  2. 2

    Genera código C++ a partir de example.proto

    protoc example.proto --cpp_out=./ --proto_path=./
  3. 3

    Compila el servidor (Linux)

    g++ -o server server.cc example.pb.cc -std=c++11 -lsrpc
  4. 4

    Inicia el servidor y ejecuta el cliente en otra terminal

    ./server

Antes de usarlo

  • Los comandos de compilación de la guía de inicio rápido solo cubren Linux; en otros sistemas se necesita la configuración de cmake indicada en el tutorial.
  • El README no incluye ningún comando de instalación mediante un gestor de paquetes, así que debes compilar desde el código fuente o usar un paquete del sistema.

En colecciones

Temas

Preguntas frecuentes

¿Qué es srpc?
Framework RPC para C++ basado en el motor Workflow de Sogou, compatible con los protocolos SRPC, bRPC, Thrift y tRPC en Linux, macOS y Windows. SRPC es un framework RPC escrito en C++ sobre la biblioteca Workflow de Sogou. Admite varios protocolos de transferencia (SRPC, bRPC, Thrift y tRPC) y acepta definiciones IDL de Protobuf o Thrift, a partir de las cuales genera código para los stubs de cliente y servidor.
¿srpc es gratuito? ¿Qué licencia tiene?
srpc es open source bajo la licencia Apache-2.0. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿srpc sigue mantenido?
Mantenimiento activo. El último commit de srpc fue el 24 oct 2026.
¿Para qué puedo usar srpc?
Crear microservicios internos de alto rendimiento en C++. Permitir que servicios bRPC o tRPC interoperan con una base de código basada en Workflow. Exponer un servicio RPC mediante HTTP+JSON para clientes en otros lenguajes. Añadir trazas de OpenTelemetry y métricas de Prometheus a servicios en C++.
¿Cómo se instala srpc?
Instala srpc desde el código fuente o como paquete del sistema siguiendo la guía de instalación Genera código C++ a partir de example.proto: protoc example.proto --cpp_out=./ --proto_path=./ Compila el servidor (Linux): g++ -o server server.cc example.pb.cc -std=c++11 -lsrpc Inicia el servidor y ejecuta el cliente en otra terminal: ./server
¿Dónde consigo srpc?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/sogou/srpc

Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.

Proyectos relacionados