go 简单的rpc服务

rcp:远程过程调用-就像是本地调用方法一样简单,java中的rpc框架用的比较多的是阿里的dubbo(最近又开始维护了)

go 提供了rpc的开发包 net/rpc

下面通过例子来感受下

服务:

type Echo int

func (t * Echo)Hi(args string, reply *string) error {  // 想要使用go的rpc方法要使用这种格式一个接受参数,一个返回的参数,返回的异常
   *reply = "echo"+args
   return nil
}

func main() {
   rpc.Register(new(Echo))  // 注册rpc服务
   rpc.HandleHTTP() // 采用http协议
   l, _ := net.Listen("tcp",":8099")
   http.Serve(l,nil)
}

客户端

func main() {
   c,_ := rpc.DialHTTP("tcp","192.168.3.143:8099")
   var args ="hello word"
   var reply string
   error := c.Call("Echo.Hi",args,&reply) // 远程调用
   if error != nil {
      log.Fatal(error)
   }
   fmt.Print(reply)
}

还可以通过url:port/debug/rpc查看具体信息

转载于:https://my.oschina.net/isxiaoge/blog/1582254

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值