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

惠网 做网站网站服务器自己做

惠网 做网站,网站服务器自己做,瑞安app开发,百度站长工具网站验证作者#xff1a;李俱顺原文#xff1a;https://www.4async.com/2021/05/building-your-own-dapr-service-discovery/在上一篇文章中#xff0c;我其实遗留了一个问题#xff1a;如何定义dapr的服务发现呢#xff1f;其实在后面阅读dapr的源码之后也前一篇文章的评论中提到… 作者李俱顺原文https://www.4async.com/2021/05/building-your-own-dapr-service-discovery/在上一篇文章中我其实遗留了一个问题如何定义dapr的服务发现呢其实在后面阅读dapr的源码之后也前一篇文章的评论中提到了答案目前dapr提供了内置两种服务发现模式K8s模式和用于独立部署的mDNS模式。mDNS模式在某些网络环境下可能存在问题比如跨机房不过没有关系dapr同时提供了可扩展能力可以通过定义自主的服务发现能力扩展dapr的边界。从 NameResolution 到 Resolver 接口在 pkg/components/nameresolution/registry.go 文件中dapr定义了一个 NameResolution 结构体用于服务注册和发现type (// NameResolution is a name resolution component definition.NameResolution struct {Name stringFactoryMethod func() nr.Resolver}// Registry handles registering and creating name resolution components.Registry interface {Register(components ...NameResolution)Create(name, version string) (nr.Resolver, error)}nameResolutionRegistry struct {resolvers map[string]func() nr.Resolver} ) 其中真正的服务解析则是依靠 components-contrib 中实现了 Resolver 接口的具体实现执行。// Resolver is the interface of name resolver. type Resolver interface {// Init initializes name resolver.Init(metadata Metadata) error// ResolveID resolves name to address.ResolveID(req ResolveRequest) (string, error) } 其中 Init 会在 Runtime 初始化时被调用而 ResolveID 则会在服务查询时调用。比如在 pkg/messaging/direct_messaging.go 的方法 getRemoteApp 中进行服务的解析func (d *directMessaging) getRemoteApp(appID string) (remoteApp, error) {id, namespace, err : d.requestAppIDAndNamespace(appID)if err ! nil {return remoteApp{}, err}request : nr.ResolveRequest{ID: id, Namespace: namespace, Port: d.grpcPort}address, err : d.resolver.ResolveID(request)if err ! nil {return remoteApp{}, err}return remoteApp{namespace: namespace,id: id,address: address,}, nil } 当然事实上这样并不完全足够还需要把这个服务注册放入dapr支持的服务中去runtime.WithNameResolutions(nr_loader.New(mdns, func() nr.Resolver {return nr_mdns.NewResolver(logContrib)}),nr_loader.New(kubernetes, func() nr.Resolver {return nr_kubernetes.NewResolver(logContrib)}),nr_loader.New(consul, func() nr.Resolver {return nr_consul.NewResolver(logContrib)}), ), 上面的这些是设定的dpar目前支持的一些服务发现功能而我们之前服务发现也一直使用的 Consul 实现已经满足我们的需求了…????拖延症害人啊从原理到实现上面提到了我们需要实现一个 Resolver 接口的实现我们可以预见到我们大概会需要这么一个东西:type resolver struct {}// NewResolver creates Consul name resolver. func NewResolver() nr.Resolver// Init will configure component. It will also register service or validate client connection based on config func (r *resolver) Init(metadata nr.Metadata) error // ResolveID resolves name to address via consul func (r *resolver) ResolveID(req nr.ResolveRequest) (string, error) 接下来就需要一个 client *consul.Client 去实现服务的注册 type resolver struct {client *consul.Client }func (r *resolver) Init(metadata nr.Metadata) error {// ...if err : r.client.Agent().ServiceRegister(regData); err ! nil {return fmt.Errorf(failed to register consul service: %w, err)}// ... } 注册服务完成后在调用具体的服务时我们需要获取具体的服务地址func (r *resolver) ResolveID(req nr.ResolveRequest) (string, error) {// ...services, _, err : r.client.Health().Service(req.ID, , true, cfg.QueryOptions)// ... } 当然上面的演示代码只是部分核心功能代码如果需要拓展更多的实现细节内容需要查看具体的官方接收社区贡献的实现components-contrib/nameresolution/consul相关文章Dapr能否引领云原生中间件的未来云原生 | 阿里巴巴的Dapr实践与探索Dapr | 云原生的抽象与实现Dapr 可视化指南Dapr 知多少 | 分布式应用运行时Dapr 正式发布 1.0Dapr 交通流量控制示例Dapr是如何简化微服务的开发和部署微软开源微服务运行时Dapr赋能云原生应用开发YARP实现Dapr服务调用的反向代理Dapr微服务应用开发系列0概述Dapr微服务应用开发系列1环境配置Dapr微服务应用开发系列2Hello World与SDK初接触Dapr微服务应用开发系列3服务调用构件块Dapr微服务应用开发系列4状态管理构件块Dapr微服务应用开发系列5发布订阅构建块Windows环境下Dapr入门云原生 | .NET 5 with Dapr 初体验通过Dapr实现一个简单的基于.net的微服务电商系统通过Dapr实现一个简单的基于.net的微服务电商系统(二)——通讯框架讲解通过Dapr实现一个简单的基于.net的微服务电商系统(三)——一步一步教你如何撸Dapr通过Dapr实现一个简单的基于.net的微服务电商系统(四)——一步一步教你如何撸Dapr之订阅发布通过Dapr实现一个简单的基于.net的微服务电商系统(五)——一步一步教你如何撸Dapr之状态管理通过Dapr实现一个简单的基于.net的微服务电商系统(六)——一步一步教你如何撸Dapr之Actor服务通过Dapr实现一个简单的基于.net的微服务电商系统(七)——一步一步教你如何撸Dapr之服务限流通过Dapr实现一个简单的基于.net的微服务电商系统(八)——一步一步教你如何撸Dapr之链路追踪通过Dapr实现一个简单的基于.net的微服务电商系统(九)——一步一步教你如何撸Dapr之OAuth2授权通过Dapr实现一个简单的基于.net的微服务电商系统(九)——一步一步教你如何撸Dapr之OAuth2授权-百度版通过Dapr实现一个简单的基于.net的微服务电商系统(十)——一步一步教你如何撸Dapr之绑定通过Dapr实现一个简单的基于.net的微服务电商系统(十一)——一步一步教你如何撸Dapr之自动扩/缩容WebAssembly Dapr 下一代云原生运行时dapr 应用开发 | 环境配置乘风破浪.Net Core遇见Dapr为云原生而生的分布式应用运行时Dapr案例之高德 Serverless 平台建设及实践在非容器(集群)环境下运行dapr
http://www.sadfv.cn/news/144912/

