网站开发需要哪些人怎么分工重庆网站建设技术

web/2025/10/5 12:14:12/文章来源:
网站开发需要哪些人怎么分工,重庆网站建设技术,营销软文范例大全300,公众号怎么开通直播功能简介#xff1a; 作为微服务框架的核心引擎--注册中心#xff0c;是必不可缺少的组件#xff0c;市面已经有多款注册中心支持 Go 语言#xff0c;应该如何选择呢#xff1f;我们可以对目前主流的支持 Go 语言的注册中心做个对比。 作者 | 李志鹏 近几年#xff0c;随着 …简介 作为微服务框架的核心引擎--注册中心是必不可缺少的组件市面已经有多款注册中心支持 Go 语言应该如何选择呢我们可以对目前主流的支持 Go 语言的注册中心做个对比。 作者 | 李志鹏 近几年随着 Go 语言社区逐渐发展和壮大越来越多的公司开始尝试采用 Go 搭建微服务体系也涌现了一批 Go 的微服务框架如 go-micro、go-kit、Dubbo-go 等跟微服务治理相关的组件也逐渐开始在 Go 生态发力如 Sentinel、Hystrix 等都推出了 Go 语言版本而作为微服务框架的核心引擎--注册中心也是必不可缺少的组件市面已经有多款注册中心支持 Go 语言应该如何选择呢我们可以对目前主流的支持 Go 语言的注册中心做个对比。 图 1 根据上表的对比我们可以从以下几个维度得出结论 生态各注册中心对 Go 语言都有支持但是 Nacos、 Consul、Etcd 社区活跃zookeeper 和 Eureka 社区活跃度较低易用性Nacos、Eureka、Consul 都有现成的管控平台Etcd、zookeeper 本身作为 kv 存储没有相应的管控平台Nacos 支持中文界面比较符合国人使用习惯场景支持CP 模型主要针对强一致场景如金融类AP 模型适用于高可用场景Nacos 可以同时满足两种场景Eureka 主要满足高可用场景Consul、Zookeepr、Etcd 主要满足强一致场景此外 Nacos 支持从其它注册中心同步数据方便用户注册中心迁移功能完整性所有注册中心都支持健康检查Nacos、Consul 支持的检查方式较多满足不同应用场景Zookeeper 通过 keep alive 方式能实时感知实例变化Nacos、Consul 和 Eureka 都支持负载均衡策略Nacos 通过 Metadata selector 支持更灵活的策略此外Nacos、Eureka 都支持雪崩保护避免因为过多的实例不健康对健康的实例造成雪崩效应。 综合上面各维度的对比可以了解到 Nacos 作为注册中心有一定的优势那么它对 Go 微服务生态的集成做得如何为此我们策划了本系列文章该系列将为大家介绍 Nacos 在 Go 微服务生态集成中做的一些工作和实践经验系列内容将主要包含以下三个篇章 Dubbo-go 云原生核心引擎探索Sentinel-go 外部动态数据源初探go-micro 集成 Nacos 实践 接下来我们首先探索下 Nacos 是如何与 Dubbo-go 集成。 引言 Dubbo-go 目前是 Dubbo 多语言生态中最火热的一个项目从 2016 年发布至今已经走过 5 个年头。最近Dubbo-go 发布了 v1.5 版本全面兼容 Dubbo 2.7.x 版本支持了应用维度的服务注册与发现和主流的注册模型保持一致标志着 Dubbo-go 向云原生迈出了关键的一步。 作为驱动服务运转的核心引擎--注册中心在切换到应用维度的注册模型后也需要做相应的适配本文将解析如何以 Nacos 为核心引擎实现应用维度的服务注册与发现并且给出相应的实践案例。此外本文代码基于 Dubbo-go v1.5.1Nacos-SDK-go v1.0.0 和 Nacos v1.3.2。 服务注册与发现架构 从架构中我们可以看到与接口级别的服务注册发现不同的是Dubbo-go 的 provider 启动后会调用 Nacos-go-sdk 的 RegisterInstance 接口向 Nacos 注册服务实例注册的服务名即为应用名称而不是接口名称。Conusmer 启动后则会调用 Subscribe 接口订阅该应用的服务实例变化并对的实例发起服务调用。 图 2 服务模型 图 3 是我们 Dubbo-go 的应用维度服务发现模型主要有服务和实例两个层级关系服务实例的属性主要包含实例Id、主机地址、服务端口、激活状态和元数据。图 4 为 Nacos 的服务分级存储模型包含服务、集群和实例三个层次。两者对比多了一个集群维度的层级而且实例属性信息能够完全匹配。 所以在 Dubbo-go 将应用服务实例注册到 Nacos 时我们只需要将集群设置为默认集群再填充服务和实例的相关属性即可完成服务模型上的匹配。此外 Nacos 可以将服务注册到不同的 Namespace 下实现多租户的隔离。 图 3 图 4 服务实例心跳维持 Dubbo-go 的 Provider 在向 Nacos 注册应用服务实例信息后需要主动上报心跳让 Nacos 服务端感知实例的存活与否以判断是否将该节点从实例列表中移除。维护心跳的工作是在 Nacos-SDK-go 完成的从图 5 代码中可以看到当 Dubbo-go 调用 RegisterInstance 注册一个服务实例时SDK 除了调用 Nacos 的 Register API 之外还会调用 AddBeatInfo将服务实例信息添加到本地缓存通过后台协程定期向 Nacos 发送服务实例信息保持心跳。 当服务下线时可以通过调用 DeRegisterInstance 执行反注册并移除本地的心跳保持任务Nacos 实例列表中也会将该实例移除。 图 5 订阅服务实例变化 Dubbo-go 的 Consumer 在启动的时候会调用 Nacos-SDK-go 的 Subscribe 接口该接口入参如图 6订阅的时候只需要传递 ServiceName 即应用名和回调函数 SubscribeCallbackNacos 在服务实例发生变化的时候即可通过回调函数通知 Dubbo-go。Nacos-SDK-go 是如何感知 Nacos 的服务实例变化的呢主要有两种方式 Nacos 服务端主动推送Nacos-SDK-go 在启动的时候会监听一个 UDP 端口该端口在调用 Nacos Register API 的时候作为参数传递Nacos 会记录 Ip 和端口当服务实例发生变化时Nacos 会对所有监听该服务的 Ip 和端口发送 UDP 请求推送变化后的服务实例信息Nacos-SDK-go 定期查询SDK 会对订阅的服务实例定时调用查询接口如果查询有变化则通过回调接口通知 Dubbo-go。作为兜底策略保证 Nacos 服务端推送失败后仍能感知到变化。图 6 此外 Nacos-SDK-go 还支持推空保护当 Nacos 推送的实例列表为空时不更新本地缓存也不通知 Dubbo-go 变更避免 Consumer 无可用实例调用造成故障。同时SDK 还支持服务实例信息本地持久化存储可以保证在 Nacos 服务故障过程中Consumer 重启也能获取到可用实例具备容灾效果。 范例实践 1. 环境准备 dubbo-go samples 代码下载https://github.com/apache/dubbo-samples/tree/master/golang基于 Nacos 注册中心的应用级服务发现的 hello world 代码目录在 registry/servicediscovery/nacos图 7 Nacos 服务端搭建参考官方文档https://nacos.io/zh-cn/docs/quick-start.html或者使用官方提供的公共 Nacos 服务http://console.nacos.io/nacos(账号密码:nacos仅供测试)或者购买阿里云服务https://help.aliyun.com/document_detail/139460.html。 2. Server 端搭建 进入 registry/servicediscovery/nacos/go-server/profiles 文件可以看到有 dev、release 和 test 三个文件夹分别对应开发、测试和生产配置。我们使用 dev 配置来搭建开发环境dev 文件下有 log.yml 和 server.yml 文件下面对 server.yml 配置进行修改。 remote 配置这里使用公共的 Nacos 服务address 支持配置多个地址用逗号分割。params 参数配置 nacos-sdk 的日志目录。 remote:nacos:address: console.nacos.io:80timeout: 5sparams:logDir: /data/nacos-sdk/log configCenter 配置 config_center:protocol: nacosaddress: console.nacos.io:80 配置 server 端环境变量 export CONF_PROVIDER_FILE_PATHserver端的server.yml文件路径 export APP_LOG_CONF_FILEserver端的log.yml文件路径 进入 registry/servicediscovery/nacos/go-server/app运行 server.go 的 main 方法可以从 Nacos 的控制台看到应用 user-info-server 已经注册成功。 Nacos 的控制台地址http://console.nacos.io/nacos/#/serviceManagement?dataIdgroupappNamenamespace 图 8 图 9 3. Client 端搭建 client 的配置文件在 registry/servicediscovery/nacos/go-server/profiles 目录下需要修改的地方跟 server 端一样这里不赘述。 配置 client 端环境变量 export CONF_CONSUMER_FILE_PATHclient端的server.yml文件路径 export APP_LOG_CONF_FILEclient端的log.yml文件路径 进入 registry/servicediscovery/nacos/go-client/app运行 client.go 的 main 方法看到如下日志输出表示调用 server 端成功。 图 10 原文链接 本文为阿里云原创内容未经允许不得转载。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/87361.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

