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

微信内部劵网站怎么做环保局网站设计方案

微信内部劵网站怎么做,环保局网站设计方案,wordpress 文章添加字段,网站建设大庆一、背景 consul既可以作为服务注册中心,也可以作为分布式配置中心。当它作为服务注册中心的时候,java微服务之间的调用,会定期查询服务的实例列表,并且实例的状态是健康可用。 如果发现被调用的服务,注册到consul的…

一、背景

consul既可以作为服务注册中心,也可以作为分布式配置中心。当它作为服务注册中心的时候,java微服务之间的调用,会定期查询服务的实例列表,并且实例的状态是健康可用。

如果发现被调用的服务,注册到consul的实例,没有一个是健康可用的时候,就会出现HystrixRuntimeException错误。

调用用户服务出现的异常示例:

HystrixRuntimeException: UserFeignService#customClassWithMems(Integer,String,Boolean) failed and fallback failed. 

所以,我们要及时发现不健康的实例,本文就讨论下如何做好consul服务的监控及告警。

二、生产环境的consul集群

  • 设计思路

1、生产环境下,consul采用HTTP Basic认证,访问 https://consul.xxx.net,输入用户名和密码。
后期的http请求,会在http header增加字段Authorization:Basic xxx,就不用每次交互都需要输入用户名和密码。

2、只能剔除同一个agent下的实例,所以提供UI的consul node,暴露到外网,同时不让服务注册到该node。这样更加安全,从外网无法剔除其他node上的服务。

在这里插入图片描述

  • API网关对外网域名路由,启用HTTP Basic Auth
    在这里插入图片描述

输入用户名和密码,校验成功,在http header会增加这么一个Key,
Authorization:Basic SGhvxxx2346SUdZcjlsO2V5O1==
在这里插入图片描述
所以,我们在请求consul api的时候,必须在http header增加上面的Key-Value键值对。

  • 除了上面的http基本认证,我们还会要求访问consul得有token

示例:

curl -X PUT http://192.168.10.51:8500/v1/agent/service/deregister/user-service-192-168-5-16-8003?token=4db4d360-e5vc-4a36-723e-5x370e9f2432

至此,我们把背景和准备知识都铺垫完成,第三部分,我将把具体如何做监控的过程,详细描述。

三、监控脚本

# Consul Address
CONSUL_ADDR="https://consul.xxx.net"
# Consul acl token
CONSUL_ACL_TOKEN="4db4d360-e5vc-4a36-723e-5x370e9f2432"
# http basic auth (base64 the username and password)
HTTP_HEADER="Authorization:Basic SGhvxxx2346SUdZcjlsO2V5O1=="
# send alert message
ALERT_SYSTEM_INTERFACE="http://192.168.80.180:31767/api/v1/consul/alert"# Get a list of all services from Consul
SERVICES=$(curl -H "${HTTP_HEADER}" -s "${CONSUL_ADDR}/v1/catalog/services?token=${CONSUL_ACL_TOKEN}" | jq -r 'keys[]')# Loop through each service and check its health
for SERVICE_NAME in ${SERVICES}; doHEALTHY_COUNT=$(curl -H "${HTTP_HEADER}" -s "${CONSUL_ADDR}/v1/health/service/${SERVICE_NAME}?token=${CONSUL_ACL_TOKEN}&passing=true" | jq '. | length')if [ "${HEALTHY_COUNT}" -eq 0 ]; thenecho "WARNING!!! All instances of ${SERVICE_NAME} are unhealthy."ALERT_MSG="{\"consulAddress\":\"online consul\",\"content\":\"All instance of ${SERVICE_NAME} are unhealthy.\",\"serviceName\":\"${SERVICE_NAME}\"}"curl -X POST -H "Content-Type:application/json" -d "${ALERT_MSG}" "${ALERT_SYSTEM_INTERFACE}"fi
done

四、告警接口

  • http调用示例
curl -X POST -H  "Content-Type:application/json" \
-d "{\"consulAddress\":\"online consul\",\"content\":\"All instance of user-service are unhealthy.\",\"serviceName\":\"user-service\"}" \
"http://192.168.80.180:31767/api/v1/consul/alert"
  • 接口设计

## Consul健康告警**接口地址**:`/api/v1/consul/alert`**请求方式**:`POST`**请求数据类型**:`application/json````javascript
{"consulAddress": "192.168.10.61:8500","content": "","serviceName": "user-service"
}

请求参数:

参数名称参数说明请求类型是否必须数据类型schema
consulAlertDTOconsulAlertDTObodytrueConsulAlertDTOConsulAlertDTO
  consulAddressconsul地址truestring
  content内容falsestring
  serviceName服务名称truestring

接口的实现,这里就不进行详述了。

当发现某个服务没有一个健康可用的实例时,相关人员将收到告警消息。
在这里插入图片描述

http://www.yayakq.cn/news/614223/

相关文章:

  • Hdi做指数网站网站设计英文报告
  • 做公司网站优劣势discuz应用中心退款
  • 巴南区网站建设临沂网站公众号建设
  • dreamware做网站首页商务型网站有哪些
  • 建立网站企业网站建设与设计实训总结
  • 网站建设需要注意的关键细节常熟市住房和城乡建设部网站
  • 网站推广教程优化整站傻瓜做网站软件
  • 网站设计与网页制作项目教程百度推广的四种收费形式
  • 湖南网站建设优化免费制作微信小程序的网站
  • 简单的手机网站模板全屋整装十大公认品牌加盟
  • 怎么样做美术招生信息网站wordpress微信接入
  • 南京微信网站建设陕西营销型网站建设公司
  • 游戏网站建设收费明细阿里云域名购买流程
  • 中职电子商务网站建设与维护考试题深圳英文网站建设公司
  • 济南制作网站企业个人简历网站开发
  • 排名推广网站设计网站100个免费
  • 重庆网站目录互动平台抽手机
  • 自己做网站网页归档企业产品网站模板
  • 专做茶叶的网站江苏市场监督管理局电话
  • 更改网站图片做图片网站 服务器
  • 做婚介网站如何制作聊天软件
  • 韩国企业网站模板下载网站优化哪家公司好
  • 前端做项目的网站资源1千元以下做网站的公司
  • 建设工程施工证哪个网站查询工业软件开发技术学什么
  • 河北网站建设方案详细外贸网站推广渠道
  • 八零云自助建站免费建站平台网络公司哪个平台好
  • 设计网站开发费用计入什么科目帝国cms资源网模板
  • 微商城网站建设方案建设什么网站可以赚钱
  • 网站建设制作费用南宁网站建设公司哪里
  • 番禺附近网站建设推广用手机做网站