• Stars
    star
    141
  • Rank 259,971 (Top 6 %)
  • Language
    Go
  • License
    Apache License 2.0
  • Created almost 2 years ago
  • Updated 4 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Dynamically and efficiently operate RPC data for Go

Dynamic-Go

Dynamically operating data for Go. Aiming at reducing serialization/deserializtion process thus it can be fast as much as possible.

Introduction

Dynamic-Go for Thrift protocol: introduction.md.

Dynamic-Go for Protobuf protocol: introduction.md

Usage

thrift

Thrift IDL parser and message operators. It can parse thrift IDL in runtime and handle thrift data in generic way. DOC

thrift/generic

Reflection APIs to search, modify, deserialize, serialize thrift value with or without runtime type descriptor. DOC

thrift/base

The meta data about message transportation, including caller, address, log-id, etc. It is mainly used for conv (protocol convertion) modules.

thrift/annotation

Built-in implementation of thrid-party annotations, see thrift_idl_annotation_standards. They are mainly used for conv (protocol convertion) modules.

proto

Protobuf IDL parser and message operators. It can parse protobuf IDL in runtime and handle protobuf data in generic way. DOC

proto/generic

Reflection APIs to search, modify, deserialize, serialize protobuf value with or without runtime descriptor. DOC

proto/protowire

Protobuf data encode and decode APIs. It parses and formats the low-level raw wire encoding. It is modified from Protobuf official code encoding/protowire. DOC

proto/binary

BinaryProtocol tool for Protobuf Protocol. It can read, wirte and skip fields directly on binary data of protobuf message. DOC

http

Http request/response wrapper interfaces. They are mainly used to pass http values on http<>thrift conversion. DOC

conv

Protocol convertors. Based on reflecting ability of thrift, json and protobuf(WIP) modules, it can convert message from one protocol into another.

conv/j2t

Convert JSON value or JSON-body HTTP request into thrift message. DOC

conv/t2j

Convert thrift message to JSON value or JSON-body HTTP response. DOC

conv/j2p

Convert JSON value into protobuf message. DOC

conv/p2j

Convert protobuf message into JSON value. DOC

Requirements

  • Go 1.16~1.20
  • Amd64 arch CPU

More Repositories

1

kitex

Go RPC framework with high-performance and strong-extensibility for building micro-services.
Go
6,844
star
2

netpoll

A high-performance non-blocking I/O networking framework, which focused on RPC scenarios, developed by ByteDance.
Go
2,325
star
3

volo

Rust RPC framework with high-performance and strong-extensibility for building micro-services.
Rust
2,176
star
4

hertz

A high-performance and strong-extensibility Go HTTP framework that helps developers build microservices.
Go
1,161
star
5

goref

Go heap object reference analysis tool
Go
541
star
6

sonic-rs

A fast Rust JSON library based on SIMD.
Rust
379
star
7

shmipc-go

A high performance inter-process communication golang library developed by CloudWeGo
Go
348
star
8

biz-demo

Business Demo for CloudWeGo
Go
146
star
9

pilota

A thrift and protobuf implementation in pure rust with high performance and extensibility.
Rust
120
star
10

frugal

A very fast dynamic Thrift serializer & deserializer.
Go
112
star
11

cwgo

An all-in-one code generation tool for CloudWeGo
Go
102
star
12

thriftgo

An implementation of thrift compiler in go language.
Go
99
star
13

cloudwego.github.io

Website for CloudWeGo
JavaScript
59
star
14

kitex-examples

Go
50
star
15

netpoll-http2

Go
43
star
16

kitex-benchmark

Go
31
star
17

netpoll-benchmark

Go
18
star
18

hertz-examples

Examples for Hertz.
Go
18
star
19

localsession

transparently transmit context within or between goroutines
Go
18
star
20

configmanager

Go
10
star
21

kitex-tests

Tests for cloudwego/kitex
Go
2
star
22

netpoll-examples

Go
2
star
23

thrift-gen-validator

thrift-gen-validator is a thriftgo plugin to generate struct validators.
Go
2
star
24

.github

1
star
25

community

Governance and community material for CloudWeGo and its open source sub-projects
1
star
26

gopkg

Go
1
star