Skip to content

spring cloud 学习笔记0x7 #24

@hugeterry

Description

@hugeterry

高可用的分布式配置中心

  • 创建一个名为scconfig-eureka-server的eureka-server工程,国际惯例三步走:
    • new ->moudle ->Spring initialir->next 填写moudle名->cloud discovery->✅eureka server
    • 配置application.properties
      server.port=8558
      
      eureka.client.register-with-eureka=false
      eureka.client.fetch-registry=false
      eureka.client.serviceUrl.defaultZone=http://localhost:${server.port}/eureka/
    • 入口类增加@EnableEurekaServer 注解
  • 改造scconfig-server
    • 在pom上增加spring-cloud-starter-netflix-eureka-client起步依赖
      <dependency>
          <groupId>org.springframework.cloud</groupId>
          <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
      </dependency>
    • 配置文件增加服务中心的基本配置
      eureka.client.serviceUrl.defaultZone=http://localhost:8558/eureka/
    • 启动类增加@EnableEureka 注解
  • 改造scconfig-client
    • 配置bootstrap.properties

      spring.application.name=config-client
      server.port=8551
      spring.cloud.config.label=master
      spring.cloud.config.profile=dev
      #spring.cloud.config.uri= http://localhost:8555/
      
      eureka.client.serviceUrl.defaultZone=http://localhost:8558/eureka/
      spring.cloud.config.discovery.enabled=true
      spring.cloud.config.discovery.serviceId=config-serve
      • spring.cloud.config.discovery.enabled 从配置中心读取文件。
      • spring.cloud.config.discovery.serviceId 配置中心的servieId,即服务名
        此时就不需要填写url了,直接写服务名即可,这时可以配置服务部署多份,就可以负载均衡,实现高可用
    • 依次启动scconfig-eureka-server,scconfig-server,scconfig-client

    • 访问http://localhost:8558/ 可以看到三个服务

    • 访问http://localhost:8551/c 可以看到返回结果

      info:hugeterry version 1

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions