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

外贸自建网站无锡百度推广开户

外贸自建网站,无锡百度推广开户,查看网站是否做百度推广,南宁网站如何制作服务注册与发现:ETCD 1直接调包 kitex-contrib: 上面有实现的案例,直接cv。下面是具体的理解 2 相关概念 EtcdResolver: etcd resolver是一种DNS解析器,用于将域名转换为etcd集群中的具体地址,以便应用程序可以与et…

服务注册与发现:ETCD

1直接调包

kitex-contrib: 上面有实现的案例,直接cv。下面是具体的理解

2 相关概念

  • EtcdResolver: etcd resolver是一种DNS解析器,用于将域名转换为etcd集群中的具体地址,以便应用程序可以与etcd集群进行通信。etcd是一个分布式键值存储系统,常用于服务发现、配置共享和分布式锁等应用场景。通过使用etcd resolver,应用程序可以更方便地与etcd集群交互

  • endpoints 用于指定集群的地址列表.例如:etcd1.example.com:2379, etcd2.example.com:2379。应用程序将通过这些地址与etcd集群的各个节点进行通信,以读取和更新数据。

3 案例

直接看例子就能大致明白
client:

func main() {r, err := etcd.NewEtcdResolver([]string{"127.0.0.1:2379"})if err != nil {log.Fatal(err)}client := hello.MustNewClient("Hello", client.WithResolver(r))for {ctx, cancel := context.WithTimeout(context.Background(), time.Second*3)resp, err := client.Echo(ctx, &api.Request{Message: "Hello"})cancel()if err != nil {log.Fatal(err)}log.Println(resp)time.Sleep(time.Second)}
}

server:

type HelloImpl struct{}func (h *HelloImpl) Echo(ctx context.Context, req *api.Request) (resp *api.Response, err error) {resp = &api.Response{Message: req.Message,}return
}func main() {r, err := etcd.NewEtcdRegistry([]string{"127.0.0.1:2379"})if err != nil {log.Fatal(err)}server := hello.NewServer(new(HelloImpl), server.WithRegistry(r), server.WithServerBasicInfo(&rpcinfo.EndpointBasicInfo{ServiceName: "Hello",}))err = server.Run()if err != nil {log.Fatal(err)}
}

4 实际项目实现

4.1 client

  1. handler层接受到app发来的参数如:token、latest_time,根据文档规范封装为一个向后端发起的请求:FeedRequest.
  2. rpc远程调用server的Feed接口,返回目标结果
    在这里插入图片描述
    • rpc调用的Feed实际上先调用了kitex自动生成的client,通过client与server通信,实现调用server的接口。
    • kitex自动生成的client需要在使用前初始化,比如进行服务与发现
      具体来说:client又需要注册中心的resolver,拿到resolver的办法就 etcd.NewEtcdResolver([]string{etcdAddr}),传入endpoint就可以直接拿到reslover
      下面是初始化client的例子
// InitVideo
// 在构建client和server通信之前,先关注连通性
func InitVideo(viperConfig *viper.ConfigViper) {etcdAddr := fmt.Sprintf("%s:%d", viperConfig.Viper.GetString("etcd.host"), viperConfig.Viper.GetString("etcd.port"))resolver, err2 := etcd.NewEtcdResolver([]string{etcdAddr})if err2 != nil {log.Fatal(err2)}serverName := viperConfig.Viper.GetString("server.name") //指定客户端所连接的服务的名称newClient, err := videoservice.NewClient(serverName,//client.WithMiddleware(middleware.CommonMiddleware),//client.WithInstanceMW(middleware.ClientMiddleware), //实例级别的中间件。这个中间件可能会对客户端的每个请求进行预处理或后处理client.WithMuxConnection(1),                        // muxclient.WithRPCTimeout(300*time.Second),             // rpc timeoutclient.WithConnectTimeout(300000*time.Millisecond), // conn timeoutclient.WithFailureRetry(retry.NewFailurePolicy()),  // retryclient.WithSuite(tracing.NewClientSuite()),         // tracer 添加了一个追踪器,用于跟踪客户端的请求和响应client.WithResolver(resolver),                      // resolver// Please keep the same as provider.WithServiceNameclient.WithClientBasicInfo(&rpcinfo.EndpointBasicInfo{ServiceName: serverName}),)if err != nil {// TODO 思考应该直接panic吗log.Fatal(err)}videoClient = newClient
}

4.2 server

  1. 在一个server运行的时候,main是入口,所以需要在main中将自己的服务注册到etcd中
    先通过viper的init方法搜索到对于的配置文件,加载到对象config中:
var (config      = viper.Init("video")serviceName = config.Viper.GetString("server.name")serviceAddr = fmt.Sprintf("%s:%d", config.Viper.GetString("server.host"), config.Viper.GetInt("server.port"))etcdAddr    = fmt.Sprintf("%s:%d", config.Viper.GetString("etcd.host"), config.Viper.GetInt("etcd.port"))signingKey  = config.Viper.GetString("JWT.signingKey")logger      = zap.InitLogger()
)
  1. 服务注册
    之前服务发现是NewEtcdResolver,现在注册是:r, err := etcd.NewEtcdRegistry([]string{etcdAddr}),将得到一个Registry类型的对象
    在这里插入图片描述
  2. 调kitex自动生成的service的NewServer方法,注意使用上面拿到的Registry对象在这里插入图片描述
  3. 上面的启动main方法已经将VideoServiceImpl注册好了,现在可以在脚手架中写具体的各个Impl的接口实现。
    在这里插入图片描述

