[GoGo Protobuf is Deprecated](https://twitter.com/awalterschulze/status/1584553056100057088)
# [[Deprecated](https://twitter.com/awalterschulze/status/1584553056100057088)] Protocol Buffers for Go with Gadgets
<a href="https://www.youtube.com/watch?v=HTIltI0NuNg&list=PLYwF9EIrl42T3ml_ANaNifOuTQtLxaZgQ&index=3" target="_blank">
<img src="https://img.youtube.com/vi/HTIltI0NuNg/maxres1.jpg" alt="Watch the video" width="480" border="10" />
</a>
[![Build Status](https://github.com/gogo/protobuf/workflows/Continuous%20Integration/badge.svg)](https://github.com/gogo/protobuf/actions)
[![GoDoc](https://godoc.org/github.com/gogo/protobuf?status.svg)](http://godoc.org/github.com/gogo/protobuf)
gogoprotobuf is a fork of <a href="https://github.com/golang/protobuf">golang/protobuf</a> with extra code generation features.
This code generation is used to achieve:
- fast marshalling and unmarshalling
- more canonical Go structures
- goprotobuf compatibility
- less typing by optionally generating extra helper code
- peace of mind by optionally generating test and benchmark code
- other serialization formats
Keeping track of how up to date gogoprotobuf is relative to golang/protobuf is done in this
<a href="https://github.com/gogo/protobuf/issues/191">issue</a>
## Release v1.3.0
The project has updated to release v1.3.0. Check out the release notes <a href="https://github.com/gogo/protobuf/releases/tag/v1.3.0">here</a>.
With this new release comes a new internal library version. This means any newly generated *pb.go files generated with the v1.3.0 library will not be compatible with the old library version (v1.2.1). However, current *pb.go files (generated with v1.2.1) should still work with the new library.
Please make sure you manage your dependencies correctly when upgrading your project. If you are still using v1.2.1 and you update your dependencies, one of which could include a new *pb.go (generated with v1.3.0), you could get a compile time error.
Our upstream repo, golang/protobuf, also had to go through this process in order to update their library version.
Here is a link explaining <a href="https://github.com/golang/protobuf/issues/763#issuecomment-442434870">hermetic builds</a>.
## Users
These projects use gogoprotobuf:
- <a href="http://godoc.org/github.com/coreos/etcd">etcd</a> - <a href="https://blog.gopheracademy.com/advent-2015/etcd-distributed-key-value-store-with-grpc-http2/">blog</a> - <a href="https://github.com/coreos/etcd/blob/master/etcdserver/etcdserverpb/etcdserver.proto">sample proto file</a>
- <a href="https://www.spacemonkey.com/">spacemonkey</a> - <a href="https://www.spacemonkey.com/blog/posts/go-space-monkey">blog</a>
- <a href="http://badoo.com">badoo</a> - <a href="https://github.com/badoo/lsd/blob/32061f501c5eca9c76c596d790b450501ba27b2f/proto/lsd.proto">sample proto file</a>
- <a href="https://github.com/mesos/mesos-go">mesos-go</a> - <a href="https://github.com/mesos/mesos-go/blob/f9e5fb7c2f50ab5f23299f26b6b07c5d6afdd252/api/v0/mesosproto/authentication.proto">sample proto file</a>
- <a href="https://github.com/mozilla-services/heka">heka</a> - <a href="https://github.com/mozilla-services/heka/commit/eb72fbf7d2d28249fbaf8d8dc6607f4eb6f03351">the switch from golang/protobuf to gogo/protobuf when it was still on code.google.com</a>
- <a href="https://github.com/cockroachdb/cockroach">cockroachdb</a> - <a href="https://github.com/cockroachdb/cockroach/blob/651d54d393e391a30154e9117ab4b18d9ee6d845/roachpb/metadata.proto">sample proto file</a>
- <a href="https://github.com/jbenet/go-ipfs">go-ipfs</a> - <a href="https://github.com/ipfs/go-ipfs/blob/2b6da0c024f28abeb16947fb452787196a6b56a2/merkledag/pb/merkledag.proto">sample proto file</a>
- <a href="https://github.com/philhofer/rkive">rkive-go</a> - <a href="https://github.com/philhofer/rkive/blob/e5dd884d3ea07b341321073882ae28aa16dd11be/rpbc/riak_dt.proto">sample proto file</a>
- <a href="https://www.dropbox.com">dropbox</a>
- <a href="https://srclib.org/">srclib</a> - <a href="https://github.com/sourcegraph/srclib/blob/6538858f0c410cac5c63440317b8d009e889d3fb/graph/def.proto">sample proto file</a>
- <a href="http://www.adyoulike.com/">adyoulike</a>
- <a href="http://www.cloudfoundry.org/">cloudfoundry</a> - <a href="https://github.com/cloudfoundry/bbs/blob/d673710b8c4211037805129944ee4c5373d6588a/models/events.proto">sample proto file</a>
- <a href="http://kubernetes.io/">kubernetes</a> - <a href="https://github.com/kubernetes/kubernetes/tree/88d8628137f94ee816aaa6606ae8cd045dee0bff/cmd/libs/go2idl">go2idl built on top of gogoprotobuf</a>
- <a href="https://dgraph.io/">dgraph</a> - <a href="https://github.com/dgraph-io/dgraph/releases/tag/v0.4.3">release notes</a> - <a href="https://discuss.dgraph.io/t/gogoprotobuf-is-extremely-fast/639">benchmarks</a></a>
- <a href="https://github.com/centrifugal/centrifugo">centrifugo</a> - <a href="https://forum.golangbridge.org/t/centrifugo-real-time-messaging-websocket-or-sockjs-server-v1-5-0-released/2861">release notes</a> - <a href="https://medium.com/@fzambia/centrifugo-protobuf-inside-json-outside-21d39bdabd68#.o3icmgjqd">blog</a>
- <a href="https://github.com/docker/swarmkit">docker swarmkit</a> - <a href="https://github.com/docker/swarmkit/blob/63600e01af3b8da2a0ed1c9fa6e1ae4299d75edb/api/objects.proto">sample proto file</a>
- <a href="https://nats.io/">nats.io</a> - <a href="https://github.com/nats-io/go-nats-streaming/blob/master/pb/protocol.proto">go-nats-streaming</a>
- <a href="https://github.com/pingcap/tidb">tidb</a> - Communication between <a href="https://github.com/pingcap/tipb/blob/master/generate-go.sh#L4">tidb</a> and <a href="https://github.com/pingcap/kvproto/blob/master/generate_go.sh#L3">tikv</a>
- <a href="https://github.com/AsynkronIT/protoactor-go">protoactor-go</a> - <a href="https://github.com/AsynkronIT/protoactor-go/blob/master/protobuf/protoc-gen-protoactor/main.go">vanity command</a> that also generates actors from service definitions
- <a href="https://containerd.io/">containerd</a> - <a href="https://github.com/containerd/containerd/tree/master/cmd/protoc-gen-gogoctrd">vanity command with custom field names</a> that conforms to the golang convention.
- <a href="https://github.com/heroiclabs/nakama">nakama</a>
- <a href="https://github.com/src-d/proteus">proteus</a>
- <a href="https://github.com/go-graphite">carbonzipper stack</a>
- <a href="https://sendgrid.com/">sendgrid</a>
- <a href="https://github.com/zero-os/0-stor">zero-os/0-stor</a>
- <a href="https://github.com/spacemeshos/go-spacemesh">go-spacemesh</a>
- <a href="https://github.com/weaveworks/cortex">cortex</a> - <a href="https://github.com/weaveworks/cortex/blob/fee02a59729d3771ef888f7bf0fd050e1197c56e/pkg/ingester/client/cortex.proto">sample proto file</a>
- <a href="http://skywalking.apache.org/">Apache SkyWalking APM</a> - Istio telemetry receiver based on Mixer bypass protocol
- <a href="https://github.com/hyperledger/burrow">Hyperledger Burrow</a> - a permissioned DLT framework
- <a href="https://github.com/iov-one/weave">IOV Weave</a> - a blockchain framework - <a href="https://github.com/iov-one/weave/tree/23f9856f1e316f93cb3d45d92c4c6a0c4810f6bf/spec/gogo">sample proto files</a>
Please let us know if you are using gogoprotobuf by posting on our <a href="https://groups.google.com/forum/#!topic/gogoprotobuf/Brw76BxmFpQ">GoogleGroup</a>.
### Mentioned
- <a href="http://www.slideshare.net/albertstrasheim/serialization-in-go">Cloudflare - go serialization talk - Albert Strasheim</a>
- <a href="https://youtu.be/4xB46Xl9O9Q?t=557">GopherCon 2014 Writing High Performance Databases in Go by Ben Johnson</a>
- <a href="https://github.com/alecthomas/go_serialization_benchmarks">alecthomas' go serialization benchmarks</a>
- <a href="http://agniva.me/go/2017/11/18/gogoproto.html">Go faster with gogoproto - Agniva De Sarker</a>
- <a href="https://www.youtube.
没有合适的资源?快使用搜索试试~ 我知道了~
[Deprecated] Protocol Buffers for Go with Gadgets.zip
共770个文件
go:462个
proto:179个
makefile:87个
需积分: 5 0 下载量 32 浏览量
2023-12-28
20:57:39
上传
评论
收藏 2.45MB ZIP 举报
温馨提示
[Deprecated] Protocol Buffers for Go with Gadgets
资源推荐
资源详情
资源评论
收起资源包目录
[Deprecated] Protocol Buffers for Go with Gadgets.zip (770个子文件)
AUTHORS 562B
CONTRIBUTORS 845B
.gitignore 95B
.gitignore 18B
.gitignore 17B
.gitignore 8B
.gitignore 8B
.gitignore 8B
.gitignore 7B
.gitignore 6B
thetest.pb.go 1.15MB
thetest.pb.go 1.05MB
thetest.pb.go 852KB
thetest.pb.go 748KB
types.pb.go 554KB
thetestpb_test.go 531KB
thetestpb_test.go 531KB
types.pb.go 485KB
thetestpb_test.go 478KB
thetestpb_test.go 478KB
theproto3.pb.go 358KB
types.pb.go 335KB
theproto3.pb.go 328KB
mapsproto2.pb.go 272KB
types.pb.go 266KB
mapsproto2.pb.go 248KB
theproto3.pb.go 240KB
theproto3.pb.go 209KB
mapsproto2.pb.go 173KB
test.pb.go 168KB
one.pb.go 167KB
stdtypes.pb.go 153KB
one.pb.go 153KB
mapsproto2.pb.go 149KB
one.pb.go 147KB
one.pb.go 134KB
unrecognized.pb.go 126KB
descriptor.pb.go 115KB
packed.pb.go 113KB
generator.go 111KB
one.pb.go 107KB
one.pb.go 99KB
casttype.pb.go 97KB
one.pb.go 95KB
casttype.pb.go 92KB
one.pb.go 88KB
example.pb.go 82KB
issue530.pb.go 81KB
table_marshal.go 79KB
type.pb.go 78KB
all_test.go 75KB
casttype.pb.go 74KB
fuzz.pb.go 72KB
theproto3pb_test.go 71KB
theproto3pb_test.go 71KB
casttype.pb.go 69KB
unrecognizedgroup.pb.go 67KB
conformance.pb.go 66KB
theproto3pb_test.go 63KB
theproto3pb_test.go 63KB
wrappers.pb.go 60KB
requiredexample.pb.go 59KB
map.pb.go 58KB
typespb_test.go 58KB
typespb_test.go 58KB
castvalue.pb.go 57KB
unrecognizedpb_test.go 55KB
map.pb.go 55KB
castvalue.pb.go 54KB
table_unmarshal.go 54KB
unmarshal.go 54KB
struct.pb.go 51KB
api.pb.go 51KB
typespb_test.go 51KB
typespb_test.go 51KB
wrappers.go 48KB
castvalue.pb.go 48KB
map.pb.go 47KB
jsonpb_test.go 46KB
examplepb_test.go 46KB
group.pb.go 46KB
castvalue.pb.go 45KB
map.pb.go 44KB
test_objects.pb.go 43KB
unmarshalmerge.pb.go 40KB
jsonpb.go 40KB
deterministic.pb.go 39KB
test.pb.go 36KB
issue530pb_test.go 35KB
marshalto.go 34KB
file.dot.pb.go 33KB
gogo.pb.go 32KB
mapsproto2pb_test.go 28KB
mapsproto2pb_test.go 28KB
lib.go 26KB
xxxfields.pb.go 26KB
populate.go 25KB
mapsproto2pb_test.go 25KB
mapsproto2pb_test.go 25KB
descriptor_gostring.gen.go 25KB
共 770 条
- 1
- 2
- 3
- 4
- 5
- 6
- 8
资源评论
Lei宝啊
- 粉丝: 1979
- 资源: 1330
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功