个人网站注册费用平顶山北京网站建设

脉购健康管理系统(软件)包含:客户开卡、健康档案、问卷调查、问诊表、自动设置标签、自动随访、健康干预、健康调养、历年指标趋势分析、疾病风险评估、饮食/运动/心理健康建议、同步检查报告数据、随访记录、随访电话录音、健康阶段总结、打…

网站建设经费的函网站开发工程师需要哪些技术

“算法详解”系列图书共有4卷,目前1到3卷已经出版。最新出版的是第3卷—贪心算法和动态规划。 算法详解 卷3 贪心算法和动态规划 “算法详解”系列图书共有4卷,本书是第3卷—贪心算法和动态规划。其中贪心算法主要包括调度、最小生成树、集群、哈夫曼编…

网址关键词查询网站哪里做网站便宜

条件编译转载于:https://www.cnblogs.com/LoveFishC/archive/2012/07/23/3846525.html

在线网站转app企业网站建设套餐

正题 大意 有n株草,没个时间单位开始时会增长不同的长度。每个时间单位可以将一株草剪成高度为0,求多少时间单位后能够将草的总高度减低为h以下,或用远不能。 解题思路 首先需要一段玄学推理: 可以等草长高些在剪。 如果有解每…

网站建设款计入哪个会计分录枣庄网站建设电话

