spring cloud 学习笔记

spring cloud 学习笔记_第1张图片
新建工程

1:之前是用web 现在用spring cloud 建立服务端 用到注解 @EnableEurekaServer

服务端本身是一个client register-with-eureka:false  fetchRegistry:false 两个false 表明是server

spring cloud 学习笔记_第2张图片
server配置

2:建立客户端 用到的注解 @EnableEurekaClient 这里再用到@Value("${server.port}")

其中核心:spring:application:name:service-hi 这在以后的服务与服务之间相互调用一般都是根据这个name 。


spring cloud 学习笔记_第3张图片
client配置


插入依赖注入 控制反转的概念:

那到底是什么东西的“控制”被“反转”了呢?对应到前面的例子,“控制”是指选择GeLi角色扮演者的控制权;“反转”是指这种控制权从《墨攻》剧本中移除,转交到导演的手中。对于软件来说,即是某一接口具体实现类的选择控制权从调用类中移除,转交给第三方决定。

因为IoC确实不够开门见山,因此业界曾进行了广泛的讨论,最终软件界的泰斗级人物Martin Fowler提出了DI(依赖注入:Dependency Injection)的概念用以代替IoC,即让调用类对某一接口实现类的依赖关系由第三方(容器或协作类)注入,以移除调用类对某一接口实现类的依赖。“依赖注入”这个名词显然比“控制反转”直接明了、易于理解。

spring cloud 服务调用方式一  ribbon+restTemplate 用到的注解@Bean @LoadBalanced @EnableDiscoveryClient

//在工程的启动类中,通过@EnableDiscoveryClient向服务中心注册;并且向程序的ioc注入一个bean: restTemplate;并通过@LoadBalanced注解表明这个restRemplate开启负载均衡的功能。

ribbon是一个负载均衡客户端,可以很好的控制htt和tcp的一些行为。Feign默认集成了ribbon。

ribbon 已经默认实现了这些配置bean:

IClientConfig ribbonClientConfig: DefaultClientConfigImpl

IRule ribbonRule: ZoneAvoidanceRule

IPing ribbonPing: NoOpPing

ServerList ribbonServerList: ConfigurationBasedServerList

ServerListFilter ribbonServerListFilter: ZonePreferenceServerListFilter

ILoadBalancer ribbonLoadBalancer: ZoneAwareLoadBalancer

spring cloud 学习笔记_第4张图片
原理图


spring cloud 学习笔记_第5张图片
解析

spring cloud 服务调用方式二  Feign 用到的注解 @FeignClient(value="SERVICE-HI",url="http://192.168.1.53:8763")  @EnableFeignClients @EnableDiscoveryClient

1:feign采用的是接口加注解

2:feign 整合了ribbon

推荐使用feign


断路由 方式一:ribbon

断路由 用到的注解 @EnableHystrix(在入口填写)  @HystrixCommand(fallbackMethod="hiError") hiError 为服务故障的方法


spring cloud 学习笔记_第6张图片
断路由原理图


断路由 方式二:feign

用到的注解:@FeignClient(value="SERVICE-HI",fallback= SchedualServiceHiHystric.class)


spring cloud 学习笔记_第7张图片
定义回调方法实现



spring cloud 学习笔记_第8张图片
打开开关

测试:关掉client 出现sorry name


断路由 hystrix Dashboard 用到的注解 @EnableHystrixDashboard

依赖包:

spring cloud 学习笔记_第9张图片
依赖包


启动信息 :http://localhost:8764/hystrix.stream

spring cloud 学习笔记_第10张图片
监控界面

你可能感兴趣的:(spring cloud 学习笔记)