Apache Dubbo Rust implementation

Clone this repo:
  1. 207bfe1 Merge pull request #44 from apache/v0.2.0-release by ken.lj · 6 days ago main
  2. cd34a95 bump version to 0.2.0 by chickenlj · 6 days ago v0.2.0
  3. bb8b794 prepare for release, add LICENSE and NOTICE files by chickenlj · 6 days ago
  4. dc17b83 Fix examples and release first version #41 by ken.lj · 7 days ago v0.1.0
  5. 29c9d1f setup-protoc by luyanbo · 8 days ago

Apache Dubbo-rust

Apache Dubbo-rust, an RPC framework that implements Dubbo written in Rust.Please visit the official website for more information.

Build Status License

[ 中文 ]

Overview

Dubbo-rust is still under development. For now, gRPC calls based on HTTP2 have been implemented.

The following libraries are mainly dependent on:

  • Tokio is an event-driven, non-blocking I/O platform for writing asynchronous applications with Rust.

  • Prost is a Protocol Buffers implementation for Rust.

  • Hyper is a fast and correct HTTP implementation for Rust.

  • Serde is a framework for serializing and deserializing Rust data structures efficiently and generically.

Features

  • :white_check_mark: RPC synchronous / asynchronous call
  • :white_check_mark: IDL code automatic generation
  • :construction: Multiple RPC protocol support (like Triple, Dubbo, gRPC, JSONRPC)
  • :construction: Support TCP/HTTP2 transport protocol
  • :construction: Service registration and discovery

Get started

Project structure

.
├── Cargo.toml
├── LICENSE
├── README.md
├── README_CN.md
├── common
│   ├── Cargo.toml
│   └── src
│       └── lib.rs
├── config
│   ├── Cargo.toml
│   └── src
│       ├── config.rs
│       ├── lib.rs
│       ├── protocol.rs
│       └── service.rs
├── contributing.md
├── docs
│   ├── filter-design.md
│   ├── generic-protocol-design.md
│   ├── readme.md
│   └── services.md
more ...

Contact

Contribute

Welcome more developers to join us. About more details please check “How to contribute”.

License

Apache Dubbo-rust software is licenced under the Apache License Version 2.0. See the LICENSE file for details.