您好,登錄后才能下訂單哦!
這篇文章主要講解了“spring clound實現eureka服務發現組件”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“spring clound實現eureka服務發現組件”吧!
配置
server: port: 8087 eureka: instance: hostname: eureka-server # eureka 實例的主機名稱 client: register-with-eureka: false #不把自己注冊到eureka上 fetch-registry: false #不從eureka上獲取服務的注冊信息 service-url: defaultZone: http://localhost:8007/eureka/
package com.eureka; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer; // 開啟eureka功能 @EnableEurekaServer @SpringBootApplication public class EurekaServerApplication { public static void main(String[] args) { SpringApplication.run(EurekaServerApplication.class, args); } }
服務提供者 eureka discovery
server: port: 8003 spring: application: name: provider-ticket eureka: instance: prefer-ip-address: true # 注冊服務的時候使用服務的ip地址 client: service-url: defaultZone: http://localhost:8761/eureka/
服務消費者 eureka discovery
配置信息
spring: application: name: consumer-user server: port: 8200 eureka: instance: prefer-ip-address: true # 注冊服務的時候使用服務的ip地址 client: service-url: defaultZone: http://localhost:8761/eureka/
package com.eureka; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.client.loadbalancer.LoadBalanced; import org.springframework.cloud.netflix.eureka.EnableEurekaClient; import org.springframework.context.annotation.Bean; import org.springframework.web.client.RestTemplate; @EnableEurekaClient // 開啟服務監聽 @SpringBootApplication public class ConsummerApplication { public static void main(String[] args) { SpringApplication.run(ConsummerApplication.class, args); } /** * 注冊一個請求的Rest請求的Template * 只有加入LoadBalanced的類才能夠使用注冊的域名進行訪問 * @LoadBalanced加入請求 生效 http://PROVIDER-TICKET/hello * 否則不生效 * 原因: * 至于為什么一定要該注解修飾,這里我大概講一下。loadBalance這個注解加上之后,這個注解有3件事情要處理。 * * 第一件就是從負載均衡器中選一個對應的服務實例,那有的人就會問為什么從負載均衡器中挑選,原因很明顯就是,所有的服務名實例都放在負載均衡器中的serverlist。 * * 第二件事情就是從第一件事情挑選的實例中去請求內容。 * * 第三件事情就是由服務名轉為真正使用的ip地址 * @return */ @LoadBalanced @Bean public RestTemplate restTemplate(){ return new RestTemplate(); } }
實現請求
@RestController public class UserController { @Autowired RestTemplate template; @Autowired private LoadBalancerClient client; @GetMapping("/gethello") public String hello(){ ServiceInstance instance = client.choose("provider-ticket"); System.out.println(instance.getHost()); System.out.println(instance.getPort()); template.getForObject("http://PROVIDER-TICKET/hello",String.class); return " e213123"; } }
感謝各位的閱讀,以上就是“spring clound實現eureka服務發現組件”的內容了,經過本文的學習后,相信大家對spring clound實現eureka服務發現組件這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。