kl个人博客 首页>>分布式,架构>>nodejs连接java工程dubbo服务

nodejs连接java工程dubbo服务

nodejs连接java工程dubbo服务

前言碎语

最近公司整体服务架构从MQ迁移到dubbo上,公司有部分项目使用了nodejs服务,故研究了下nodejs的dubbo客户端,以下使用node-zookeeper-dubbo客户端为网友提供,因node-zookeeper-dubbo本身项目使用的实例描述并不完备,对于非node专业来说,跑一个实例还是有点困难,在博主实践过程中,也遇到很多问题,固有此文,希望可以给同样需求的你一点帮助

开源地为:https://github.com/p412726700/node-zookeeper-dubbo

1.启动dubbo提供服务,本实例使用dubbo项目本身的DEMO工程提供服务

2.新建node测试文件nodeTest.js,代码如下

const nzd=require('node-zookeeper-dubbo');
const app=require('express')();
const opt={
  application:{name:'klnode'},
  register:'127.0.0.1:2181',//注册中心地址
  dubboVer:'2.5.3',//dubbo版本信息
  root:'dubbo',//dubbo协议
  dependencies:{
    Demo:{
      interface:'com.alibaba.dubbo.demo.DemoService',
      timeout:6000,
      methodSignature: {
          sayHello : (name) => (java) => [ java.String(name) ],
      }
    },
  }
}
opt.java = require('js-to-java')
const Dubbo=new nzd(opt);
app.get('/DemoService/sayHello',(req,res)=>{
  Dubbo.Demo.sayHello(10000)
    .then(data=>res.send(data))
    .catch(err=>res.send(err))
})
app.listen(9090)
3.进入nodeTest.js文件夹下, 下载所需依赖

npm install node-zookeeper-dubbo

npm install express

npm install js-to-java

4.启动服务

node nodeTest.js启动服务后,控制台会打印Dubbo service init done:,代表启动node服务成功了

然后访问http://localhost:9090/DemoService/sayHello,看到如下结果,代表node连接dubbo服务成功

kl个人博客