Skip to content

spring cloud 学习笔记0x1 #18

@hugeterry

Description

@hugeterry

服务发现组件 Eureka

  • 创建maven工程
  • 在pom引入依赖(spring cloud依赖可查阅http://projects.spring.io/spring-cloud/
  • 创建module,Eureka Server(服务注册中心)
    • new ->moudle ->Spring initialir->next 填写moudle名->cloud discovery->✅eureka server
  • 在moudle工程下application启动类加@EnableEurekaServer标识为服务注册中心
  • 配置application.properties(idea 注意配置与eclipse不同,踩了坑)
    server.port=8767
    
    eureka.client.register-with-eureka=false
    eureka.client.fetch-registry=false
    eureka.client.serviceUrl.defaultZone=http://localhost:${server.port}/eureka/
    eureka注册实例后会向注册中心发送心跳包,可以把eureka-server也当做eureka-client 需要为它指定server,以上两个false则将其标为server
  • 访问地址加配置的端口,可以看到Eureka界面和 No instances availabl提示
  • 创建module工程,Eureka Client(服务提供者)
    启动类:
    @SpringBootApplication
    @EnableEurekaClient
    @RestController
    public class EurekaclientApplication {
    
       public static void main(String[] args) {
           SpringApplication.run(EurekaclientApplication.class, args);
       }
    
       @Value("${server.port}")
       String port;
    
       @RequestMapping("/nice")
       public String home(@RequestParam(value = "name",   defaultValue = "a") String name) {
            return "hello " + name + " ,port:" + port;
        }
    }
    配置文件:
    server.port=8664
    
    eureka.client.register-with-eureka=false
    eureka.client.serviceUrl.defaultZone=http://localhost:8767/eureka/
    此时注册中心端口设置为eurekaserver的端口,这时启动后也可以多改动端口启动几次,在eurekaserver界面会看到同个应用多个服务提供者,同时访问localhost:8664/nice?name=a,会看到结果返回

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