Pre-check
Search before asking
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:
- User API Calls: Users can reference and expose services through the
Client and Server.
- Proxy Layer: Abstracted and implemented
RpcCallable (Proxy) and ServiceHandler (Invoker).
- Protocol Layer: Implemented the
Triple protocol, fully compatible with the gRPC protocol. Also supports multiple compression methods, including Identity, Gzip, and Bzip2.
- 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.
- Serialization Layer: Supports user-defined serialization and deserialization methods.
- Plugin Extension Mechanism: Achieved plugin registration and loading through
importlib and registries.
- 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.

Related issues
No response
Are you willing to submit a pull request to fix on your own?
Code of Conduct
Pre-check
Search before asking
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:
ClientandServer.RpcCallable(Proxy) andServiceHandler(Invoker).Tripleprotocol, fully compatible with thegRPCprotocol. Also supports multiple compression methods, includingIdentity,Gzip, andBzip2.asyncioand combined with theh2library, 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 incorporatinguvloop.importlibandregistries.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/), usinguvloopis 2-4 times faster than usingasyncioalone. The reason for not usinguvloopfully is that its not supported on windows.Related issues
No response
Are you willing to submit a pull request to fix on your own?
Code of Conduct