关于springcloud微服务中使用注册中心eureka的简单配置,服务提供与调用的流程说明,熔断机制的配置。
【1】注册中心eureka
application.properties配置文件
spring.application.name=spring-cloud-eureka
server.port=8000
eureka.client.register-with-eureka=false
eureka.client.fetch-registry=false
eureka.client.serviceUrl.defaultZone=http://localhost:${server.port}/eureka/
启动后访问地址,即可看到spring Eureka注册中心页面
【2】服务提供与调用
流程是首先启动注册中心,然后服务提供者生产服务并注册到服务中心,消费者从服务中心获取服务并执行
1.检查提供者服务
http://localhost:9000/hello?name=ardo
2.客户端(消费者)通过feign调用了远程服务hello
http://localhost:9001/hello/ardo
负载均衡:
在生产者配置文件中只修改端口为9003打包启动后,eureka发现两个服务提供者,在浏览器依次输入
http://localhost:9001/hello/ardo 测试会发现两种结果交替出现,如果提供者数量提高为N,那么就是N个服务进行负载
【3】熔断机制
在消费者配置文件中增加,熔断配置开启设置
feign.hystrix.enabled=true
然后在消费者接口注解上修改为(增加fallback)
@FeignClient(name="spring-cloud-producer",fallback=HelloRemoteHystrix.class)
最后增加类HelloRemoteHystrix来实现该接口以处理生产者故障时触发该方法(熔断机制)
问题总结
【1】注册中心服务info打不开解决方法:
https://blog.csdn.net/ruipeng250/article/details/82586746
【2】spring cloud feign 调用微服务转发不了request请求头和参数问题解决方案
https://blog.csdn.net/xdsm1234/article/details/78834893
【3】restTemplate实现http HttpServletRequest参数传输