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

九江专业制作网站小程序wordpress链接去除下划线

九江专业制作网站小程序,wordpress链接去除下划线,新闻类网站怎么建设,学校网站怎么建设本节重点介绍 : consul 安装consul go代码注册服务#xff0c;注销服务#xff0c;获取服务node_exporter改造为consul服务发现在数量比较大时#xff0c;在注册服务的时候#xff0c;关闭check#xff0c;可以降低consul的压力 consul 安装 准备工作 # 下载consul wge…本节重点介绍 : consul 安装consul go代码注册服务注销服务获取服务node_exporter改造为consul服务发现在数量比较大时在注册服务的时候关闭check可以降低consul的压力 consul 安装 准备工作 # 下载consul wget -O /opt/tgzs/consul_1.9.4_linux_amd64.zip https://releases.hashicorp.com/consul/1.9.4/consul_1.9.4_linux_amd64.zip cd /opt/tgzs/ unzip consul_1.9.4_linux_amd64.zip/bin/cp -f consul /usr/bin/ 启动单机版consul # mkdir /opt/app/consul# 准备配置文件 cat EOF /opt/app/consul/single_server.json {datacenter: dc1,node_name: consul-svr-01,server: true,bootstrap_expect: 1,data_dir: /opt/app/consul/,log_level: INFO,log_file: /opt/logs/,ui: true,bind_addr: 0.0.0.0,client_addr: 0.0.0.0,retry_interval: 10s,raft_protocol: 3,enable_debug: false,rejoin_after_leave: true,enable_syslog: false } EOF# 多个ip地址时将bind_addr 改为一个内网的ip# 写入service文件 cat EOF /etc/systemd/system/consul.service [Unit] Descriptionconsul server Wantsnetwork-online.target Afternetwork-online.target[Service] ExecStart/usr/bin/consul agent -config-file/opt/app/consul/single_server.json StandardOutputsyslog StandardErrorsyslog SyslogIdentifierconsul [Install] WantedBydefault.target EOF# 启动服务 systemctl daemon-reload systemctl start consul systemctl status consul 验证访问 http://localhost:8500/ node_exporter的job改造为consul的服务发现 编写go代码注册服务到consul 初始化consul 使用包 github.com/hashicorp/consul/api import (fmtconsul github.com/hashicorp/consul/apilog )type client struct {consul *consul.Client }func NewConsulClient(addr string) (*client, error) {config : consul.DefaultConfig()config.Address addrc, err : consul.NewClient(config)if err ! nil {return nil, err}return client{consul: c}, nil } 编写注册服务方法 需要指定参数为 服务的名称实例地址实例端口实例探活path实例标签map check.HTTP 代表使用http类型的check调用 consul.Agent().ServiceRegister(reg)注册服务 // 注册服务 func (c *client) ServiceRegister(srvName, srvHost string, srvPort int, healthyCheckPath string, metaMap map[string]string) error {reg : new(consul.AgentServiceRegistration)reg.Name srvNamethisId : fmt.Sprintf(%s_%d, srvHost, srvPort)reg.ID thisIdreg.Port srvPortreg.Address srvHostreg.Meta metaMaplog.Printf(ServiceRegisterStart :%v, thisId)//增加checkcheck : new(consul.AgentServiceCheck)check.HTTP fmt.Sprintf(http://%s:%d%s, reg.Address, reg.Port, healthyCheckPath)//设置超时 5s。check.Timeout 2scheck.DeregisterCriticalServiceAfter 5s//设置间隔 5s。check.Interval 5s//注册check服务。reg.Check checkreturn c.consul.Agent().ServiceRegister(reg) } 编写获取服务信息的方法 使用consul.Health().Service获取 passing的服务 // Service return a service func (c *client) GetService(service, tag string) ([]*consul.ServiceEntry, error) {passingOnly : truess, _, err : c.consul.Health().Service(service, tag, passingOnly, nil)if len(ss) 0 err nil {return nil, fmt.Errorf(service ( %s ) was not found, service)}return ss, err } 编写根据服务id注销服务的方法 // 根据server id注销服务 func (c *client) DeRegister(id string) error {return c.consul.Agent().ServiceDeregister(id) }注册node_exporter服务 func main() {c, err : NewConsulClient(http://172.20.70.205:8500)if err ! nil {log.Printf(NewConsulClient.err:%v, err)return}nodes : []string{172.20.70.205,172.20.70.215,}nodeExporterSrv : node_exporterfor _, h : range nodes {m : map[string]string{region: bj, cloud: huawei}err c.ServiceRegister(nodeExporterSrv, h, 9100, /, m)if err ! nil {log.Printf([ServiceRegister.err][srv:%v][host:%v][err:%v], nodeExporterSrv, h, err)} else {log.Printf([ServiceRegister.success][srv:%v][host:%v], nodeExporterSrv, h)}}ss, err : c.GetService(nodeExporterSrv, )for _, s : range ss {log.Printf([c.GetService][service_id:%v][err:%v], s.Service.ID, err)//c.DeRegister(s.Service.ID)}} 完整的go代码 package mainimport (fmtconsul github.com/hashicorp/consul/apilog )type client struct {consul *consul.Client }func NewConsulClient(addr string) (*client, error) {config : consul.DefaultConfig()config.Address addrc, err : consul.NewClient(config)if err ! nil {return nil, err}return client{consul: c}, nil }// 注册服务 func (c *client) ServiceRegister(srvName, srvHost string, srvPort int, healthyCheckPath string, metaMap map[string]string) error {reg : new(consul.AgentServiceRegistration)reg.Name srvNamethisId : fmt.Sprintf(%s_%d, srvHost, srvPort)reg.ID thisIdreg.Port srvPortreg.Address srvHostreg.Meta metaMaplog.Printf(ServiceRegisterStart :%v, thisId)//增加checkcheck : new(consul.AgentServiceCheck)check.HTTP fmt.Sprintf(http://%s:%d%s, reg.Address, reg.Port, healthyCheckPath)//设置超时 5s。check.Timeout 2scheck.DeregisterCriticalServiceAfter 5s//设置间隔 5s。check.Interval 5s//注册check服务。reg.Check checkreturn c.consul.Agent().ServiceRegister(reg) }// 根据server id注销服务 func (c *client) DeRegister(id string) error {return c.consul.Agent().ServiceDeregister(id) }// Service return a service func (c *client) GetService(service, tag string) ([]*consul.ServiceEntry, error) {passingOnly : truess, _, err : c.consul.Health().Service(service, tag, passingOnly, nil)if len(ss) 0 err nil {return nil, fmt.Errorf(service ( %s ) was not found, service)}return ss, err }func main() {c, err : NewConsulClient(http://172.20.70.205:8500)if err ! nil {log.Printf(NewConsulClient.err:%v, err)return}nodes : []string{172.20.70.205,172.20.70.215,}nodeExporterSrv : node_exporterfor _, h : range nodes {m : map[string]string{region: bj, cloud: huawei}err c.ServiceRegister(nodeExporterSrv, h, 9100, /, m)if err ! nil {log.Printf([ServiceRegister.err][srv:%v][host:%v][err:%v], nodeExporterSrv, h, err)} else {log.Printf([ServiceRegister.success][srv:%v][host:%v], nodeExporterSrv, h)}}ss, err : c.GetService(nodeExporterSrv, )for _, s : range ss {log.Printf([c.GetService][service_id:%v][err:%v], s.Service.ID, err)//c.DeRegister(s.Service.ID)}} 注册服务的结果 注册service 注销服务 配置 node_exporter的job为consul服务发现模式 配置文档配置文件 - job_name: node_exporterhonor_timestamps: truescrape_interval: 15sscrape_timeout: 10smetrics_path: /metricsscheme: httpconsul_sd_configs:- server: 172.20.70.205:8500services:- node_exporterrelabel_configs:- source_labels: [__meta_consul_dc]target_label: dc- separator: ;regex: __meta_consul_service_metadata_(.)replacement: $1action: labelmaptarget页面和service discovery 页面观察服务发现结果 本节重点总结 : consul 安装consul go代码注册服务注销服务获取服务node_exporter改造为consul服务发现在数量比较大时在注册服务的时候关闭check可以降低consul的压力
http://www.w-s-a.com/news/445236/

