#grpc #protobuf #bayard

bayard-proto

Protocol Buffers for Bayard

10 unstable releases (3 breaking)

0.8.2 Nov 7, 2020
0.8.1 Aug 28, 2020
0.8.0 May 8, 2020
0.7.4 May 2, 2020
0.1.0 Feb 27, 2020

#1254 in Database interfaces

32 downloads per month
Used in 4 crates (2 directly)

MIT license

615KB
13K SLoC

Rust 5K SLoC // 0.1% comments JavaScript 4K SLoC // 0.4% comments Go 3.5K SLoC // 0.0% comments Shell 38 SLoC // 0.1% comments

bayard-proto

Join the chat at https://gitter.im/bayard-search/bayard License: MIT

Bayard is a full-text search and indexing server written in Rust built on top of Tantivy that implements Raft Consensus Algorithm and gRPC.
Achieves consensus across all the nodes, ensures every change made to the system is made to a quorum of nodes.
Bayard makes easy for programmers to develop search applications with advanced features and high availability.

Requirement

The following products are required to build:

  • Rust >= 1.39.0
  • make >= 3.81
  • protoc >= 3.9.2

Install protoc-gen-rust

$ cargo install protobuf-codegen
$ cargo install grpcio-compiler --version=0.4.3

Install protoc-gen-grpc-web

$ curl -o /usr/local/bin/protoc-gen-grpc-web -L https://github.com/grpc/grpc-web/releases/download/1.2.1/protoc-gen-grpc-web-1.2.1-darwin-x86_64
$ chmod +x /usr/local/bin/protoc-gen-grpc-web

ls

Install protoc-gen-go

$ go get -u github.com/golang/protobuf/protoc-gen-go

Generate code

Rust

$ ./protoc_rust.sh

gRPC-Web (JavaScript)

$ ./protoc_grpc-web.sh

Go

$ ./protoc_go.sh

Build

% make build

Dependencies

~29MB
~588K SLoC