介绍Source Link是一组软件包和一个规范, 它将一些元数据添加到PDB文件,以将本地文件重新映射到GitHub上的文件,因此Visual Studio可以在这需要时下载文件, 该项目的目的是可以为使用Nuget安装软件的用户提供源代码调试, Microsoft库&#xf…

cms中文版网站模板seo网站建设时文章频率

Vulfocus 是一个漏洞集成平台,将漏洞环境 docker 镜像,放入即可使用,开箱即用。 安装docker环境 个人不建议随意更换apt源,我换了几次遇到很多问题。 apt-get update apt-get upgrade(时间很久) apt-get i…

建网站需要哪些资质如何利用互联网宣传与推广

文章目录 1.视图1.基本介绍1.视图介绍2.为什么需要自定义视图 2.自定义视图实例1.思路分析2.代码实例1.view.jsp2.接口3.配置自定义视图解析器springDispatcherServlet-servlet.xml4.自定义视图MyView.java5.view_result.jsp6.结果展示 3.自定义视图执行流程4.自定义视图执行流…

做网站的行业平台wordpress divi 2.7

转载于:https://www.cnblogs.com/v-lcc/p/9674975.html

米东区成业建设集团公司网站室内设计公司排名全球

全国多所高校应用红亚科技研发的一套教学实验系统平台,此实验系统服务器分别部署在学校内部,与校内的各种教学资源整合在一起,向校内师生提供服务。 红亚总部设立在北京,虽说在全国22个省会均设有办事处,在面对全国多…

