基于 Node.js 的 RPC 客户端 dubbo2.js
- 授权协议: Apache-2.0
- 开发语言: Java JavaScript TypeScript
- 操作系统: 跨平台
- 软件首页: http://dubbo.io/dubbo2.js/
- 软件文档: https://github.com/dubbo/dubbo2.js/blob/master/README.md
- 官方下载: https://github.com/dubbo/dubbo2.js/releases
软件介绍
dubbo2.js —— nodejs 使用原生的 dubbo (dubbo head + hessian body) 协议打通了 dubbo 的 rpc 方法调用。
功能特性
支持将 zookeeper 作为注册中心
使用 TCP Dubbo 原生协议(Dubbo Header + Hessian Body)
Socket 池 (ServerAgent -> SocketPool -> SocketWorker)
直接支持 Dubbo (const Dubbo = DirectlyDubbo({..}))
中间件,易于扩展
追踪
支持 Dubbox
示例代码
import {Dubbo, java, TDubboCallResult} from 'dubbo2.js'; //定义dubbo方法类型接口 //方便代码自动提示 interface IDemoService { sayHello(name: string): TDubboCallResult<string>; echo(): TDubboCallResult<string>; test(): TDubboCallResult<void>; getUserInfo(): TDubboCallResult<{ status: string; info: {id: number; name: string}; }>; } //创建dubbo对象 const dubbo = new Dubbo({ application: {name: 'node-dubbo'}, //zookeeper address register: 'localhost:2181', dubboVersion: '2.0.0', interfaces: ['com.alibaba.dubbo.demo.DemoService'], }); //代理本地对象->dubbo对象 const demoService = dubbo.proxyService<IDemoService>({ dubboInterface: 'com.alibaba.dubbo.demo.DemoService', version: '1.0.0', methods: { sayHello(name) { //仅仅做参数hessian化转换 return [java.String(name)]; }, echo() {}, test() {}, getUserInfo() { //仅仅做参数hessian化转换 return [ java.combine('com.alibaba.dubbo.demo.UserRequest', { id: 1, name: 'nodejs', email: 'node@qianmi.com', }), ]; }, }, }); //main method (async () => { const result1 = await demoService.sayHello('node'); //print {err: null, res:'hello node from dubbo service'} const res = await demoService.echo(); //print {err: null, res: 'pang'} const res = await demoService.getUserInfo(); //status: 'ok', info: { id: '1', name: 'test' } })();
机器学习实践指南
麦好 / 机械工业出版社 / 2014-4-1 / 69.00
《机器学习实践指南:案例应用解析》是机器学习及数据分析领域不可多得的一本著作,也是为数不多的既有大量实践应用案例又包含算法理论剖析的著作,作者针对机器学习算法既抽象复杂又涉及多门数学学科的特点,力求理论联系实际,始终以算法应用为主线,由浅入深以全新的角度诠释机器学习。 全书分为准备篇、基础篇、统计分析实战篇和机器学习实战篇。准备篇介绍了机器学习的发展及应用前景以及常用科学计算平台,主要包括统......一起来看看 《机器学习实践指南》 这本书的介绍吧!