啓動eureka註冊中心的方式很簡單,在springboot的啓動類上加上註解
@EnableEurekaServer
將resource下面的 application.properties文件改成application.yml文件並添加以下配置:java
server: port: 8801 eureka: instance: hostname: localhost client: registerWithEureka: false fetchRegistry: false serviceUrl: defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/
建立模塊和上個同樣,到這裏變化一下,
一樣的修改pom, 注意
加上 @ComponentScan 註解,而後添加 @EnableDiscoveryClient 註冊服務,而後注入RestTemplate對象,
@LoadBalanced 表示開啓負載均衡
web
@Bean @Autowired @LoadBalanced RestTemplate restTemplate(){ return new RestTemplate(); }
編寫controller
controller代碼spring
@RestController public class HelloController { @Autowired private HelloService helloService; @GetMapping("/hello") public String hello(){ String hello = helloService.sayHello(); return hello; } }
service代碼springboot
@Service public class HelloService { public String sayHello(){ return "helloWorld"; // 提供一個hello World } }
配置文件app
eureka: client: serviceUrl: defaultZone: http://localhost:8801/eureka/ server: port: 8802 spring: application: name: ribbon-provider
看到這裏,就啓動成功了
負載均衡
能夠看下以前怎麼建立的,
只需更改一下service 的部分代碼就行
還有配置文件maven
eureka: client: serviceUrl: defaultZone: http://localhost:8801/eureka/ server: port: 8803 spring: application: name: ribbon-provider
啓動服務,訪問http://127.0.0.1:8803/hello 看到這就成功了
此時咱們的eureka已經有2個相同的服務了,
ide
feign消費是經過註解的方式進行的消費模式,它默認打開了負載均衡,仍是在cloudDemo下建立一個module,名字叫feign:
svg
能夠複製以前controller和service,再建立一個rpc文件夾
測試
@FeignClient("ribbon-provider") public interface GetHello { @GetMapping(value = "/hello") public String sayHello(); }
一樣的修改配置文件
eureka: client: serviceUrl: defaultZone: http://localhost:8801/eureka/ server: port: 8804 spring: application: name: feign-consumer
啓動類加上註解
@EnableDiscoveryClient //用於註冊和發現服務
@EnableFeignClients
不停的訪問http://127.0.0.1:8804/hello
咱們的cloud服務就成功了