首页 今日头条正文

中央十三台在线直播,Spring Cloud Bus结合RabbitMQ动态改写装备,江湖风云录

Spring Cloud Bus结合RabbitMQ音讯行列动态改写配备架构图:

(1)为配备中心Config Server端添加Spring Cloud Bus依靠


org.springframework.dnfcd称谓cloud
spring-cloud-s妻欲tarter-bus-amqp

(2)为配备中心Config Server端配备RabbitMQ音讯中间件

spri华球网直播ng:
application:
name: MALL-CONFIG
cloud:
config:
server: # Config 服务端配备,添加一个git库房寄存配备文件
git:
uri: https://github.com/lihailin9073/config-repo.git
username: lihailin9073
password: LHLlhl870104
basedir: D:\javasource\config # 指定加载的配备文件寄存目录
rabbitmq: # 中心十三台在线直播,Spring Cloud Bus结合RabbitMQ动态改写配备,江湖风云录配备RabbitMQ
host: 39.98.172.148
port: 5672
username: admin
中心十三台在线直播,Spring Cloud Bus结合RabbitMQ动态改写配备,江湖风云录password: 123456
eureka:
client:
service-url:
defaultZone: http://system:sys123@peer1:8761/eureka/ # 单点Eureka Server时运用,将微服务注册到单个Eureka节点上,合适用于本地开发和测验
#defaultZone: http://system:sys123@peer1:8761/eureka/,http://system:sys123@peer2:8762/eureka/,http://system:sys123@peer3:8763/eureka/ # 集群Eureka Server时运用,将微服务注册到集群中的多个Eureka节点上,合适用于线上出产环境
# 暴段玉良自首露监控端点
management:
endpoints:
web:
exposure:
include: "*"
endpoint:
health:
show-details: always

留意有必要露出监控端点,以便后续调用配备中心的/bus-refresh 接口

(3)为配备中心C主婚词简略经典onfig Client端添加Spring Cloud Bus依靠


org.springframework.cloud
spring-csupertofuloud-starter-bus-amqp

(4)在配备中心Config Client端配备RabbitMQ音讯中间件

spring:
application:
name: ORDE无敌大军阀R-SERVICE
cloud:
config:
discovery:
enabled: true
service-id: MALL-CONFIG # 配备中心的微服务称号
profile: dev # 加载的配备文件后缀东方之花称号,与前面的运用称号一起构成完好的配备文件称号:{application}-{profile}.yml=order-service-dev.yml
rabbitmq: # 配备RabbitMQ
host: 39.98.172.148
port: 5672
username: admin
password: 123456
eureka:
client:
service-url:
defaultZone: http://system:sys123@peer1:8761/eureka/ # 单点E蔡同伟ureka Server时运用,将微服务注册到单个Eureka节点上,合适用于本地开发和测验
#defaul任家蓉tZone: http://system:sys123@peer1:8761/eureka/,http://system:sys123@peer2:8762/eureka/,http://system:sys123@peer3:8763/eureka/ # 集群Eureka Server时运用,将微服务注册到集群中的多个Eureka节点上,合适用于线上出产环境

(5)显现拉取的配备文件的特点

编写一个控制器类,并运用@RefreshScope注解将该类标示为一个动态改写类,供给一个接口来显现获取到的配备文件中的特点值:

package cn.org.xcore.mall.order.controller;
import cn.org.xcore.mall.order.config.CompanyConfig;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annota兴文天气预报tion.Value;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* 配备中心客户端测验控制器
* @create 2019-09-09 11:05
*/
@RefreshScope
@RestController
@RequestMapping("/test")
public class TestConfigController {
// 经过Config配备中心从Git库房拉取的配备文件中读取特点的值
@Value("${developer}")
private String developer;
@Value("${email}")
private String email;
@Value("${description}")
private String description;
@Autowir性包厢ed
private CompanyConfig companyConfig;
// 经过Config配备中心从Git库房拉取的配备文件中读取特点的值
@GetMapping("/g中心十三台在线直播,Spring Cloud Bus结合RabbitMQ动态改写配备,江湖风云录et_git_config")
public Object getGitConfig() {
String config = "developer="+this.developer + ", email="+ this.email + ", description="+this.description + ", companyConfig="+ companyConfig.toSt樱花树赤色哪里多ring();
return config;
}
}

留意,有必要要将注解@RefreshScope 加在一切运用了Git配备文件中的特点的类头部,否则将无法完成动态改写。中心十三台在线直播,Spring Cloud Bus结合RabbitMQ动态改写配备,江湖风云录

发动order-service微服务,在浏览器拜访该接口:http://localhost:9101/test/get_git_config

显现成果如下图所示:

其间的developer特点的值为lihailin90宫兰芳73,此刻不要重启该微服务,经过下面的第(6)步就能够完成无重启改写配备信息。

(6)无重启手动改写配备

前往GitHub上的库房找到该配备文件然后修正developer的值,修正后的Git库房配备文件如下图所示:

修正完成后,在命令行发送一个post恳求到Config Server配备中心的 /bus-refresh 接口,触发配备中心从头拉取Git库房中的配备文件:

#curl -v -X POST http://localhost:9101/actuator/bus-refresh

留意,在这整一个操作过程中都没有重启过该微服务,此刻再次经过浏览器拜访接口查看developer的值:

http://localhost:9101/test/get_git_config

会发现修正后的值现已被加渝税网载下来了,显现成果如下图所示:

到此,完成了微服务的无重启改写配备的功用;实践项目中微服务个数成千上百个,是不可能一个个去重启它们的,因此在开发工作中假如运用了Spring Cloud,那么必定就需要无重启改写的功用。可是,手动改写究竟也不行便利,能够结合Git渠道供给的Webhooks功用,完成主动改写。

(7)无重启主动改写配备

当Config Server配备中心布置在外网时,能够经过GitHub或其它Gi卢本盒微博t渠道的Webhooks推送功用完成主动改写;假如是本地开发和测验,能够运用natapp内网穿透东西(https://natapp.cn)刘官金将外网域名映射到本地机器,为Webhooks供给推送接口;以GitHub为例,配备如下所示:

其间的Payload URL指的是配备中心Spring Cloud Config Server布置的服务器域名地址,格局为:http://www.domain.com/monitor。

配备好GitHub上的Webhooks推送今后,还需要为Spring Cloud Config Server端添加spring-cloud-config-monitor依靠,如下所示:


org.springframework.cloud
spring-cloud-config-monitor

添加完依靠后,将配备中心Config Server布置到外网可拜访的服务器上,然后解析一个中心十三台在线直播,Spring Cloud Bus结合RabbitMQ动态改写配备,江湖风云录域名曩昔(假如不解析域名,就将服务器的IP地址填写到GitHub的Webhooks中),测验可正常拜访后,在G中心十三台在线直播,Spring Cloud Bus结合RabbitMQ动态改写配备,江湖风云录itHub库房中修正配备文件,GitHu操翻b的Webhooks就会推送告诉到 /monitor 接口告诉配备中心拉大肚子妈妈取新的配备文件。

以解析的【http://mall-config.wzliulan.com/monitor】域名为例,翻开浏览器拜访接口:

http://mall-config.wzliulan.com/t中心十三台在线直播,Spring Cloud Bus结合RabbitMQ动态改写配备,江湖风云录est/get_git_config

这个接口会显现配备文件中的几个特点值,经过它的显现成果能够查看配备是否能够主动改写。

版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。