commit | 13bb3898e405c7b2e778b6204fe2b74fabedd788 | [log] [tgz] |
---|---|---|
author | Yang Yang <962032265@qq.com> | Fri Mar 29 10:35:31 2024 +0800 |
committer | GitHub <noreply@github.com> | Fri Mar 29 10:35:31 2024 +0800 |
tree | 11e375aec5db2746ab780fa08f9b3139de875670 | |
parent | 15b2ac2bd9cbfe71ecf67619c2a64f5f9fb9e1eb [diff] |
Feat: cluster and extension (#185) * feat(dubbo): add unix feature * Rft: replace feature with target_os cfg * Rft(dubbo): add ClientBuilder for client * Rftï(dubbo-build): add build api for client * style(examples): cargo fmt * Rft: move connection from client to transport mod * Rft(dubbo): add default timeout for client * Ftr: add serverBuilder for Server, support multiple ways to start server * Rft(examples): update yaml * refactor(dubbo): update invoker trait * refactor(cluster): add Cluster MockImpl * refactor(triple): use ClientBuilder to init Cluster ability * Update builder.rs update default direct value * Update triple.rs handle unused var * Update mod.rs comment some codes * refactor(triple): rm unused var in clientBuilder * refactor(dubbo): delete some codes * refactor(cluster): rm some duplicate codes * refactor(registry): rm unused import * refactor(triple): use two build func for different usage * style: cargo fmt --all * refactor(cluster): rm registryWrapper * refactor(cluster): delete print * chore(dubbo): upgrade hyper version in cargo.toml * refactor(cluster): comment the logic of clone body * Rft(triple): remove Clone of Invoker * Rft(cluster): use ready_cache to manage Invokers, add ready_cache in FailoverCluster * Rft(protocol): use interface Inheritance to redesign Invoker * Feat(cluster): Cluster Policy Impl (#146) * refactor(cluster): comment the logic of clone body * Rft(triple): remove Clone of Invoker * Rft(cluster): use ready_cache to manage Invokers, add ready_cache in FailoverCluster * Rft(protocol): use interface Inheritance to redesign Invoker --------- Co-authored-by: G-XD <38717659+G-XD@users.noreply.github.com> Co-authored-by: GXD <gexiangdong@highlight.mobi> * chore(github): rm workflow_dispatch in workflow (#149) * feat: Add Router Module(#144) (#153) add condition router, add tag router, use nacos as router config center * Ftr: failover cluster (#156) * Ftr: add ServiceNameDirectory (#157) * Ftr: failover cluster * Ftr: add ServiceNameDirectory * Feat/cluster Optimized the Router module (#160) * perf: Optimized the logic of the routing module. Refactored route logic decision-making, eliminating unnecessary cloning and improving performance. * perf: Optimized the logic of the routing module. Refactored route logic decision-making, eliminating unnecessary cloning and improving performance. * perf: Removed unnecessary configurations. * perf: Removed unnecessary configurations. * perf: Optimized the Router module Optimized the Router module Added Router Chain to MockDirectory * Refactor: refactor Cluster component (#165) * Refactor: refactor Cluster component - add p2c loadbalance component - add simple router component - add replay body component - add failover component - add service directory compoent * Enhance: add cache for routers * Tst: local test passed (#166) * Tst: local test passed * Enhance: remove unnecessary key * Enhance: add BUFFER SIZE const variable * style(dubbo): cargo fmt --all * style(dubbo): cargo fix --lib -p dubbo --allow-dirty * chore(github): update branch in pr * Mod: format code and fix some warnings (#167) * style(dubbo): cargo fmt --all * style(dubbo): cargo fix --lib -p dubbo --allow-dirty * chore(github): update branch in pr * Rft: adapt nacos registry and zookeeper registry (#169) * Rft: adapt nacos registry and zookeeper registry Close #168 * Rft: adapt static registry * Rft: cargo fmt * Ftr: add extension module (#181) * Ftr: add extension module - adapt static registry by extension - adapt nacos registry by extension link #180 * cargo fmt all * fix ci error * fix nacos image version error * Rft: re-design extension register * Fix: cargo fix * Fix: add some license for every files - extract UrlParam to single file - fix github ci error * Fix: fmt all * Fix: Add license for extension_param.rs and registry_param.rs * Fix: rename query_param_by_kv method name * Fix: get stuck when load extension in the concurrency environment (#184) * Fix: get stuck when load extension in the concurrency environment - Add a new struct called LoadExtensionPromise - Remove async modifier in ExtensionDirectory Close #183 * Ftr: use RwLock instead of unsafe * Rft: simplify the code of extension promise resolve * refeat(extensions): add sync for Registry trait * chore: cargo fmt * chore: cargo fmt * chore: cargo fmt * chore: cargo fmt --------- Co-authored-by: G-XD <38717659+G-XD@users.noreply.github.com> Co-authored-by: GXD <gexiangdong@highlight.mobi> Co-authored-by: Urara <95117705+AdachiAndShimamura@users.noreply.github.com> Co-authored-by: 毛文超 <admin@onew.me>
Apache Dubbo-rust, an RPC framework that implements Dubbo written in Rust.Please visit the official website for more information.
[ 中文 ]
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.
. ├── 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 ...
Subscribe to the official Wechat Account
Search and join the DingTalk group: 44694199
Welcome more developers to join us. About more details please check “How to contribute”.
Apache Dubbo-rust software is licenced under the Apache License Version 2.0. See the LICENSE file for details.