SpringCloud微服务——配置中心config(oracle数据库实现方式)

文章目录

  • 配置中心
    • 服务端
    • 客户端

配置中心

config配置中心,可以使用多种实现方式:git、svn、文件系统、数据库。这里介绍的是使用数据库的方式。

服务端

在pom文件中,引入jar包:


<dependency>
	<groupId>org.springframework.cloudgroupId>
	<artifactId>spring-cloud-config-serverartifactId>
dependency>


<dependency>
	<groupId>org.springframework.cloudgroupId>
	<artifactId>spring-cloud-starter-netflix-eureka-clientartifactId>
dependency>


<dependency>
	<groupId>com.baomidougroupId>
	<artifactId>mybatis-plus-boot-starterartifactId>
dependency>
<dependency>
	<groupId>oracle.jdbcgroupId>
	<artifactId>ojdbc6artifactId>
dependency>


<dependency>
	<groupId>org.springframework.cloudgroupId>
	<artifactId>spring-cloud-starter-bus-amqpartifactId>
dependency>

这里使用的是rabbitmq,也可以使用kafka:


<dependency>
	<groupId>org.springframework.cloudgroupId>
	<artifactId>spring-cloud-starter-bus-kafkaartifactId>
dependency>

然后在配置文件中,加入配置:

server.port=30000
spring.application.name=fyk-config
eureka.client.serviceUrl.defaultZone=http://admin:[email protected]:11111/eureka/
eureka.instance.prefer-ip-address=true
#为服务指定自己的IP地址
eureka.instance.ip-address=192.168.13.76

##指定配置方式是JDBC方式
spring.profiles.active=jdbc
#查询语句需要保证三个参数(查看spring.cloud.config.server.jdbc.sql属性,就可以找到默认的语句是什么)
spring.cloud.config.server.jdbc.sql=SELECT KEY, VALUE from PROPERTIES where APPLICATION=? and PROFILE=? and LABEL=? and ENABLE = 1

spring.datasource.driverClassName=oracle.jdbc.driver.OracleDriver
spring.datasource.url=jdbc:oracle:thin:@192.168.13.76:1521/fykoracle
spring.datasource.username=fyk_plat
spring.datasource.password=fyk_plat

#rabbitmq配置
spring.rabbitmq.host=192.168.13.193
spring.rabbitmq.port=5672
spring.rabbitmq.username=fyktest
spring.rabbitmq.password=fyktest

#Kafka的服务端列表,默认localhost
#spring.cloud.stream.kafka.binder.brokers=192.168.13.192:9092

management.endpoints.web.exposure.include=*

最后写启动类:

@EnableConfigServer
@EnableDiscoveryClient
@SpringBootApplication
public class ConfigApplication {

	public static void main(String[] args) {
		SpringApplication.run(ConfigApplication.class, args);
	}
}

客户端

pom文件中,引入jar包:


<dependency>
	<groupId>org.springframework.cloudgroupId>
	<artifactId>spring-cloud-config-clientartifactId>
dependency>


<dependency>
	<groupId>org.springframework.cloudgroupId>
	<artifactId>spring-cloud-starter-bus-amqpartifactId>
dependency>

这里使用的是rabbitmq,如果要使用kafak,则将jar包替换:


<dependency>
    <groupId>org.springframework.cloudgroupId>
    <artifactId>spring-cloud-starter-bus-kafkadependency>

然后在resource目录下,新建bootstrap.properties文件:(这个文件中的内容,一般来说不会变,至于注册中心地址,端口号之类的,一般在正式使用的时候,都是通过外部启动命令指定的)

server.port=8881
spring.application.name=fyk-oauth
eureka.client.serviceUrl.defaultZone=http://admin:[email protected]:11111/eureka/
eureka.instance.prefer-ip-address=true
#为服务指定自己的IP地址
eureka.instance.ip-address=192.168.13.76

#配置中心信息:从配置中心获取配置信息
#由于网络波动等原因,可能初次没有获取到配置,failFast就是配置重试(spring.cloud.config.retry中还有一些重试属性:重试次数,重试频率等)
spring.cloud.config.fail-fast=true
spring.cloud.config.name=fyk-oauth
spring.cloud.config.profile=dev
spring.cloud.config.label=L1
spring.cloud.config.discovery.enabled=true
spring.cloud.config.discovery.service-id=fyk-config

#由于actuator下默认端点时health和info,没有refresh端点,以此需要添加该端点
#management.endpoints.web.exposure.include=health,info,refresh
#或者使用如下配置,将所有的节点都打开
management.endpoints.web.exposure.include=*

然后将以前的application.properties中的配置,移到数据库中:(application.properties文件就可以删除了,留着也行,只是相同的配置,将会以数据库的为准了)
SpringCloud微服务——配置中心config(oracle数据库实现方式)_第1张图片这里使用的是的rabbitmq的链接信息,如果是kafka,就换成kafka的链接信息就可以了。

你可能感兴趣的:(Spring,Cloud微服务)