go 使用consul进行服务注册

【Consul】构建高效的服务治理体系:基于Golang实现Consul服务的注册、注销、修改、监控注册的服务变化、实时同步服务信息机制 【Consul】基于Golang实现Consul服务的注册、注销、修改、监控注册的服务变化、实时同步服务信息机制 寸铁手把手带你实现Consul服务的注册、注销、修改、监控服务变化,实时同步长轮询信息机制! 阅读详情
package internal

import (
   "fmt"
  consulapi "github.com/hashicorp/consul/api"
)

const (
   ConsulAddress = "192.168.75.6:8500"
   LocalIP   = "192.168.10.182"
   LocalPort = 8005
)
// 这里使用的是传参形式进行服务注册.可以根据需求进行函数调用.
func Reg(host, name, id string, port int, tags []string) error { //服务注册需要的服务名称,服务id(后续会有随机id产生) 服务当前对应的端口号(随机端口号)
   defaultConfig := consulapi.DefaultConfig()
   ConsulAddress := fmt.Sprintf("%s:%d", ViperConf.ConsulConfig.Host, ViperConf.ConsulConfig.Port)  //这里声明consul的服务地址
   defaultConfig.Address = ConsulAddress
   client, err := consulapi.NewClient(defaultConfig) //生成consul客户端
   if err != nil {
      return err
   }
   registration := &consulapi.AgentServiceRegistration{  //被注册服务不是consul服务本身
      ID:      id,  //这里是被注册的服务的id
      Name:    name, //被注册的服务的name
      Tags:    tags, //被注册服务的tags
      Port:    port, //被注册服务的port
      Address: host, //被注册服务的host
   }
   serverAddr := fmt.Sprintf("http://%s:%d/health", registration.Address, registration.Port)  //监控检测是检查的被注册服务.
   check := &consulapi.AgentServiceCheck{   //注意这里监控检查的配置要声明时间单位.不能只填写数字.只填数字默认单位不是秒
      Interval:                       "1s",  //检查间隔
      Timeout:                        "5s",  //检查超时时间
      HTTP:                           serverAddr,  //这里是被注册服务监控检测地址
      DeregisterCriticalServiceAfter: "20s",  //如果服务20s没有响应就将注册的服务删除.
   }

   registration.Check = check  //进行健康检查
   return client.Agent().ServiceRegister(registration)  
}

Go 服务注册--consul 此文详细介绍使用consul作为注册中心,实现两个服务之间的通信,这里只用了点到点通信。 1 .安装consul - 注册中心 服务注册中心我们选择consul: mac:brew install consul windows:直接官网下载consul.exe可执行程序 运行consul:启动Consul agent的开发模式: consul agent -dev 该命令快速... 阅读详情

相关推荐

使用 Go 语言和 Consul 作为服务注册和配置中心

以下是一个使用 Go 语言和 Consul 作为服务注册和配置中心的实现示例。Consul 是一个开源的分布式服务发现和配置工具,提供了服务注册、健康检查、键值存储等功能。

游戏全栈,技术合作 1374

Spring Cloud中的Consul的相关配置

在这里主要介绍在Consul的相关配置。在这里使用yml的格式进行配置。 spring: cloud: consul: enabled: true //是否启用consul host: ip // consul server的ip地址 port: 8500 // consul运行的端口号 ...

一路斜阳的专栏 8733

微服务consul:文件注册服务与go服务注册服务

微服务,使用consul进行服务发现,go源码(Server,Client端),手工编写脚本注册consul服务

liumin23460524的博客 398

springcloud小技能:服务注册&发现如何隔离

用过dubbo的都知道,dubbo服务发布&订阅有2个重要的参数:version和group。即消费者和生产者不但需要要接口名完全一致,还需要version和group也完全一致,才能成功的匹配到服务: version主要作用是某个接口的实现出现不兼容升级的时候,用来过渡,例如老版本申明为version="1.0.0",新版本就可以申明为version="2.0.0"; group主要作用就是某个接口有多个实现类,那么通过group区分,消费者通过group参数决定调用哪个group的服务; 此

代码界的扛把子 768

Immich vs Nextcloud照片管理实测:自建私有云相册到底选哪个?

本文深度评测了Immich与Nextcloud在私有云相册管理中的表现,涵盖核心功能、性能基准、本土化实践及进阶功能。Immich凭借微服务架构和AI优化在照片管理、移动端体验上表现优异,而Nextcloud则强在生态整合。文章还提供了Docker部署优化和国内网络适配方案,帮助用户根据需求选择最佳方案。

seed的博客 329

Lumerical FDTD新手教程:5步搞定MMI波导光谱模拟(附避坑指南)

本文提供Lumerical FDTD新手教程,详细讲解5步完成MMI波导光谱模拟的实用方法,包括环境准备、结构建模、光源配置、仿真优化和结果分析。特别针对多模干涉耦合器(MMI)的模拟难点,提供避坑指南和优化策略,帮助光学工程师快速掌握FDTD仿真技术。