相关文章:

  • 网站搜索 收录优化百度推广页面投放
  • 响应式网站的优点浙江省网站域名备案
  • 网站安全 扫描深圳被点名批评
  • 在哪个网站可以一对一做汉教网站优化策略
  • 龙岩做网站的顺企网宁波网站建设
  • 昆山网站建设河北连锁餐厅vi设计公司
  • 新蔡县住房和城乡建设局网站南昌租房网地宝网
  • 南宁做网站费用iis编辑网站绑定
  • 家用宽带做网站服务器建网站费用明细
  • 电商 网站 降低 跳出率 措施 效果书画院网站模板
  • 兰州移动官网网站建设上海工商网上公示系统
  • 在招聘网站里做电话销售免费空间可以上传网站吗
  • 梅州建站怎么做中国建设银行官网下载
  • 网站静态化设计广州网站备案方案
  • 西安网络技术有限公司网站扬中网站建设方案
  • 青海省教育厅门户网站wordpress core
  • idc科技公司网站模板蜜雪冰城网络营销案例分析
  • 微信与网站对接手机软件怎么做
  • 户县网站建设珠海专业制作网站
  • 麦当劳的网站优化建议猎头公司工作怎么样
  • 合肥地区网站制作网页浏览器打不开
  • 做网站的不给ftp网站如何做触屏滑动
  • wordpress statraq重庆百度优化
  • 企业网站官网英文WordPress站点切换为中文
  • 服装公司网站定位一点号自媒体平台
  • 密云微网站建设汽车之家手机官网首页
  • 多语言外贸网站制作苏州建设网站微信公众号
  • 用wordpress建站学什么百度给企业做网站吗
  • 福建城乡建设网站做数码测评的网站
  • 东海县建设局网站wordpress 好用的主题