8000 [Feature][Dubbo-python] Implement the basic functions of an RPC framework. · Issue #14494 · apache/dubbo · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

[Feature][Dubbo-python] Implement the basic functions of an RPC framework. #14494

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
4 tasks done
cnzakii opened this issue Aug 4, 2024 · 1 comment
Closed
4 tasks done
Labels
component/need-triage Need maintainers to triage type/need-triage Need maintainers to triage

Comments

@cnzakii
Copy link
Member
cnzakii commented Aug 4, 2024

Pre-check

  • I am sure that all the content I provide is in English.

Search before asking

  • I had searched in the issues and found no similar feature requirement.

Apache Dubbo Component

Python SDK (apache/dubbo-python)

Descriptions

This is a subtask of the GSoC project. (Relevant repository: dubbo-python)

The completed milestones include:

  1. User API Calls: Users can reference and expose services through the Client and Server.
  2. Proxy Layer: Abstracted and implemented RpcCallable (Proxy) and ServiceHandler (Invoker).
  3. Protocol Layer: Implemented the Triple protocol, fully compatible with the gRPC protocol. Also supports multiple compression methods, including Identity, Gzip, and Bzip2.
  4. Transport Layer: Based on asyncio and combined with the h2 library, the Http2 protocol is implemented, along with connection-level DATA frame flow control, stream-level frame inbound and outbound order control, and stream multiplexing. And it supports significantly improving asyncio's performance by incorporating uvloop.
  5. Serialization Layer: Supports user-defined serialization and deserialization methods.
  6. Plugin Extension Mechanism: Achieved plugin registration and loading through importlib and registries.
  7. Logging Wrapper: Abstracted and encapsulated logging, including log coloring, console output, and log file output.

Note:
According to the official report from uvloop(http://magic.io/blog/uvloop-blazing-fast-python-networking/), using uvloop is 2-4 times faster than using asyncio alone. The reason for not using uvloop fully is that its not supported on windows.
2024-08-04_16 41 21

Related issues

No response

Are you willing to submit a pull request to fix on your own?

  • Yes I am willing to submit a pull request on my own!

Code of Conduct

@cnzakii cnzakii added component/need-triage Need maintainers to triage type/need-triage Need maintainers to triage labels Aug 4, 2024
@cnzakii
Copy link
Member Author
cnzakii commented Aug 9, 2024

Completed in apache/dubbo-python#34

@cnzakii cnzakii closed this as completed Aug 9, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
component/need-triage Need maintainers to triage type/need-triage Need maintainers to triage
Projects
Archived in project
Development

No branches or pull requests

1 participant
0