一、服务注册和发现是什么?
服务注册就是向服务注册中心注册一个服务实例,服务提供者将自己的服务信息(服务名、IP地址等)告知注册中心。服务发现是服务消费另一个服务时,注册中心将服务的实例返回给服务消费者,一个服务既是服务提供者又是服务消费者。
服务注册中心健康检查机制,当一个服务实例注册成功以后,会定时向注册中心发送一个心跳证明自己可用,若停止发送心跳证明服务不可用将会别剔除。若过段时间继续想注册中心提供心跳,将会重新加入服务注册中心列表中。、
二、什么是Hystrix?它如何实现容错?
Hystrix 是一个延迟和容错库,旨在隔离远程系统,服务和第三方库的访问点,当出现故障是不可避免的故障时,停止级联故障并在复杂的分布式系统中实现弹性。
通常对于使用微服务架构开发的系统,涉及到许多微服务。这些微服务彼此协作。
三、什么是Netflix Feign?它的优点是什么?
Feign可以把Rest的请求进行隐藏,伪装成类似SpringMVC的Controller一样。你不用再自己拼接url,拼接参数等等操作,一切都交给Feign去做。
1.feign采用的是基于接口的注解
2.feign整合了ribbon,具有负载均衡的能力
3.整合了Hystrix,具有熔断的能力
四、Eureka的工作原理
Eureka
:服务注册中心(可以是一个集群),对外暴露自己的地址提供者
:启动后向Eureka注册自己信息(地址,提供什么服务)消费者
:向Eureka订阅服务,Eureka会将对应服务的所有提供者地址列表发送给消费者,并且定期更新心跳(续约)
:提供者定期通过http方式向Eureka刷新自己的状态(每30s定时向EurekaServer发起请求
五、什么是zuul
zuul是对SpringCloud提供的成熟对的路由方案
,他会根据请求的路径不同,网关会定位到指定的微服务,并代理请求到不同的微服务接口,他对外隐蔽了微服务的真正接口地址。
六、什么是Ribbon
七、SpringCloud Config可以实现实时刷新吗
springcloud config实时刷新采用 SpringCloud Bus
消息总线