springcloud微服务的配置中心

目录

为什么使用配置中心?

有哪些组件可以作为配置中心来使用?

nacos作为配置中心。

nacos配置中心的客户端使用。---微服务。

在微服务中使用配置中心的配置文件。

多环境下的配置

不同的微服务会使用相同的配置。

apollo也是配置中心

搭建apollo服务端

客户端使用apollo


为什么使用配置中心?

springcloud微服务的配置中心_第1张图片

有哪些组件可以作为配置中心来使用?

(1) nacos 它是阿里的产品,可以作为配置中心。

(2) apollo 携程的产品。

(3) springcloud config 这是springcloud自带的配置

nacos作为配置中心。

(1) nacos服务端只需要下载nacos的压缩文件。(2)解压并启动nacos服务器。

nacos配置中心的客户端使用。---微服务。

springcloud微服务的配置中心_第2张图片

在微服务中使用配置中心的配置文件。

必须使用bootstrap.properties[yml] 这个配置文件的加载顺序,高于application.properties

# 必须微服务的名称 因为他会根据该名称在配置中心找到与之对应的配置。 

spring.application.name=shop-product 
# 配置 配置中心的地址 
spring.cloud.nacos.config.server-addr=localhost:8848

在微服务中必须引入nacos配置中心的依赖

 
    com.alibaba.cloud 
    spring-cloud-starter-alibaba-nacos- config 

读取配置文件的内容

@RestController 
@RequestMapping("product") 
@RefreshScope //解决实时刷新。 
public class ProductController { 
    @Autowired 
    private ProductService productService; 
    @Value("${teacher.name}") //必须OSS:---bucket key secret 放入配置文件中。 
    public String name; 
    @GetMapping("hello") 
    public String hello(){ 
        return name; 
    }

    @GetMapping("findById")
    public Product findById(@RequestParam Integer pid){ 
        try {
            Thread.sleep(2000); 
        } catch (InterruptedException e) {
            e.printStackTrace(); 
        }
            return productService.findById(pid); 
        } 
}

多环境下的配置

由于以后开发的环境有很多,比如开发环境,测试环境,线上环境。 这些环境使用的配置不尽相同,如 果我们频繁的修改配置内容,不实际。 所以我们会为不同的环境创建不同的配置文件,配置为了区分不 同的环境中的配置。namespace.

springcloud微服务的配置中心_第3张图片

微服务客户端使用命名空间

#指定命名空间

spring.cloud.nacos.config.namespace=71aa1662-3935-4c03-9300-673f1583e1dd

不同的微服务会使用相同的配置。

springcloud微服务的配置中心_第4张图片

如果数据源的地址发生改变,那么必须把所有微服务的数据源的地址都要修改一遍。

springcloud微服务的配置中心_第5张图片

#引入额外的配置内容 

spring.cloud.nacos.config.extension-configs[0].data-id=datasource 
# 是否配置实时刷新 

spring.cloud.nacos.config.extension-configs[0].refresh=true 

spring.cloud.nacos.config.extension-configs[1].data-id=nacos-discovery

apollo也是配置中心

1.搭建apollo服务端

1)环境准备 jdk1.8以上 mysql必须5.6以上

2)下载apollo服务端软件。

        https://github.com/nobodyiam/apollo-build-scripts

3)解压 创建两个数据库

springcloud微服务的配置中心_第6张图片

(4)把相应的sql语句导入到不同的数据库中

springcloud微服务的配置中心_第7张图片

(5)修改demo.sh中连接数据库的信息

springcloud微服务的配置中心_第8张图片

(6)启动apollo服务端 git

springcloud微服务的配置中心_第9张图片

客户端使用apollo

(1)在apollo服务端创建项目

springcloud微服务的配置中心_第10张图片

(2)发布项目的配置内容

(3 )项目中引入 apollo 的依赖
 
 
    com.ctrip.framework.apollo 
    apollo-client 
    1.1.0 
  (4) 配置 apollo
app:
  id: my-apollo 
apollo: 
  meta: http://localhost:8080 
  bootstrap: 
    enabled: true

你可能感兴趣的:(spring,cloud,java,数据库,spring)