apache/dubbo-js
Fork: 160 Star: 766 (更新于 2024-12-17 08:34:54)
license: Apache-2.0
Language: TypeScript .
The Typescript implementation of Apache Dubbo. An RPC and microservice framework for Node.js and Web development.
最后发布版本: dubbo3-3.0.0-alpha ( 2023-09-08 20:14:14)
Apache Dubbo for ECMAScript
Apache Dubbo is an easy-to-use Web and RPC framework that provides different language implementations(Java, Go, Rust, Node.js, Javascript) for communication, service discovery, traffic management, observability, security, tools, and best practices for building enterprise-ready microservices.
Dubbo-js is the TypeScript implementation of Dubbo triple protocol (a fully gRPC compatible and http friendly protocol), which can be used for Node.js and web application development. With dubbo-js, you can easily build applications working on browser and frontend that can communicate with backend services through http-based protocol.
Get Started
The following two demos will guide you on how to create Node.js backend and web applications using dubbo-js.
You can call backend Dubbo services with type-safe APIs:
const resp = await client.say({sentence: "Hello, Dubbo."});
console.log(resp);
Or, you can curl them if you want:
curl \
--header 'Content-Type: application/json' \
--data '{"sentence": "Hello World"}' \
http://localhost:8080/apache.dubbo.demo.example.v1.ExampleService/Say
Get started on the web
Follow this guide to learn how to develop web applications that can access backend Dubbo services and running on browser.
We support all modern web browsers that implement the widely available fetch API and the Encoding API.
Get started on Node.js
Follow this guide here to learn how to develop and spin up a backend Dubbo service in Node.js, and call it from cURL, the web browser, or a Dubbo client in your terminal.
In addition, Dubbo integrates middlewares such as express, fastify, and next, making it easier for users to build a Dubbo distributed service framework using Node.js.
Service Governance features
Besides rpc protocol, we plan to provide dubbo-js rich service governance features so it can work seamlessly with other microservice architecture.
The features listed below are still under development, we will update each feature's status once ready.
- :construction: Service Discovery:
Nacos, Zookeeper, Kubernetes, etc.
- :construction: Load Balance:
Random, RoundRobin, LeastActive, ConsistentHash, etc.
-
:construction: Traffic Routing: Traffic split, Circuit breaking, Canary release, etc.
-
:construction: Filter: Token, AccessLog, Rate limiting, etc.
-
:construction: Metrics: Prometheus
-
:construction: Tracing: Jaeger, Zipkin
How to contribute
Please check CONTRIBUTING for how to contribute to this project.
Connect us
Search Dingding group number and join us: 27690019068
Credit
This project is based on bufbuild/connect-es, an open-source project released under Apache License v2. Comparing to connect-es, dubbo-js removed the unused grpc-web and connect protocol, added support for Dubbo protocol, no-idl programming api and many service governance features.
We have a announcement in our LICENSE file and keep all license headers of files come from connect-es unchanged.
最近版本更新:(数据更新于 2024-09-03 11:05:44)
2023-09-08 20:14:14 dubbo3-3.0.0-alpha
2021-07-22 11:42:49 4.0.0
2020-01-16 21:04:28 v3.0.0-rc6
2019-04-29 16:31:54 dubbo2.js@2.3.9
2018-12-20 10:09:16 dubbo2.js@2.3.8
2018-12-19 14:12:07 dubbo2.js@2.3.7
2018-12-08 13:35:13 dubbo2.js@2.3.6
2018-11-21 14:53:41 dubbo2.js@2.3.5
2018-08-17 11:35:27 dubbo2.js@2.2.4
2018-07-04 09:58:49 dubbo2.js@2.1.6
主题(topics):
http, http2, javascript, microservices, nodejs, rpc, service-mesh, typescript, web
apache/dubbo-js同语言 TypeScript最近更新仓库
2024-12-22 15:05:26 elizaOS/eliza
2024-12-21 21:40:12 lobehub/lobe-chat
2024-12-21 12:01:51 siyuan-note/siyuan
2024-12-21 09:15:35 MetaCubeX/metacubexd
2024-12-21 04:50:26 mediar-ai/screenpipe
2024-12-20 19:36:48 vitejs/vite