首页 > 其他分享 >服务发现

服务发现

时间:2022-12-19 20:44:07浏览次数:33  
标签:发现 服务 err grpc fmt say api Println

启动服务consul_conf的json文件看https://www.cnblogs.com/topass123/p/16993018.html

consul agent -server -dev -ui -client 0.0.0.0 -config-dir=C:\Users\86185\go\consul_conf

 

启动server

package main

import (
    "context"
    "fmt"
    say "go_redis/grpc_pg"
    "google.golang.org/grpc"
    "net"
)

type User struct {
}

func (u *User) SayHello(ctx context.Context, in *say.SayRequest) (*say.SayResponse, error) {
    resp := say.SayResponse{Ret:"hello "+in.Name}
    return &resp,nil
}

func main() {
    server := grpc.NewServer()
    say.RegisterSayServiceServer(server,&User{})
    listen, err := net.Listen("tcp", "127.0.0.1:8080")
    fmt.Println("开始监听8080")
    if err != nil {
        fmt.Println("network error")
    }
    server.Serve(listen)
}

 

启动client;下载go get github.com/hashicorp/consul/api

package main

import (
    "context"
    "fmt"
    "github.com/hashicorp/consul/api"
    say "go_redis/grpc_pg"
    "google.golang.org/grpc"
)

func main() {
    config := api.DefaultConfig()
    config.Address = "127.0.0.1:8500"

    var waitIndex uint64
    client_api,_ := api.NewClient(config)
    services,_,_ := client_api.Health().Service("hello","uth",true,&api.QueryOptions{
        WaitIndex:waitIndex,
    })
    address := services[0].Service.Address
    port := services[0].Service.Port

    url := fmt.Sprintf("%s:%d",address,port)
    fmt.Println(url)
    conn,err:=grpc.Dial(url,grpc.WithInsecure())

    //conn,err:=grpc.Dial("127.0.0.1:8080",grpc.WithInsecure())
    if err !=nil{
        fmt.Println(err)
    }
    client:=say.NewSayServiceClient(conn)
    resp,err:=client.SayHello(context.Background(),&say.SayRequest{Name: "taipi"})
    if err !=nil{
        fmt.Println(err)
    }
    fmt.Println(resp.Ret)

}

 

标签:发现,服务,err,grpc,fmt,say,api,Println
From: https://www.cnblogs.com/topass123/p/16993025.html

相关文章

  • asp.net c#开发 微信派发现金红包/H5网页抢红包功能
    临近节日,公司里为了给广大老客户赠福利,以及来一波拉新活动:搞了一个营销活动,大概活动规则如下:1、老客户通过网页抢红包,中奖会派发微信支付的红包;2、新客户只要关注后就可以中......
  • 电驴连接不上服务器解决方法(图文)
     只看楼主收藏回复  孤迥客魔法骡8 一、先保证服务器连接。在电驴服务器界面右边的“从URL更新server.met”字样下边的小......
  • mysql服务器查询慢原因分析方法
    ​​MySQL​​​​数据库​​在查询的时候会出现查询结果很慢,超过1秒,项目中需要找出执行慢的sql进行优化,应该怎么找呢,mysql数据库提供了一个很好的方法,如下: mysql5.0以上......
  • 为什么服务器系统用Linux?Linux有哪些优势?
    服务器的操作系统可以实现对计算机的管理和控制,任何计算机的运行都离不开操作系统,服务器也一样。服务器操作系统主要分为四大流派:windowsServer、Netware、Unix、linu......
  • 利联科技:国内BGP服务器租用的加速手段
    利联科技——​​国内BGP服务器租用​​的加速手段  当用户使用国内BGP服务器租用来置放网站的时候,可能会遇到网站访问速度慢或者页面加载以及刷新缓慢的现象。这时候我......
  • 使用Ratpack与Spring Boot构建高性能JVM微服务
    在微服务天堂中Ratpack和SpringBoot是天造地设的一对。它们都是以开发者为中心的运行于JVM之上的web框架,侧重于生产率、效率以及轻量级部署。他们在服务程序的开发中带来了......
  • 常见HTTP代理服务器错误代码类型及含义梳理
    通常,通过HTTP代理发送到Web服务器的请求失败,都会收到相应的错误状态代码。服务器成功接收到请求但无法处理请求或处理过程中遇到问题时,则会出现5xx错误。如果你想继续使用ht......
  • Linux搭建FTP服务器
    这里写自定义目录标题​​Linux搭建FTP服务器​​​​简述​​​​一.安装服务器​​​​1.1.安装vsftp​​​​1.2.配置文件路径​​​​二.配置vsftp​​​​2.1.配置......
  • Spring Cloud构建微服务架构(二)服务消费者
     NetflixRibbonisanInterProcessCommunication(IPC)cloudlibrary.Ribbonprimarilyprovidesclient-sideloadbalancingalgorithms.Apartfromtheclient-si......
  • Sql Server 服务无法正常启动,126异常
    SQLServer一记异常信息方法/步骤打开【开始菜单】找到软件SQLServer下面的【配置管理器】可以看到数据库主服务是‘停止’状态;![数据库主服务展开【SQL......