注册中心依赖: <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-dependencies</artifactId> <version>${spring-cloud.version}</version> <type>pom</type> <scope>import</scope> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId> <version>3.1.2</version> </dependency> 启动类上加@EnableEurekaServer注解
服务注册依赖:
<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-dependencies</artifactId> <version>${spring-cloud.version}</version> <type>pom</type> <scope>import</scope> </dependency> 启动类上加@EnableDiscoveryClient注解
服务发现:
@Configuration public class ConfigBean { @Bean @LoadBalanced public RestTemplate getRestTemplate(){ return new RestTemplate(); } }
@Autowired
RestTemplate restTemplate;
加了负债均衡的话,url是服务名字,否则是ip地址
url = "http://serviceName/"
restTemplate.getForObject(url,class);
yml配置(注册中心和客户端都要配eureka)
spring: application: name: 起个名字 eureka: instance: prefer-ip-address: true ip-address: ip地址 client: service-url: defaultZone: http://ip地址:端口号/eureka/ server: port: 7000