Eureka入门

使用SpringCloud项目搭建一个简单的Eureka C/S demo

1.新建一个SpringBoot项目,去掉多余的文件夹及文件,保留Pom文件,这个项目作为父项目。在pom中引入SpringBoot2.2.2.RELEASE 及SpringCloud Hoxton.SR1版本

 <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>

2.新建三个子项目,即maven项目,一个作为Eureka的服务器,两个作为Eureka的客户端(服务提供者和消费者)。

在Eureka服务器项目中的pom文件中引入Eureka-server的依赖及添加配置文件application.yml

<dependencies>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
        </dependency>
    </dependencies>
server:
  port: 10086
spring:
  application:
    name: eureka-server
eureka:
  server:
    service-url:
      defaultZone: http://127.0.0.1:10086/eureka/

 

在Eureka客户端项目中的pom文件中引入Eureka-client的依赖,服务的远程调用要用到RestTemplate引入web依赖,添加配置文件application.yml。

<dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
        </dependency>
    </dependencies>
server:
  port: 8090
eureka:
  client:
    service-url:
      defaultZone: http://127.0.0.1:10086/eureka/
spring:
  application:
    name: consumer

在服务消费者和提供者中编写业务代码,然后在消费者项目的配置类中加上RestTemplate这个Bean,加上负载均衡注解

    @LoadBalanced
    @Bean
    public RestTemplate getRestTemplate(){
        return new RestTemplate();
    }

即可使用RestTemplate通过服务名来远程调用消费者服务。

 String url = "http://eureka-client/getProduct";
 JSONObject forObject = restTemplate.getForObject(url, JSONObject.class);

 

posted @ 2022-08-17 23:01  unlimitedbladeworks  阅读(52)  评论(0)    收藏  举报