A Light Golang RPC Framework

Related tags

Network grpc glory
Overview

Glory

Glory框架为一款Go语言的轻量级RPC框架,您可以使用它快速开发你的服务实例。如果您希望在微服务场景下使用gRPC进行网络通信,那么Glory会使您的开发、运维工作量减轻不少。

欢迎访问Glory主页: glory-go.github.io

示例仓库:github.com/glory-go/glory-demo

Glory提供以下能力:

  • 通信协议:Glory框架提供gRPC(client端和server端)、HTTP(server端)、Websocket(server端)脚手架,你可以通过几行配置和几行代码快速开启多个gRPC或HTTP服务。

  • 配置:Glory框架提供统一化的配置服务,您只需要在main文件同级目录config文件夹下定义glory.yaml,在配置文件内按照约定格式写入配置信息,在引入框架后执行时,框架会自动读入配置文件,并开启所需服务。

    您也可以选择从nacos 配置中心拉取当前服务所需配置。

  • 日志:Glory框架提供日志支持,您可以在配置文件中定义自己需要的日志记录方式。支持命令行、文件、远程(基于elastic、阿里云sls)的日志收集方式。

  • 链路追踪:glory框架提供适配于 gRPC 的链路追踪服务,你可以选择将服务调用链路上报至本地jaeger或阿里云链路追踪平台进行监控和错误追溯。

  • 数据上报:glory框架提供基于Promethus的数据上报服务,你可以在配置文件中定义自己需要的数据上报方式,同时支持基于promethus-pushgateway的推模式数据上报。

  • 第三方工具常用sdk支持:glory框架提供mysql、redis、mongodb、rabbitmq等常见工具的sdk封装,开发者可以在配置中引入服务,使用框架提供的sdk进行快速开发。

  • 服务治理:Glory框架提供基于K8s、Nacos的服务发现机制,可以在k8s集群中自动进行Glory-gRPC服务实例的注册、发现和负载均衡。

如果您觉得不错的话麻烦留下一颗星星

Issues
  • fix gorm sql parameter not auto clean

    fix gorm sql parameter not auto clean

    FIXBUG #13 Delete db := db.Table(model.TableName()) Exposition: Although the return value of the db.Table(model.TableName()) is of type *gorm.DB, it is different from db. In fact, this return value is called tx in Gorm source code. tx will continuously accumulate SQL parameters instead of being cleared after execution. For example, when you first query id = 1 and then want to query id = 2, the program using tx will execute id = 1 AND id = 2.

    opened by kiankw 1
  • [Bug] Mysql 'update' and 'delete' API.

    [Bug] Mysql 'update' and 'delete' API.

    opened by LaurenceLiZhixin 1
  • [BUG] HTTP Panic recover catched error is printed by []byte but not string

    [BUG] HTTP Panic recover catched error is printed by []byte but not string

    refer to https://github.com/glory-go/glory/blob/2bd71b0b8fa62ae3c46595580e755805a83b6730/http/register.go#L49

    The log is []byte, which is un-readable.

    opened by LaurenceLiZhixin 1
Antenna RPC is an RPC protocol for distributed computing, it's based on QUIC and Colfer. its currently an WIP.

aRPC - Antenna Remote Procedure Call Antenna remote procedure call (aRPC) is an RPC protocol focused on distributed processing and HPC. aRPC is implem

Raphael de Carvalho Almeida 3 Jun 16, 2021
rpc/v2 support for JSON-RPC 2.0 Specification.

rpc rpc/v2 support for JSON-RPC 2.0 Specification. gorilla/rpc is a foundation for RPC over HTTP services, providing access to the exported methods of

High Performance, Kubernetes Native Object Storage 3 Jul 4, 2021
Go Substrate RPC Client (GSRPC)Go Substrate RPC Client (GSRPC)

Go Substrate RPC Client (GSRPC) Substrate RPC client in Go. It provides APIs and types around Polkadot and any Substrate-based chain RPC calls. This c

