feat-protobuf #1

Merged
realaravinth merged 15 commits from feat-protobuf into master 2023-12-30 14:24:36 +05:30
Owner

This PR swaps out Actix-Web based JSON networking stack with tonic and protobuf. Protobuf implementation was bootstrapped from databend's metasrv package (Copyright 2023, Apache 2-0) with improvements for health monitoring. metasrv wraps JSON with protobuf, so this patch starts from there. Upon benchmarking, we realized that a pure protobuf implementation is 4x faster, so the JSON dependency was removed from the wire format.

The in-memory implementation of dcache and the efficient wire format exposed a bottleneck in the critical section of libmCaptcha. A fix for this will be uploaded in a later PR.

This PR swaps out Actix-Web based JSON networking stack with tonic and protobuf. Protobuf implementation was bootstrapped from databend's [metasrv package (Copyright 2023, Apache 2-0)](https://github.com/datafuselabs/databend/tree/6603392a958ba8593b1f4b01410bebedd484c6a9/metasrv) with improvements for health monitoring. `metasrv` wraps JSON with protobuf, so this patch starts from there. Upon benchmarking, we realized that a pure protobuf implementation is 4x faster, so the JSON dependency was removed from the wire format. The in-memory implementation of dcache and the efficient wire format exposed a bottleneck in the critical section of libmCaptcha. A fix for this will be uploaded in a later PR.
realaravinth self-assigned this 2023-12-26 15:15:05 +05:30
realaravinth added 3 commits 2023-12-26 15:15:05 +05:30
ci/woodpecker/push/woodpecker Pipeline failed Details
70ef43b720
feat: use protobuf for RPC
ci/woodpecker/push/woodpecker Pipeline failed Details
a2dd2c31f6
feat: add protobuf bench
ci/woodpecker/push/woodpecker Pipeline failed Details
ci/woodpecker/pr/woodpecker Pipeline failed Details
ba9694b31f
chore: cleanup deadcode from REST impl
realaravinth added 2 commits 2023-12-27 19:48:57 +05:30
ci/woodpecker/push/woodpecker Pipeline failed Details
ci/woodpecker/pr/woodpecker Pipeline failed Details
4446cd83bd
feat: python grpc test client
realaravinth added 2 commits 2023-12-28 14:24:31 +05:30
ci/woodpecker/pr/woodpecker Pipeline is pending Details
ci/woodpecker/push/woodpecker Pipeline failed Details
337f89f25a
feat: use grpc within locust
realaravinth added 4 commits 2023-12-28 14:24:53 +05:30
realaravinth added 3 commits 2023-12-30 14:09:44 +05:30
ci/woodpecker/push/woodpecker Pipeline failed Details
a288450721
feat: batch RPC
ci/woodpecker/push/woodpecker Pipeline failed Details
ci/woodpecker/pr/woodpecker Pipeline failed Details
59b847b740
feat: bench pipeline implementaion
realaravinth added 1 commit 2023-12-30 14:18:19 +05:30
ci/woodpecker/push/woodpecker Pipeline was successful Details
ci/woodpecker/pr/woodpecker Pipeline was successful Details
ci/woodpecker/pull_request_closed/woodpecker Pipeline was successful Details
01d4c2fce3
feat: install protoc
realaravinth merged commit b4469e03d0 into master 2023-12-30 14:24:36 +05:30
Sign in to join this conversation.
No reviewers
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: mCaptcha/dcache#1
No description provided.