Releases: apache/dubbo-js
3.3.0-alpha
The first Dubbo3 TypeScript release that provides support of 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.
Apache Dubbo-js 4.0.0 released
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. The dubbo/dj under construction will help the framework code zero development ability by building a cross-language DSL language for dubbo.
Apache dubbo-js v3.0.0-rc6 released
Hello Dubbo/Dubbo-js Community,
I am glad to announce that Apache dubbo-js v3.0.0-rc6 released
[email protected]
remove dumplicate consumer url @sunchuanleihit commit
bugfix consumer register ignore zkRoot @Ruigu commit
Thanks all Contributor。
因为我们,js-for-apache-dubbo才更精彩
fixed: 在获取dubbo的version顺序
fixed: 在获取dubbo的version时候,先获取version,在获取default.version,如果没有默认是0.0.0
感谢@lileilei同学
[email protected]
上游dubbo2.6.3增加了provider 到 consumer的attachment,
我们做一个协议上的同步
apache/dubbo#889
因为attachment目的是为了隐式的传参,所以我们不会把这个值合入正常的返回结果中。
因为我们有很好的middleware的机制,可以很方便的从middleware的上下获取这个attachment参数
const dubbo = new Dubbo({
// todo
});
dubbo.use(async (ctx, next) => {
await next();
console.log(ctx.providerAttachments);
})
enjoy <3
fixed,zk不限重连
因为merge代码的失误,导致fixed的bug再次引入抱歉。
add dubboSetting
Release 2.3.5
作为的dubbo的comsumer,在调用服务端dubbo provider时,
需要动态的去指定一些细碎的dubbo的参数,比如group, version, retry, timeout之类
我们之前充分使用dubbo2.js中的context和middleware的能力,设计了dubbo-invoker
dubbo-invoker很好的承担了这个述求,但是dubbo-invoker也是可以有更好的发挥空间
-
更好的cache,不需要每次调用的时候都去获取group,version等信息
-
在zk订阅接口的时候需要创建consumer信息写入zookeeper,这个时候也需要group,version等信息这个时候dubbo-invoker有点心有余而力不足
So,基于上诉两点,我们还是直接设计dubboSetting模块传入dubbo对象
How to use?
import {Dubbo, setting} from 'dubbo2.js';
//dubbo-setting
const dubboSetting = setting
.match('com.alibaba.dubbo.demo.BasicTypeProvider', {
version: '2.0.0',
})
.match(
[
'com.alibaba.dubbo.demo.DemoProvider',
'com.alibaba.dubbo.demo.ErrorProvider',
],
{version: '1.0.0'},
);
const dubbo = new Dubbo<typeof service>({
application: {name: '@qianmi/node-dubbo'},
register: 'localhost:2181',
service,
dubboSetting,
});
API
setting.match(predict, {group, version}) // predict support, string, Array, RegExp, Thunk.
fixed dubbo 多实例 bug
[fixed bug] 当dubbo根据zookeeper不同创建多实例的时候,因为queue和dubbo-agent是单例导致调用失败
详情#46
[email protected]
一个小优化
onTrace只追踪dubbo2.js本身调用异常(hessian或者socket异常),而不去追踪业务调用异常。