当前位置: 首页 > news >正文

四川省人民政府参事室seo教程seo优化

四川省人民政府参事室,seo教程seo优化,wordpress企业cms,360网站建设价格1 Overview 此章节是对第三章的一个补充。同样属于RPC的篇章。是专门为了类似游戏服务这种需要指定RPC服务端具体地址,也就是具体是哪台机器的某应用进程,通信的方式。笔者简单的封装了下保证基本的服务稳定,且具备服务发现的属性即可&#…

1 Overview

此章节是对第三章的一个补充。同样属于RPC的篇章。是专门为了类似游戏服务这种需要指定RPC服务端具体地址,也就是具体是哪台机器的某应用进程,通信的方式。笔者简单的封装了下保证基本的服务稳定,且具备服务发现的属性即可,因此也仅仅对GRPC的客户端进行一次壳子的封装。

2 客户端初始化

外表看着几乎与03章节的 客户端初始化代码基本一致;

GRPC的初始化类名不同变为了NewGameGrpcCluster 而已;

这里没表现出来的,就是绑定Proto接口的方式发生了变化;

    etcd.NewWithOption(option.OptionWith(nil).Default(option.OptionFunc(func() (string, any) {return "Endpoints", strings.Split(etcdAddr, ";")}),))client := cgrpc.NewGameGrpcCluster(option.OptionWith(&struct {PathName  stringNamespace string}{"server1", namespace}))//client.Start()// do your thingstestHandle(client)// just for testclient.Wait()// closeclient.Close()

3 调用Proto服务接口

为了方便后续调用,以及简化代码,我们在使用grpc.ClientConn 时的部分进行了一个函数封装。这与经常见过GRPC调用的方式是一样的。


func handleSay(clientConn grpc.ClientConnInterface) {c := helloworld.NewGreeterClient(clientConn)resp1, err := c.SayHello(context.Background(),&helloworld.HelloRequest{Name: fmt.Sprintf("xiaoming-%d", 9)},)if err != nil {log.Fatal("Say Hello error:%v", err)return}log.Info("SayHello Response:%s\n ", resp1.Message)}

4 指定GRPC服务的invoke

  • 关键点就是一个client.Handle;
  • 它的参数是一个匿名函数;
  • handle参数匿名函数 传递一个[]*cgrpc.GameGrpcConn的切片;
  • cgrpc.GameGrpcConn 是继承于grpc.ClientConn

func testHandle(client *cgrpc.GameRpcCluster) {ticker := time.NewTicker(time.Second)for {<-ticker.Cclient.Handle(func(gconns []*cgrpc.GameGrpcConn) {log.Info("clients conns %v", len(gconns))if len(gconns) == 0 {return}handleSay(gconns[0])})}
}

handle参数匿名函数拿到了grpc链接列表;致于如何获取某一个链接。就是路由的事情了,可以单独做一个小模块,与它结合起来。这里我们暂时没有做。

不过只要知道GameGrpcConn的另外一个参数你就很容易策略做这件事了。看看它的定义


type GameGrpcConn struct {*grpc.ClientConnInfo ServInfo
}type ServInfo struct {AddrToRpc    stringAddrToClient stringName         stringdata         any
}

知道了链接地址,和名字,怎么选择,可以随意开发策略,是随机,是按地址选择,按服务名选择也好。

需要知道用户在哪台游戏服的,或哪台聊天服的业务场景中,可以轻松实现。

http://www.rdtb.cn/news/17172.html

相关文章:

  • seo网站设计今日新闻头条新闻
  • 海南州公司网站建设友情链接交换群
  • 网站建设注意事项 南京免费入驻的电商平台
  • 网站不良正能量直接进入张北网站seo
  • wordpress 小手枪图标百度首页排名优化平台
  • 做家政网站公司名称网站seo优化方案策划书
  • 网站建设公司经营范围seo工具不包括
  • 企业网站搜索优化外包企业百度推广怎么收费
  • 广东网站建设包括什么一个具体网站的seo优化方案
  • 有哪些在线做图的网站舆情分析网站
  • CC wordpress 攻击新十条优化措施
  • php网站开发集合教程网站制作报价表
  • 怎么去找做网站的怎么建网站免费的
  • 制作网站的成本规划网络营销seo是什么意思
  • 石家庄网站app开发seo网络推广员招聘
  • 平面设计主要学什么软件小红书关键词排名优化
  • 徐州网站制作流程产品线上营销推广方案
  • 免费注册个网站海外seo是什么
  • 济南市做网站推广公司产品
  • 广东微信网站制作多少钱接推广怎么收费
  • 如何在word里做网站cba排名
  • 晋江网站建设公司郑州seo顾问热狗
  • 京网站建设怎么买域名自己做网站
  • 你有网站 我做房东 只收佣金的网企业seo推广外包
  • 白云区手机版网站建设全网营销平台
  • 局域网建设网站视频教程免费发广告的网站大全
  • wordpress怎么使用七牛云北京谷歌seo
  • 免费站长统计工具网络广告营销策划方案
  • 网站推荐你懂我的意思吧2020知乎成人营销管理培训班
  • 成都网站建设四川冠辰互联网广告营销