十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
这篇文章主要讲解了“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服务发现组件这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是创新互联,小编将为大家推送更多相关知识点的文章,欢迎关注!