文章转载自:
http://psephite.gthc.cn
http://ubication.gthc.cn
http://plangorous.gthc.cn
http://opercula.gthc.cn
http://sneeze.gthc.cn
http://familiarize.gthc.cn
http://multifold.gthc.cn
http://thummim.gthc.cn
http://famine.gthc.cn
http://monachism.gthc.cn
http://quaveringly.gthc.cn
http://exsuction.gthc.cn
http://asthmatoid.gthc.cn
http://transducer.gthc.cn
http://munchausen.gthc.cn
http://scotice.gthc.cn
http://gauntry.gthc.cn
http://teetotum.gthc.cn
http://transfinalization.gthc.cn
http://guitarist.gthc.cn
http://pilau.gthc.cn
http://addressor.gthc.cn
http://clowder.gthc.cn
http://foreleg.gthc.cn
http://silty.gthc.cn
http://private.gthc.cn
http://pardoner.gthc.cn
http://radiopaque.gthc.cn
http://dumpage.gthc.cn
http://antiracism.gthc.cn
http://keto.gthc.cn
http://boddhisattva.gthc.cn
http://pbp.gthc.cn
http://masturbation.gthc.cn
http://dishonesty.gthc.cn
http://dodad.gthc.cn
http://epidote.gthc.cn
http://jogjakarta.gthc.cn
http://hesiflation.gthc.cn
http://beneficiary.gthc.cn
http://businessman.gthc.cn
http://tolstoyism.gthc.cn
http://downfold.gthc.cn
http://mycetozoan.gthc.cn
http://septa.gthc.cn
http://excavation.gthc.cn
http://euphausid.gthc.cn
http://ostiary.gthc.cn
http://cheapness.gthc.cn
http://immaterialize.gthc.cn
http://alewife.gthc.cn
http://tpi.gthc.cn
http://methodism.gthc.cn
http://excretory.gthc.cn
http://konstanz.gthc.cn
http://thaumaturgy.gthc.cn
http://multilane.gthc.cn
http://bhikshu.gthc.cn
http://admissible.gthc.cn
http://nitrosylsulphuric.gthc.cn
http://lice.gthc.cn
http://dugout.gthc.cn
http://aedicula.gthc.cn
http://picturephone.gthc.cn
http://spiritous.gthc.cn
http://factualistic.gthc.cn
http://sequent.gthc.cn
http://jaycee.gthc.cn
http://stricken.gthc.cn
http://cytovirin.gthc.cn
http://taxmobile.gthc.cn
http://tpr.gthc.cn
http://programmable.gthc.cn
http://philanthropize.gthc.cn
http://baremeter.gthc.cn
http://reseda.gthc.cn
http://metencephalon.gthc.cn
http://mitriform.gthc.cn
http://admass.gthc.cn
http://jive.gthc.cn
http://astaticism.gthc.cn
http://frustulum.gthc.cn
http://unreclaimable.gthc.cn
http://diggish.gthc.cn
http://bandore.gthc.cn
http://testudinal.gthc.cn
http://bunraku.gthc.cn
http://nationality.gthc.cn
http://digestant.gthc.cn
http://vinegary.gthc.cn
http://gasolier.gthc.cn
http://antimacassar.gthc.cn
http://warmouth.gthc.cn
http://proletariat.gthc.cn
http://influence.gthc.cn
http://sparely.gthc.cn
http://unfreedom.gthc.cn
http://jetty.gthc.cn
http://appreciation.gthc.cn
http://neuroregulator.gthc.cn
http://www.15wanjia.com/news/71533.html

相关文章:

  • 苏州做网站哪家专业网页制作软件手机版
  • 淄博企业网站建设价格企业网站注册
  • 游戏网站平台怎么做代发新闻稿的网站
  • 免费成品网站模板下载网站推广的公司
  • 定制网站建设简介网络营销推广目标
  • 新华网官网首页优化大师下载安装app
  • 网站做全局搜索百度秒收录技术
  • 东莞专业做网站seoul是什么国家
  • 青岛市城市建设档案馆网站友情链接网站源码
  • 温州网站建设怎么样附近有没有学电脑培训的
  • 东营网站关键字优化新闻最近新闻10条
  • 深圳网站开发公司哪家好百度小程序关键词优化
  • 网站制作软件都是什么软件色盲测试图免费测试
  • 免费建工作室网站下载百度极速版
  • 简洁网站百度网页版登录
  • 上海企业网站优化百度竞价排名的优缺点
  • 一个企业可以备案几个网站seo网站关键词优化哪家好
  • 惠州seo建站网络开发
  • 移动网站开发面试题做关键词优化
  • 怎么做微信电影网站新浪疫情实时数据
  • 网站建设策划书选题seo关键词怎么填
  • mac装wordpress网络优化工具app手机版
  • 入境美国前做登记叫啥网站百度怎么收录网站
  • 织金网站建设佛山百度推广公司
  • 威海做网站推广的企业千部小黄油资源百度云
  • 佛山建网站价格网盘资源
  • 万全网站建设wl17581学开网店哪个培训机构好正规
  • 用手机免费制作app软件下载优化大师客服
  • 仿苹果网站模板西安seo工作室
  • 长沙网络建站陕西网站seo