spring cloud 配置中心配置哪些东西_druid连接池配置优化

spring cloud 配置中心配置哪些东西_druid连接池配置优化访问http://localhost:8761/访问http://localhost:8761/访问http://localhost:8889/writer

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

Config加入Eureka服务治理

前面我们演示的案例是我们有一个Config Server 和一个 Config Client ,我们的Config Client直接从Config Server读取配置,这里九存在一个比较严重的耦合问题,假如我们的单一的Config Server挂掉了的IP或者端口变化了,我们Config Client将无法读取配置。这里我们也可以将Config Server作为一个普通的微服务应用,纳入Eureka的服务治理体系中。这样我们的微服务应用就可以通过配置中心的服务名来获取配置信息,这种方式比起传统的实现模式来说更加有利于维护,因为对于服务端的负载均衡配置和客户端的配置中心指定都通过服务治理机制一并解决了,既实现了高可用,也实现了自维护。

注册config-server

pom.xml

添加spring-cloud-starter-netflix-eureka-client依赖

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>scexample</artifactId>
<groupId>com.pubutech</groupId>
<version>0.0.1-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>config-server</artifactId>
<packaging>jar</packaging>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-config-server</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
</dependencies>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>${spring-cloud.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>

Jetbrains全家桶1年46,售后保障稳定

application.yml

修改application.yml增加eureka注册中心信息

server:
port: 8888
spring:
application:
name: config-server
cloud:
config:
server:
git:
uri: https://github.com/Jaysong2012/scexample     # 配置git仓库的地址
search-paths: springcloud-config-repo                             # git仓库地址下的相对地址,可以配置多个,用,分割。
username:                                             # git仓库的账号(私有库必填)
password:                                             # git仓库的密码(私有库必填)
label: master                                        #配置仓库的分支
eureka:
client:
service-url:
#设置与Eureka Server交互的地址,查询服务和注册服务都需要依赖这个地址。默认是http://localhost:8761/eureka ;多个地址可使用 , 分隔。
defaultZone: http://localhost:8761/eureka/,http://localhost:8762/eureka/,http://localhost:8763/eureka/

ConfigServerApplication.java

修改ConfigServerApplication激活注册

@SpringBootApplication(exclude = { 
DataSourceAutoConfiguration.class})
@EnableConfigServer
//激活注册发现
@EnableDiscoveryClient
public class ConfigServerApplication { 

public static void main(String[] args) { 

SpringApplication.run(ConfigServerApplication.class, args);
}
}

启动测试

访问http://localhost:8761/
high config

config-client发现

pom.xml

修改pom.xml增加spring-cloud-starter-netflix-eureka-client依赖

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>scexample</artifactId>
<groupId>com.pubutech</groupId>
<version>0.0.1-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>config-client</artifactId>
<packaging>jar</packaging>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-config</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
</dependencies>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>${spring-cloud.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>

bootstrap.yml

修改bootstrap.yml去掉spring.cloud.config.uri远程server的地址,并且添加注册中心的配置。

spring:
cloud:
config:
name: springcloud-config             #对应{application}部分
profile: pro                         #对应{profile}部分
#uri: http://localhost:8888/ #配置中心的具体地址
label: master                        #对应git的分支。如果配置中心使用的是本地存储,则该参数无用
discovery:
service-id: config-server      #指定配置中心的service-id,便于扩展为高可用配置集群。
enabled: true #开启Config服务发现支持
eureka:
client:
service-url:
#设置与Eureka Server交互的地址,查询服务和注册服务都需要依赖这个地址。默认是http://localhost:8761/eureka ;多个地址可使用 , 分隔。
defaultZone: http://localhost:8761/eureka/,http://localhost:8762/eureka/,http://localhost:8763/eureka/

ConfigClientApplication.java

修改ConfigClientApplication.java激活注册发现

@SpringBootApplication(exclude = { 
DataSourceAutoConfiguration.class})
//激活注册发现
@EnableDiscoveryClient
public class ConfigClientApplication { 

public static void main(String[] args) { 

SpringApplication.run(ConfigClientApplication.class, args);
}
}

启动测试

访问http://localhost:8761/
8761

此时访问http://localhost:8889/writer
8889

访问成功,读取远程配置。

高可用与负载均衡

同zuul的负载均衡一样,单个config-server容易出现故障,我们可以创建启动多个config-server来避免这个问题。

application-bakcup.yml

案例演示,我们可以在config-server的resources的目录下新建application-bakcup.yml

server:
port: 8887
spring:
application:
name: config-server
cloud:
config:
server:
git:
uri: https://github.com/Jaysong2012/scexample     # 配置git仓库的地址
search-paths: springcloud-config-repo                             # git仓库地址下的相对地址,可以配置多个,用,分割。
username:                                             # git仓库的账号(私有库必填)
password:                                             # git仓库的密码(私有库必填)
label: master                                        #配置仓库的分支
eureka:
client:
service-url:
#设置与Eureka Server交互的地址,查询服务和注册服务都需要依赖这个地址。默认是http://localhost:8761/eureka ;多个地址可使用 , 分隔。
defaultZone: http://localhost:8761/eureka/,http://localhost:8762/eureka/,http://localhost:8763/eureka/

启动测试

java -jar config-server-0.0.1-SNAPSHOT.jar
java -jar config-server-0.0.1-SNAPSHOT.jar  --spring.profiles.active=backup

访问http://localhost:8761/
muilt config

此时 我们关闭8888 config-server
访问http://localhost:8761/
在这里插入图片描述

此时访问http://localhost:8889/writer
writer

GitHub源代码

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/219243.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • linux复制文件scp命令,Linux scp命令详解(服务器之间复制文件或目录)

    linux复制文件scp命令,Linux scp命令详解(服务器之间复制文件或目录)scp:服务器之间复制文件或目录一、命令格式:scp[-1246BCpqrv][-ccipher][-Fssh_config][-iidentity_file][-llimit][-ossh_option][-Pport][-Sprogram][[user@]host1:]file1[…][[user@]host2:]file2简易写法:scp[可选参数]…

  • SC命令(windows服务开启/禁用)

    SC命令(windows服务开启/禁用)

  • BeanCopier_contabo测评

    BeanCopier_contabo测评概述常见或常用的几种Bean属性复制工具Apache.BeanUtilsApache.PropertyUtilSpring.BeanUtilsCglib.BeanCopierMapStructEZMorph使用场景:Dto与Entity转换普通属性复制个别属性过滤属性类型转换数组或集合拷贝性能对比测试在两个简单的Bean之间转换的耗时,执行次数分别为10、10…

  • Js Date日期格式和字符串的相互转化「建议收藏」

    Js Date日期格式和字符串的相互转化「建议收藏」Date格式转字符串varnewDate=newDate();返回的Date格式:WedDec13201716:00:00GMT+0800(中国标准时间)而且是object类型的所需求的格式为2017-12-1316:00:00转换代码varformatDate=function(date){vary=date.getFullYear();

  • Eclipse调试程序

    Eclipse调试程序

  • 关于balun的一些仿真和思考[通俗易懂]

    关于balun的一些仿真和思考[通俗易懂]关于balun的一些仿真和思考1、错误的初始设计,电路图如下:2、来看看ADS里,理想balun的仿真结果3、将原电路的50ohm并接在balun的差分端,而非单端,再看看仿真结果。4、那么为什么出现上述情况呢?5、我们应该如何去做呢?6、总结:如有错误,还请留言区指出~为了提高共模抑制能力,很多芯片的输入输出口会设计成差分口,在射频电路中也是如此。最近在项目测试中,一个关于balun的问题困扰了我很久,迟迟没有想明白。我爸说:“当一个问题你久久思考却毫无头绪时,你就暂时放一放。也许有天突然开窍,你就想

    2022年10月24日

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号