尚硅谷springcloud2020
文章平均质量分 92
纵使相见已无言
跌跌撞撞
展开
-
尚硅谷springcloud2020day19(p149-150)
今天是2020-12-23。最后两节就看看算法,也算是不用动手了,就是烧脑。一。分布式系统全局唯一id的生成规则要求1.全局唯一:不能出现重复的id2.趋势递增:3.单调递增:保证全局情况下,生成的id一定大于上一个id4.信息安全:如果id连续,可能会被轻易的获取信息,所以要让id无规则/不规则,还要满足第三条5.含时间戳:可以方便了解id的生成时间二。分布式系统全局唯一id的可用性要求1.高可用:发一个获取分布式全局id的请求,服务器要保证百分之99的情况下能创建并响应给我需要的id原创 2020-12-25 15:04:03 · 114 阅读 · 0 评论 -
尚硅谷springcloud2020day18(p142-148)
今天是2020-12-22。原创 2020-12-23 01:52:41 · 218 阅读 · 0 评论 -
尚硅谷springcloud2020day17(p136-141)
今天是2020-12-21。一。sentinel整合feign1.pom引入openfeign的starter2.application.yml: feign: sentinel: enabled:true3.主启动类:@EnableFeignClients4.接口PaymentService添加@FeignClients(value=“nacos-payment-provider”,fallback=paymentFallback.class)5,创建类paymentFallba原创 2020-12-21 20:47:44 · 108 阅读 · 0 评论 -
尚硅谷springcloud2020day16(p130-135)
今天是2020-12-20。一。关于sentinelresource注解的属性配置1.不配置任何处理方法,出现异常直接在页面显示错误信息2.只配置blockhandler,只处理blockexception,即触发了配置的流控、降级、热点限流规则,如果方法自己抛出异常那么在页面显示错误信息3.只配置fallback,只处理业务异常,即方法本身抛出的异常,如果触发了发了sentinel配置的规则那么就在页面显示默认的错误提示4。blockhandler和fallback都配置,方法本身的异常走fal原创 2020-12-20 23:00:09 · 70 阅读 · 0 评论 -
尚硅谷springcloud2020day15(p120-129)
今天是2020-12-18。一。sentinel熔断降级sentinel的熔断降级是某个资源调用超时或者出现异常时对资源调用进行限制,让请求快速失败,避免级联错误。资源降级后,在接下来的窗口期内,对该资源的调用都自动熔断。二。降级规则-慢调用慢调用规则的几个重要参数:1.RT:单位ms,调用时间超过该值的请求就被认为是慢调用,即这次请求的服务响应超时了2.比例阈值:0-1,慢调用的请求占所有请求的比例3.熔断时长:在该时间内,对指定资源的访问都返回降级的失败信息。4.最小请求数:如果一秒内原创 2020-12-18 21:02:12 · 110 阅读 · 0 评论 -
尚硅谷springcloud2020day14(p112-119)
今天是2020-12-17一。线程数失败。在配置qps限制流控规则时,也可以选择线程数限制。注意qps是限制的每秒请求该接口的数量,而线程数限制了处理该请求的线程数量。当处理对该接口的请求的线程数达到限制以后,后面的请求默认直接快速失败,返回提示信息。可以说,qps限制了调用者的数量,线程数限制了处理调用者的线程数量。二。流控模式-关联假设接口A关联接口B,那么当对B接口的调用达到阈值以后,就对A接口限流,这样可以防止因为B处于繁忙同时导致A的调用产生问题。简单里说就是,一旦关联的接口请求数达到阈原创 2020-12-17 21:21:50 · 108 阅读 · 0 评论 -
尚硅谷springcloud2020day13(p111-115)
今天是2020-12-16。一。Sentinel1.简单来说就是hystrix的alibaba版,也有限流、熔断等功能2.分为两部分,基于java的核心库和基于springboot的控制台dashboard二。docker 安装sentinel1.docker pull bladex/sentinel-dashboard2.docker run -d -p 8858:8858 --name mysentinel bladex/sentinel-dashboard3.访问xxx:8858看到登录原创 2020-12-16 20:40:00 · 91 阅读 · 0 评论 -
尚硅谷springcloud2020day13(p101-110)
今天是2020-12-15一。nacos配置中心功能1.pom: <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-alibaba-nacos-config</artifactId> </dependency> <dependency>原创 2020-12-15 22:00:09 · 140 阅读 · 0 评论 -
尚硅谷springcloud2020day12(p95-100)
今天是2020-12-14,开始spring cloud alibaba。一。nacos简介简单来说,nacos=eureka+config+bus,替代了eureka和config二。docker 安装 nacos单机版算是被网上的错误文章折磨疯了,搞了一个多小时终于找到正确步骤,如下:1.`docker pull docker pull nacos/nacos-server:1.3.2`2. mkdir -p /usr/docker/data/nacos/logs/原创 2020-12-14 22:21:09 · 122 阅读 · 0 评论 -
尚硅谷springcloud2020day11(p83-94)
今天是2020-12-13一。spring cloud stream1.目前仅支持rabbitmq与kafka2. 作用:屏蔽底层消息中间件的差异,降低了以往不同消息中间件传递消息时切换的成本,降低了系统耦合。3. 通过定义绑定器binder作为中间层,实现了应用程序与消息中间件细节的隔离。4. 消息的通信方式遵循了rabbitmq的topic交换机和kafka的topic,即发布-订阅模式5. 常用组件:绑定器binder、通道channel,二。绑定器binderbinder中的inpu原创 2020-12-13 17:01:46 · 106 阅读 · 0 评论 -
尚硅谷springcloud2020day10(p74-82)
一。config配置中心当微服务越来越多时,微服务运行所必需的配置文件也会越来越多,数量膨胀带来的后果就是不好管理和修改,所以spring cloud提供了config server配置中心–集中化的外部配置支持,可以减少很多重复的配置,而且便于修改。有如下作用:1.集中管理配置文件2.不同环境不同配置,动态更新3.运行期间动态调整,不需要在每个服务的机器上编写配置文件,服务统一去配置中心拉取文件4.当配置改变,服务无需重启即可感知到配置变化并应用新配置。5.配置信息以rest接口的形式暴露原创 2020-12-12 21:52:30 · 174 阅读 · 0 评论 -
尚硅谷springcloud2020day9(p58-73)
今天是2020-12-11。一。服务熔断在默认情况下,当一个服务在十秒内调用了20次并且失败率高于50%时,熔断器开启,再次尝试请求该服务将不会去调用它而是直接调用降级方法。熔断器开启后就启动休眠时间窗–默认五秒,五秒到期后尝试放过一个请求去调用服务查看是否能正常调用,如果能就关闭熔断器,如果不能就继续保持开启,休眠时间窗重新计时,再次到期后继续尝试重要参数:1.快照时间窗:默认是最近的 十秒,十秒内熔断器统计的情况达到开启条件,熔断器就进入开启状态2.请求总数阈值:默认是20次,时间窗内有20次原创 2020-12-12 00:01:06 · 141 阅读 · 1 评论 -
尚硅谷springcloud2020day8(p54-p57)
今天是2020-12-10。一。hystrix使用。服务端的流程:1.pom文件导入spring-cloud-starter-netflix-hystrix2.启动类添加@EnableHystrix3.需要监控的方法添加 @HystrixCommand(fallbackMethod = “getPaymentByIdFallBack”,commandProperties = {@HystrixProperty(name = “execution.isolation.thread.timeout原创 2020-12-10 22:18:53 · 64 阅读 · 0 评论 -
尚硅谷springcloud2020day7(p44-53)
今天是2020-12-09总算开始正常学习了,害。一。openfeign使用想要使用openfeign完成微服务调用,你需要:1.pom文件中引入openfeign依赖2.主启动类标注@EnableFeignClients3.创建接口PaymentFeignService,添加注解@component、@FeignClient4.完成@FeignClient(value=“目标服务名”),然后添加与目标服务的控制器中路径一致的方法,启动各个模块,访问,即可完成远程调用二。openfeign注原创 2020-12-09 21:41:45 · 106 阅读 · 0 评论 -
尚硅谷springcloud2020day6(p40-43)
今天是2020-12-08一.OpenFeignOpenFeign:声明式webService客户端,springcloud对其进行了封装,使其支持springmvc式的注解以及http消息转换,feign集成了ribbon负载均衡以及hystrix熔断器。使用:一般是创建一个接口并在接口上添加注解@FeignClient,这个注解就可以解析mvc的@requestmapping等绑定的路径,同时动态代理生成实现类,在实现类中做负载均衡调用。...原创 2020-12-08 22:42:15 · 61 阅读 · 0 评论 -
尚硅谷springcloud2020day5(p39-42)
今天是2020-12-7一。轮询算法原理取得实例列表集合中的某个实例调用,取得方式:通过下标取得下标=rest接口第几次请求%实例总数,每次实例启动后计数从第一次开始比如由两个实例,第一次就是1%2=1,取集合中第二个实例第二次就是2%2=0,取集合中第一个实例,后面依次类推。总体来讲,流程如下:1.取得当前有效的实例集合A,取得当前所有实例的集合B,如果A或者B集合的实际元素个数是0就返回null,意在防止多个实例里没有一个有效的实例2.一切正常,用B集合的实际元素个数D取得需要的实例下标原创 2020-12-07 22:13:18 · 63 阅读 · 1 评论 -
尚硅谷springcloud2020day4(p31-39)
今天是2020-12-6一。服务注册进consul学完三个注册中心,大概的流程也知道了,如果想更换注册中心且正常调用服务,你需要:1.pom文件更换注册中心的依赖2.application.yml更改注册中心的url,比如把cloud.zookeeper.connectstring换成cloud.consul.host,不过consul的ip地址和端口号是分开赋值的3.服务消费者目前还是照旧注入resttemplate并启动loadbalanced负载均衡,然后控制器的方法返回resttempla原创 2020-12-07 09:11:18 · 85 阅读 · 0 评论 -
尚硅谷springcloud2020day3(p24-30)
今天是2020-12-5继续springcloud的学习,早上的学习可以说推翻了以前记得很多知识,果然什么东西都得持续的去学习。一。服务发现想要启动服务发现功能,你需要:1.引入eureka-client依赖2.启动类标注注解@EurekaDiscoveryClient3.由于视频还没讲feign,目前使用springcloud的DiscoveryClient类: List services=discoveryClient.getServices();services.forEach(log原创 2020-12-05 21:16:28 · 110 阅读 · 0 评论 -
尚硅谷springcloud2020day2(p12-23)
今天是2020-12-04今天是学习springcloud的第二天,昨天学完忘了写博客记录了,有点尴尬,今天就补上两天的吧由于在学校已有一定的基础,文章里可能就不会写过多的代码了,更多的是记录对知识的理解(1)首先学习了eureka,eureka其实分为两种:一。eureka注册中心eureka注册中心提供对服务的管理功能,服务的提供者向注册中心注册服务:其实可以说是键值对的形式,键就是服务的别名,值就是自己的调用地址,服务的消费者从注册中心拉取服务列表存储在jvm本地内存,根据服务的别名访问–调原创 2020-12-04 22:23:48 · 110 阅读 · 0 评论 -
尚硅谷springcloud2020day1(p1-11)
今天是2020-12-4磨磨蹭蹭终于开始了微服务学习,虽然之前学校上课已经了解了微服务基本组件,但是随着现在springcloudalibaba的出现,也有必要持续更新和完善自己的知识。首先就是springcloud的概念,其实就是一套微服务应用的解决方案,基于springboot集成了多种框架,最常用的就是netflix工具包,提供了eureka注册中心,eureka客户端,网关zuul,熔断器hystrix,负载均衡ribbon当我们想构建一个微服务项目时,首先肯定需要有一个父工程:1.打包方式原创 2020-12-04 20:32:25 · 92 阅读 · 0 评论