golang原生http和rpc服务集成

作者: 从火星来 | 来源:发表于2018-05-29 21:36 被阅读18次

今天做了个小实验,验证了用go语言的原生http模块和编写的http服务器可以利用rpc模块同时提供rpc调用功能。但是遗憾的是,如果是用fcgi模块编写的服务器就不能集成rpc服务。

关键点:

第一,rpc功能要用rpc.NewServer新建服务对象,不能用默认对象,因为只有新建对象的HandleHTTP可以设置http访问路径。它的第一个参数是http访问路径,第二个参数是调试器路径,可以通过浏览器看运行情况。

第二,http.Serve第二个参数必须是nil,否则rpc服务器就不能被调用,因此其它页面渲染函数都要用http.HandleFunc设置路由。

客户端调用方法:

rpc连接要用rpc.DialHTTPPath,第三个参数是http路径,要和上面的HandleHTTP第一个参数一致。连接上后用法就和普通rpc调用一样了。

相关文章

  • golang原生http和rpc服务集成

    今天做了个小实验,验证了用go语言的原生http模块和编写的http服务器可以利用rpc模块同时提供rpc调用功能...

  • golang-rpc

    参考 golang中的RPC调用服务器方法 golang rpc的两种调用方法 Go官方库RPC开发指南 示例 s...

  • RPC服务和HTTP服务

    RPC(即Remote Procedure Call,远程过程调用)最本质的区别,就是RPC主要是基于TCP/IP...

  • RPC和HTTP服务对比

    RPC和HTTP服务对比 RPC(即Remote Procedure Call,远程过程调用), RPC主要是基于...

  • golang 网络框架之 gin

    golang 原生 http 库已经可以很方便地实现一个 http server 了,但对于复杂的 web 服务来...

  • RPC服务和HTTP服务对比

    很长时间以来都没有怎么好好搞清楚RPC(即Remote Procedure Call,远程过程调用)和HTTP调用...

  • RPC服务和HTTP服务对比

    很长时间以来都没有怎么好好搞清楚RPC(即Remote Procedure Call,远程过程调用)和HTTP调用...

  • RPC服务和HTTP服务对比

    很长时间以来都没有怎么好好搞清楚RPC(即Remote Procedure Call,远程过程调用)和HTTP调用...

  • Go RPC

    Go RPC Go 原生的网络RPC需要关联Go的net框架和库内容(net,tpc,http等等) 理论 总体来...

  • SpringBoot Nacos 作为注册中心

    简介 Nacos 支持基于 DNS 和基于 RPC 的服务发现。服务提供者使用 原生SDK[https://nac...

网友评论

    本文标题:golang原生http和rpc服务集成

    本文链接:https://www.haomeiwen.com/subject/qyhzjftx.html