[enhancement]
[fixed]
After long-term community feedback and collaboration, and thanks to the efforts of the vivo open source collaboration team, we finally ushered in the release of apache dubbo-js 4.0.0.
dubbo-js 4.0.0 will be a new milestone. We have made major software architecture adjustments and provided full-stack dubbo service capabilities. Dubbo/dj, which is under construction, will help the zero development of framework code by building a small cross-language DSL language for dubbo.
In the process of building dubbo-js, we adhere to the consistent principle.
Keep it simple and stupid. We want to keep dubbo-js easy to use, easy to learn, and reduce mental burden and learning cost.
Build tools for humans. Development experience is as important as user experience. We strive to keep API design simple, intuitive and ergonomic. We use typescript to bring type hints, code completion, and type checking to help development become more efficient. We have built [interpret] and the dubbo/dj under development to make our calls and docking between JavaScript, Go, and Java seamless.
High performance and observable.
Separate modules, refactor code, simplify implementation logic, and remove unnecessary defensive programming
Zookeeper‘s node underlying library is replaced with zookeeper’s native c implementation, replacing the existing node-zookeeper-client
The ability to dynamically configure dubbo-consumer/dubbo-service meta data
dubbo-service automatically realizes load balancing
Support the use of node10+ and above
Incorporate the implementation of the latest version of zone-context, more accurate memory recovery, and safer link tracking
Add dubbo-test full-process integration test
add fullstack example
Improve the unit test, run the unit test through mock without relying on any environment zookeeper etc.
Build a zookeeper mock, and use js to simulate a fully compatible zookeeper for unit testing, decoupling the dependence of unit testing on the environment
The core modules are re-split, abstracted into five core modules: consumer, server, registry, setting, and common
Added dubbo-server module to provide a complete basic capability of dubbo tcp server service
Added dubbo-server to accept dubbo requests, serialization and deserialization of request parameters
Added service registration capability, register to zookeeper and nacos
Enhance scheduling of requests by the scheduler, adopt the concept of fast error, improve error information, and be more precise
Enhance the underlying debug log of dubbo-server to facilitate quick location of problems
Enhance the dubbo url of dubbo-server registered to zk, add side, pid, generic, protocol, dynamic, category, anyhost, timestamp and other parameters
Enhanced extension dubbo-server supports middleware middleware mechanism, which can extend the life cycle of the entire call
Refactor the serialization implementation of dubbo requests and responses to keep consistent with the upstream version
Add an independent heartbeat management module to simplify the communication between consumer and server
Added nacos as the registration center
After accepting the community's pr for a long time, we are ready to release dubbo-js@3.0.0
@creasy2010 @hsiaosiyuan0 @sunchuanleihit @ralf0131
@binlaniua @jasonjoo2010 @wushanchao @AtarisMio @hufeng
Thank you very much