陕西住房城乡住房建设厅网站合肥瑶海区网站建设费用

03_Flutter自定义下拉菜单 在Flutter的内置api中,可以使用showMenu实现类似下拉菜单的效果,或者使用PopupMenuButton组件,PopupMenuButton内部也是使用了showMenu这个api,但是使用showMenu时,下拉面板的显示已经被约定…

专业网站优化服务找公司开发网站

UML视频一直在看,但是总觉得没有什么思路,知识都是零散的、片面的。最后复习阶段老师重新理了一下思路,我才觉得有点清晰了。所以,又回头把UML概述部分总结了一下。 感慨一句:思维导图真的要勤画,画图也是在…

地推网站信息怎么做阿芹网站建设

背景动手学 docker最近,终于完成了 动手学 docker 系列的编写。动手学 docker 是 动手学系列 的首个系列。如果反馈的效果不错,后续还将推出 动手学 devops动手学 kubernetes动手学 istio 等系列。动手学系列 的构思来源于 李沐 老师的 动手学深度学习 。…

具有价值的建网站网站开发需要自己写代码吗

背景: 我做了一个简单的库,负责与数据库交互,希望能兼容数据库类型多一些。偶然想试试access,结果调试出错了。特此记录下来。 原因: windows中的odbc中,预制了很多基础的数据库驱动,这在200…

seo网站排名厂商定制个人做公司网站

1517 求一次函数解析式 时间限制: 1 s空间限制: 128000 KB题目等级 : 白银 Silver题解查看运行结果题目描述 Description相信大家都做过练习册上的这种 题吧: 已知一个一次函数的图像经过点(x1,y1)、(x2,y2),求该函数的…

微信官方网站登陆wordpress静态生成

12 4 3,这个关系表达式叫作除法算式,表述为 12 除以 4 等于 3;也可以表述为 4 除 12 等于 3。

宝安建网站的公司临川区建设局网站

51单片机学习笔记14 LCD1602显示屏使用 一、LCD1602介绍1. 简介2. 引脚定义3. DDRAM4. 字模5. 指令(1)清屏指令 0x01(2)光标归位指令 0x02(3)进入模式设置指令 0x06(4)显示开关控制指…

网站程序开发公司北京公司网站设计价格

在网上看来很多关于同步锁的博文,记录下来方便以后阅读 一、Lock和synchronized有以下几点不同: 1)Lock是一个接口,而synchronized是Java中的关键字,synchronized是内置的语言实现,synchronized是在JVM层面…

网店交易平台网站建设青海网站建设公司

集合简介 概念:对象的容器,定义了对多个对象进项操作的的常用方法。可实现数组的功能。和数组的区别: 数组长度固定,集合长度不固定。数组可以存储基本类型和引用类型,集合只能存储引用类型。 位置: jav…

实用设计网站推荐无货源开店已确认违法

我已经开始修改自定义Java二进制运行时映像文件。 映像文件是打包为运行时平台的模块的配置。 基本上,默认映像包含组成Java运行时的所有内容。 自定义图像可以包含该图像的一些子集。 例如,我创建了一个仅包含“ compact 3”概要文件的映像&#xff0c…

国外网站页面做多大不用模板怎么建设网站

接口测试 新增接口脚本编写和执行测试,并执行脚本。 (1)商品单位添加接口描述如下: 接口功能:提供商品单位新增处理。 接口地址(根据实际系统IP及端口自行替换): http://XX.XX.XX.XX:XXXX/prod-api/manager/category/add。 请求方式:POST。 请求参数: