Add storage_broker binary.

Which ought to replace etcd. This patch only adds the binary and adjusts
Dockerfile to include it; subsequent ones will add deploy of helm chart and the
actual replacement.

It is a simple and fast pub-sub message bus. In this patch only safekeeper
message is supported, but others can be easily added.

Compilation now requires protoc to be installed. Installing protobuf-compiler
package is fine for Debian/Ubuntu.

ref
https://github.com/neondatabase/neon/pull/2733
https://github.com/neondatabase/neon/issues/2394
This commit is contained in:
Arseny Sher
2022-11-16 08:04:51 +04:00
committed by Arseny Sher
parent aee3eb6d19
commit 2d42f84389
19 changed files with 1198 additions and 20 deletions

37
storage_broker/Cargo.toml Normal file
View File

@@ -0,0 +1,37 @@
[package]
name = "storage_broker"
version = "0.1.0"
edition = "2021"
[features]
bench = []
[dependencies]
async-stream = "0.3"
bytes = "1.0"
clap = { version = "4.0", features = ["derive"] }
futures = "0.3"
futures-core = "0.3"
futures-util = "0.3"
git-version = "0.3.5"
humantime = "2.1.0"
hyper = {version = "0.14.14", features = ["full"]}
once_cell = "1.13.0"
parking_lot = "0.12"
prost = "0.11"
tonic = "0.8"
tokio = { version = "1.0", features = ["macros", "rt-multi-thread"] }
tokio-stream = "0.1"
tracing = "0.1.27"
metrics = { path = "../libs/metrics" }
utils = { path = "../libs/utils" }
workspace_hack = { version = "0.1", path = "../workspace_hack" }
[build-dependencies]
tonic-build = "0.8"
[[bench]]
name = "rps"
harness = false