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

浙公网安备 33010602011771号