相关文章:

  • 新乡手机网站建设公司h5页面生成工具
  • 做网站大约多少钱建筑人才网河南省2022年3月安全员
  • 在什么网站能帮人做ppt网站admin目录名怎么改
  • 博物馆网站建设的根本意义长沙医疗网站建设
  • 做博客网站怎么赚钱乐清开发网站公司
  • 网站建设基本流程教学视频在线取公司名字 免费
  • 长沙58同城招聘网最新招聘seo推广什么意思
  • 网站排名总是不稳定梅州市五华县建设银行网站
  • 网站 友情链接怎么做最优惠的郑州网站建设
  • 移动网站怎么登录网站主要的设计内容主题
  • 第八章 电子商务网站建设课件企业网站建设递进发展趋势
  • 用asp.net做的网站框架嘉兴模板建站定制
  • 怎么建设网站规划全国广告公司网站建设
  • dede 网站源码页面设计属于作品登记的哪个类别
  • 怎么做付款链接网站建筑工程网免费下载
  • wordpress文件下载插件仙桃seo公司
  • 怎么自己做网站服务器中国计算机软考网
  • 网站开发都是模板网站做彩票犯法吗
  • 怎样在微信里做网站广告网站建设方案
  • 服饰网站建设规划书网站建设海淀
  • 源码网站开发网站建设 风险说明书
  • 红河州建设局网站seo最新
  • 如何创建一个网站wordpress m1主题
  • 做静态网站选用什么服务器wap网站如何做
  • wordpress 彩色标签网店seo名词解释
  • 自己怎么做企业网站企业邮箱格式模板
  • 潍坊做网站软件企业内网怎么搭建
  • 学平面设计的网站家装设计方案
  • 珠海新盈科技 网站建设重庆做网站泉州公司
  • 互联网网站模板互联网十大上市公司