zoukankan      html  css  js  c++  java
  • nodejs搭建简易的rpc服务

    这里主要使用的是jayson包,使用jayson实现rpc server端十分简单,如下:

    var jayson = require('jayson')
    
    // create a server
    var server = jayson.server({
      brest: function (args, callback) {
        console.log(args)
        callback(null, args[0] + args[1])
      }
    })
    
    server.http().listen(3000)
    

    这样就简单的实现了一个json rpc2.0的服务,使用postman调用测试下:

    这里的rpc调用的参数在params里面,分别包含call、args两个对象,再来看下rpc server这边打印出的请求参数,可以看出callback调用后rpc服务即可正常返回数据:

    使用jayson的一个简单应用场景就是:

    对于一些复杂应用,前后端分离后,前端要调用部分rpc服务(可能是c++或者golang写的,当前项目服务端使用的是nodejs),因为跨域问题,前端必须请求到后端(nodejs服务端),让后端去处理请求这个rpc服务,并把结果返回给前端,相当于后端相对于真正的rpc服务只不过是一个代理转发,这时候后端可以再次生成一个rpc服务,并配置cors资源共享,前端所有rpc请求均请求到这里,然后jayson里面(好比这个brest方法里面)拿到前端的请求信息,进行一次rpc请求转发,最后将请求结果callback返回给前端即可。

  • 相关阅读:
    简易表格练习
    CSS圆角样式
    力不从心
    学渣在努力~
    嫌疑人
    poj1308 Is it a tree?
    悲剧文本
    迷宫问题
    n皇后问题
    油田
  • 原文地址:https://www.cnblogs.com/vipzhou/p/6831718.html
Copyright © 2011-2022 走看看