An open API service indexing awesome lists of open source software.

https://github.com/mosuka/bayard-proto


https://github.com/mosuka/bayard-proto

buffers protocol

Last synced: 2 months ago
JSON representation

Awesome Lists containing this project

README

        

# bayard-proto

[![Join the chat at https://gitter.im/bayard-search/bayard](https://badges.gitter.im/bayard-search/bayard.svg)](https://gitter.im/bayard-search/bayard?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)

Bayard is a full-text search and indexing server written in [Rust](https://www.rust-lang.org/) built on top of [Tantivy](https://github.com/tantivy-search/tantivy) that implements [Raft Consensus Algorithm](https://raft.github.io/) and [gRPC](https://grpc.io/).
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

```shell script
$ cargo install protobuf-codegen
$ cargo install grpcio-compiler --version=0.4.3
```

### Install protoc-gen-grpc-web

```shell script
$ 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

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

## Generate code

### Rust

```shell script
$ ./protoc_rust.sh
```

### gRPC-Web (JavaScript)

```shell script
$ ./protoc_grpc-web.sh
```

### Go

```shell script
$ ./protoc_go.sh
```

## Build

```
% make build
```