Chino Chang 1 Nov 11, 2021
Snugger is a light weight but fast network recon scanner that is written from pure golang

Snugger is a light weight but fast network recon scanner that is written from pure golang. with this scann you can ARP your network, port scan hosts and host lists, as well as scan for BSSId

RE43P3R 2 May 19, 2022
Light weight http rate limiting proxy

Introduction Light weight http rate limiting proxy. The proxy will perform rate limiting based on the rules defined in the configuration file. If no r

DHIS2 Platform Engineering 11 Apr 22, 2022
A light-weight and sexy HTTP proxy server.

A light-weight and sexy HTTP proxy server. This is a reverse-proxy server meant to be hoested online. Once hosted, webpages through the HTTP and HTTPS

1/7 0 Feb 13, 2022
GoAvaxLightClient - Go Avax Light Client

Go Avax Light Client This client currently only implements part of the network l

null 1 Feb 17, 2022
EasyNet - A light net library with epoll

easyNet - NON BLOCKING IO Examples echo-server package main import ( "fmt" "g

Dub Dub 5 Mar 3, 2022
A simple RPC framework with protobuf service definitions

Twirp is a framework for service-to-service communication emphasizing simplicity and minimalism. It generates routing and serialization from API defin

Twitch 5.9k Aug 1, 2022
Netpoll is a high-performance non-blocking I/O networking framework, which focused on RPC scenarios, developed by ByteDance.

Netpoll is a high-performance non-blocking I/O networking framework, which focused on RPC scenarios, developed by ByteDance. RPC is usually heavy on processing logic and therefore cannot handle I/O serially. But Go's standard library net designed blocking I/O API, so that the RPC framework can only follow the One Conn One Goroutine design.

CloudWeGo 2.9k Aug 5, 2022
Fast and Scalable RPC Framework

Rony (Fast and Scalable RPC Framework) About Rony lets you create a clustered aware service easily. Checkout Wiki Performance Rony is very fast and wi

Ronak Software Group 40 Jun 13, 2022
A local meetup to show some of the features of the Twirp RPC framework

twirpdemo This repo was created for a local meetup to show some of the features of the Twirp RPC framework. Usage Generate proto code: protoc --twirp

Fatih Arslan 31 Jul 21, 2022
Gbio - Extremely minimalist RPC framework - Go but interface only

gbio !!! ?? WIP ?? !!! Go but interface only. gbio is a(n): Extremely minimalist

ANQUR 3 Jan 3, 2022
Simple, fast and scalable golang rpc library for high load

gorpc Simple, fast and scalable golang RPC library for high load and microservices. Gorpc provides the following features useful for highly loaded pro

Aliaksandr Valialkin 652 Jul 24, 2022
Golang `net/rpc` over SSH using installed SSH program

Golang net/rpc over SSH using installed SSH program This package implements a helper functions to launch an RPC client and server. It uses the install

null 0 Nov 5, 2021
Golang based RPC client to communicate with Metasploit

gomsf Golang based RPC client to communicate with Metasploit https://docs.rapid7.com/metasploit/rpc-api ⚠️ This is experimental and subject to breakin

Frank Hübner 5 Jul 14, 2022
Golang implementation of JSON-RPC 2.0 server with generics

JSON-RPC 2.0 Golang implementation of JSON-RPC 2.0 server with generics. Go 1.18+ required Features: Batch request and responses WebSockets Usage Crea

Alex 15 Aug 3, 2022
🧙 High-performance PHP-to-Golang IPC/RPC bridge

High-performance PHP-to-Golang IPC bridge Goridge is high performance PHP-to-Golang codec library which works over native PHP sockets and Golang net/r

RoadRunner 1.1k Jul 30, 2022
A protoc-gen-go wrapper including an RPC stub generator

// Copyright 2013 Google. All rights reserved. // // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE fi

Kyle Lemons 36 Nov 5, 2021