kite3的博客 359

consul tags secure=false

consul tags secure=false

GET知识不迷路,点赞评论加关注! 1735

数据库迁移策略实战:MySQL到PostgreSQL

数据库迁移是一项复杂且细致的任务,需要充分的准备工作、合适的迁移策略和严格的验证与优化步骤。通过选择合适的迁移工具、进行手动迁移和应用程序适配、以及迁移后的验证与优化,可以确保数据迁移的成功和业务的连续性。希望本文的分享能够为大家在MySQL到PostgreSQL的数据库迁移实战中提供一些有用的参考和启示。

shejizuopin的博客 1732

consul服务注册

一、配置文件 注意事项 以.json结尾的文件 配置信息json格式 { "service":{ "id":"my_say_hi", "name":"my_say_hi", "address":"192.168.101.3", "port":8080, "tags":[ "add_str", "add_hi", "say_hi"

analu的博客 692

【k8s实战】 在离线项目混部 通过kubeflow(tf-operator)部署TensorFlow机器学习任务+prometheus/grafana监控资源使用全过程(最新 图文)

目录在离线混合部署概念最新版kubeflow部署TensorFlow部署二级目录三级目录 在离线混合部署概念 先举一个例子,众所周知的天猫双十一当天的流量非常之大,那么就需要成百上千台服务器构成一个超大集群来提供计算能力,但是双十一过去之后,集群资源就面临着浪费的局面。假设业务分为在线和离线两种模式:在线任务需要资源相对较少,但要求响应时间短;离线任务则不需要对任务进行迅速响应,但是计算量相对较大、占用资源多。那么我们应该怎么在K8S集群上完成这两种业务的部署、并且使得CPU利用率始终维持在一个比较高的水平

Eros1on的博客 1546

博途PLC模糊PID控制(量化因子和比例因子)

参数"量化因子和比例因子",都是为了对清晰值进行比例变换而设置的,其作用是使变量按一定比例进行放大或缩小,以便和我们的模糊论域相匹配完成一一映射。这种变换对整个系统的工作性能也是有影响的。(其实相当于额外引入了比例作用,所以说模糊PID的调节是个系统工程)。限于本人能力,文中难免出现错误和不足,欢迎大家批评和指正。博途PLC的模糊PID控制完整算法可以参看下面这篇文章博途PLC模糊PID控制详解(SCL完整源代码+参数)_RXXW_Dor的博客-优快云博客。......

RXXW_Dor的博客 5269

配置文件中spring.cloud.consul.discovery.tags属性

在SpringBoot应用程序的application.yml或application.properties配置文件中,可以添加spring.cloud.consul.discovery.tags属性来指定服务实例的标签。• 服务隔离:通过为不同环境(如开发、测试、生产)或不同版本的服务实例指定不同的标签,可以实现服务的隔离,避免消费者调用到错误的服务实例。• 服务标记:为服务实例添加自定义的标签,这些标签可以是任何字符串,用于描述服务的特性、版本、环境等信息。

weixin_42594143的博客 510

智能水下机器人设计: 基于MATLAB的水下机器人动力学建模和控制系统设计,包括水下环境感知、路径规划和任务执行等

智能水下机器人是指能够在水下自主完成各种任务的机器人,例如探测、勘察、救援等。它具有广阔的应用前景,可用于海洋环境监测、水下考古、海上作业等领域。基于MATLAB的水下机器人设计可以为科研人员和工程师提供强大的建模和仿真工具,帮助他们设计更智能、更高效的水下机器人。智能水下机器人是未来海洋科技发展的重要方向,它将为海洋科学研究、水下考古和海上作业等领域带来新的机遇。MATLAB是一种功能强大的数学和科学计算软件,它可以为智能水下机器人设计提供强大的工具和支持。

走向CTO的路上... 962

Golang基于consul实现服务注册与发现

前提搭建consul集群,至少需要一个consul agent consul服务注册与发现相关文档见官网: consul apihttps://www.consul.io/api-docs/agent/service 服务注册 服务注销 服务发现 https://www.consul.io/api-docs/health 代码实现 服务注册与发现 discovery/discovery_client.go 实现服务注册、服务注销和服务发现的通用...

skh2015java的博客 2941

面向干净核心的并行扩展:SAP BTP 上的 side-by-side extensions 全面解读

摘要: SAP的side-by-side extensions是一种与核心系统解耦的云原生扩展模式,通过API和事件驱动实现与SAP S/4HANA等核心系统的松耦合集成。该模式支持独立升级、弹性扩展和高效创新,是SAP官方推荐的clean core关键实现路径。其典型架构包括接口层(OData/REST API、事件通道)、运行层(Cloud Foundry/Kyma/CAP框架)和体验层(Fiori/UI5)。适用场景包括需快速迭代、复用云服务或服务外部用户的业务扩展。实施时需关注安全治理(如XSUAA

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 305

【WRFDA教程第一期】运行观测预处理程序(OBSPROC)

运行观测预处理程序(OBSPROC)

WW、forever的博客 1893

consul golang使用_go-micro+gin+consul微服务实战之服务注册与发现

在构建微服务时,使用服务发现可以减少配置的复杂性,本文以go-micro为微服务框架,使用consul作为服务发现服务,使用gin开发golang服务。使用gin 的原因是gin能够很好的和go-micro进行集成。本文主要介绍服务注册和发现的实现关于如何搭建consul服务可以移步:ubuntu+docker+consul安装部署及使用​www.jianshu.com本文默认以搭建好了consu...

weixin_39621695的博客 503

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

Consul 在 Go 语言微服务中的注册与发现应用

Consul 是由 HashiCorp 公司开发的一个分布式、高可用的服务发现和配置管理工具。服务发现:允许服务将自身注册到 Consul 中,并通过 Consul 发现其他服务的位置。健康检查:可以定期检查服务的健康状态,当服务不健康时,自动将其从服务列表中移除,避免请求发送到故障服务。键值存储:提供了一个简单的键值对存储系统,可用于存储配置信息等。多数据中心:支持在多个数据中心之间进行服务发现和配置同步。

m0_57836225的博客 862

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

启动go服务_go-micro+gin+consul微服务实战之服务注册与发现

在构建微服务时,使用服务发现可以减少配置的复杂性,本文以go-micro为微服务框架,使用consul作为服务发现服务,使用gin开发golang服务。使用gin 的原因是gin能够很好的和go-micro进行集成。本文主要介绍服务注册和发现的实现关于如何搭建consul服务可以移步:ubuntu+docker+consul安装部署及使用​www.jianshu.com本文默认以搭建好了consu...

weixin_30060575的博客 770

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

consul golang_详解golang consul-grpc 服务注册与发现

在微服务架构里面,每个小服务都是由很多节点组成,节点的添加删除故障希望能对下游透明,因此有必要引入一种服务的自动注册和发现机制,而 consul 提供了完整的解决方案,并且内置了对 GRPC 以及 HTTP 服务的支持总体架构服务调用: client 直连 server 调用服务服务注册: 服务端将服务的信息注册到 consul 里服务发现: 客户端从 consul 里发现服务信息,主要是服务的地...

weixin_42191440的博客 267

Golang consul 服务注册与发现

下载运行consul: consul下载地址:https://www.consul.io/downloads 命令行运行: consul.exe agent -dev 服务注册: package main import ( "fmt" "github.com/go-basic/uuid" consulapi "github.com/hashicorp/consul/api" "net/http" ) const ( consulAddress = "127.0.0.1:8500" loca

ALakers的博客 1044

go实战案例:如何基于 Consul 给微服务添加服务注册与发现?

本文介绍了微服务架构中服务注册与发现的原理及实现。首先阐述了单体应用向微服务转型时面临的动态服务管理挑战,解释了服务注册与发现的两大核心功能:服务注册和服务发现。随后详细分析了CAP理论在分布式系统中的权衡应用,并对比了Consul、Etcd和ZooKeeper三种主流服务发现组件的特性差异。文章重点演示了如何在Kubernetes环境下部署Consul集群(包含3个Server节点和1个Client节点),并详细说明了通过HTTP API实现服务注册、注销和发现的完整流程。最后展示了如何为Go微服务集成C

共产主义接班人 680

golang微服务之注册与发现(zookeeper,etcd,consul)

golang微服务之注册与发现,zookeeper,etcd,consul,接口化,屏蔽底层实现

energysober的博客 2847

【Go】十五、分布式系统、Consul服务注册发现、Nacos配置中心搭建

传统开发方式的痛点:我们的服务分为很多种:用户服务、商品服务、订单服务等,若我们一个成熟的体系内,新添加一个服务,会变得十分的繁琐与困难当我们的负载较大时,如果选择添加机器的方式来减轻负载,那么增加的机器需要修改很多配置文件甚至代码,这样的重新部署会导致一系列的问题。此时,选用注册中心即可对这些问题有系统性的解决:用户服务-web、用户服务-srv、商品服务-web、商品服务1-srv、商品服务2-srv… 都需要注册到注册中心中,也就是说,具有一个注册中心,其管控着所有的服务。

weixin_41365204的博客 1884

Go微服务——go-micro v4服务注册 Gin使用consul服务发现

0.目录 go-micro 安装 go-micro+consul服务注册、服务发现 1. 启动consul 下载:https://www.consul.io/downloads consul agent -h查看帮助 Windows启动 consul agent -server -bootstrap-expect 1 -data-dir C:\Temp\consul\data -node=n1 -bind=x.x.x.x -ui -rejoin -config-dir=C:\Temp\consul\c

xuehu96的博客 4273
上一篇: go语言sqlx操作数据库
下一篇: grpc服务注册到consul中
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值