一:介绍【本文版权归微信公众号"代码艺术"(ID:onblog)全部,如果转载请务必保留本段原创声明,违者必究。】html
1)导包web
<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-eureka-server</artifactId> </dependency>
2 )application.yml配置Eureka信息spring
server: port: 8761 eureka: instance: hostname: eureka-server #eureka实例的主机名 client: register-with-eureka: false #不把本身注册到eureka fetch-registry: false #不从eureka上获取服务的注册信息 service-url: defaultZone: http://localhost:8761/eureka/
3)开启@EnableEurekaServer注解微信
package cn.zyzpp.eurekaserver; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer; /** * 开启@EnableEurekaServer注解 */ @EnableEurekaServer @SpringBootApplication public class EurekaServerApplication { public static void main(String[] args) { SpringApplication.run(EurekaServerApplication.class, args); } }
4)开启注册中心架构
1)导入依赖app
<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-eureka-server</artifactId> </dependency>
2)application.yml配置Eureka信息负载均衡
server: port: 8001 #8002 spring: application: name: provider-ticket eureka: instance: prefer-ip-address: true #注册服务的时候使用服务的Ip地址 client: service-url: defaultZone: http://localhost:8761/eureka/
3)Service层方法分布式
package cn.zyzpp.providerticket.service; import org.springframework.stereotype.Service; /** * Create by yster@foxmail.com 2018/6/4/004 18:37 */ @Service public class TicketService { public String getTicket(){ return "《厉害了,个人国》"; } }
4)暴露HTTP接口ide
/** * Create by yster@foxmail.com 2018/6/4/004 18:39 */ @RestController public class TicketControllert { //轻量级HTTP @Autowired private TicketService ticketService; @GetMapping("/ticket") public String getTicket(){ System.out.println("8001"); //8002 return ticketService.getTicket(); } }
5)而后更改端口,分别打包该模块为jar包。运行。微服务
【本文版权归微信公众号"代码艺术"(ID:onblog)全部,如果转载请务必保留本段原创声明,违者必究。】
1)application.yml配置Eureka信息
server: port: 8200 spring: application: name: consumer-user eureka: instance: prefer-ip-address: true #注册服务的时候使用服务的Ip地址 client: service-url: defaultZone: http://localhost:8761/eureka/
2)开启发现服务的功能,使用负载均衡机制(默认轮询)
import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.client.discovery.EnableDiscoveryClient; import org.springframework.cloud.client.loadbalancer.LoadBalanced; import org.springframework.context.annotation.Bean; import org.springframework.web.client.RestTemplate; @EnableDiscoveryClient /*开启发现服务功能*/ @SpringBootApplication public class ConsumerUserApplication { public static void main(String[] args) { SpringApplication.run(ConsumerUserApplication.class, args); } @LoadBalanced /*开启负载均衡机制*/ @Bean public RestTemplate getRestTemplate(){ return new RestTemplate(); } }
3)获取服务
/** * Create by yster@foxmail.com 2018/6/4/004 19:13 */ @RestController public class UserController { @Autowired private RestTemplate restTemplate; @GetMapping("/buy") public String getTicket(){ String s = restTemplate.getForObject("http://PROVIDER-TICKET/ticket",String.class); return "购买了 "+s; } }
【本文版权归微信公众号"代码艺术"(ID:onblog)全部,如果转载请务必保留本段原创声明,违者必究】