小D课堂 - 新版本微服务springcloud+Docker教程_1_01课程简介 小D课堂 - 新版本微服务springcloud+Docker教程_1_02技术选型 小D课堂 - 新版本微服务springcloud+Docker教程_2_01传统架构演进到分布式架构 小D课堂 - 新版本微服务springcloud+Docker教程_2_02 微服务核心基础讲解 小D课堂 - 新版本微服务springcloud+Docker教程_2_03常见的微服务框架 小D课堂 - 新版本微服务spri…
笔记 ============================================= SpringCloud课程笔记.txt 第一章 课程介绍和学习路线 1.微服务架构SpringCloud课程介绍     简介:课程介绍和课程大纲讲解,讲课风格和重点内容理解技巧 2.技术选型和学后水平     简介:课程所需基础和技术选型讲解,学完课程可以到达怎样的程度,          1.IDEA JDK8 Maven SpringBoot基础 Linux 2.理解掌握并开发SpringCl…
笔记 4.SpringCloud微服务核心组件Eureka介绍和闭源后影响     简介:         SpringCloud体系介绍             官方地址:http://projects.spring.io/spring-cloud/ Eureka的基础知识-->画图讲解交互流程,服务提供者<-->服务消费者 ; Eureka 2.x闭源后选择          参考:https://www.jianshu.com/p/d32ae141f680          htt…
笔记 第三章 SpringCloud核心组件注册中心 1.什么是微服务的注册中心     简介:讲解什么是注册中心,常用的注册中心有哪些 (画图)                  理解注册中心:服务管理,核心是有个服务注册表,心跳机制动态维护 服务提供者provider: 启动的时候向注册中心上报自己的网络信息                      服务消费者consumer: 启动的时候向注册中心上报自己的网络信息,拉取provider的相关网络信息 为什么要用:           …
笔记 4.微服务下电商项目基础模块设计     简介:微服务下电商项目基础模块设计 分离几个模块,课程围绕这个基础项目进行学习             小而精的方式学习微服务 1.用户服务             1)用户信息接口             2)登录接口 2.商品服务             1)商品列表             2)商品详情 3.订单服务              1)我的订单             2)下单接口 开始…
笔记 3.常见的微服务框架     简介:讲解常用的微服务框架 consumer: 调用方         provider: 被调用方         一个接口一般都会充当两个角色(不是同时充当)                      1.dubbo: zookeeper + dubbo + springmvc/springboot             官方地址:http://dubbo.apache.org/#!/?lang=zh-cn             配套         …
笔记 6.Zuul微服务网关集群搭建     简介:微服务网关Zull集群搭建 1.nginx+lvs+keepalive      https://www.cnblogs.com/liuyisai/p/5990645.html 开始 网关防止挂掉了 也需要集群部署 Ngix也可能挂 所以一般和LVS集合 gateway再启动一个节点…
笔记 第六章 微服务网关zuul开发实战 1.微服务网关介绍和使用场景     简介:讲解网关的作用和使用场景 (画图)          1)什么是网关         API Gateway,是系统的唯一对外的入口,介于客户端和服务器端之间的中间层,处理非业务功能 提供路由请求.鉴权.监控.缓存.限流等功能 统一接入                 智能路由                 AB测试.灰度测试                 负载均衡.容灾处理               …
笔记 5.微服务调用方式之feign 实战 订单调用商品服务     简介:改造电商项目 订单服务 调用商品服务获取商品信息         Feign: 伪RPC客户端(本质还是用http)         官方文档: https://cloud.spring.io/spring-cloud-openfeign/ 1.使用feign步骤讲解(新旧版本依赖名称不一样)             加入依赖                  <dependency>                 …
笔记 2.微服务调用方式之ribbon实战 订单调用商品服务     简介:实战电商项目 订单服务 调用商品服务获取商品信息         1.创建order_service项目         2.开发伪下单接口         3.使用ribbon. (类似httpClient,URLConnection) 启动类增加注解               @Bean               @LoadBalanced               public RestTemplate re…
笔记 2.微服务核心基础讲解     简介:讲解微服务核心知识 :网关.服务发现注册.配置中心.链路追踪.负载均衡器.熔断         1.网关:路由转发 + 过滤器                 /api/v1/pruduct/      商品服务                 /api/v1/order/        订单服务                 /api/v1/user/         用户服务 2.服务注册发现:调用和被调用方的信息维护 3.配置中心:管理配置,动…
笔记 第二章 架构演进和分布式系统基础知识 1.传统架构演进到分布式架构     简介:讲解单机应用和分布式应用架构演进基础知识 (画图) 高可用 LVS+keepalive :负载均衡的知识点 1.单体应用:         开发速度慢         启动时间长         依赖庞大         等等 2.微服务         易开发.理解和维护         独立的部署和启动         等 不足:             分布式系统->分布式事务问题           …
笔记 4.Feign结合Hystrix断路器开发实战<下>     简介:讲解SpringCloud整合断路器的使用,用户服务异常情况     1.feign结合Hystrix                  1)开启feign支持hystrix  (注意,一定要开启,旧版本默认支持,新版本默认关闭)             feign:               hystrix:                 enabled: true 2)FeignClient(name="…
笔记 3.高级篇幅之Zuul常用问题分析和网关过滤器原理分析 简介:讲解Zuul网关原理和过滤器生命周期,           1.路由名称定义问题         路由映射重复覆盖问题          2.Http请求头过滤问题 3.过滤器执行顺序问题 ,过滤器的order值越小,越先执行 4.共享RequestContext,上下文对象 开始 路由自定义的问题 自定义路由在访问的时候可能会404 启动服务, 访问订单的服务,order的保存接口 商品的服务成功.product的find接口…
笔记 2.SpringCloud的网关组件zuul基本使用     简介:讲解zuul网关基本使用 1.加入依赖 2.启动类加入注解 @EnableZuulProxy         默认集成断路器  @EnableCircuitBreaker 默认访问规则               http://gateway:port/service-id/** 例子:默认 /order-service/api/v1/order/save?user_id=2&product_id=1           …
笔记 3.Feign结合Hystrix断路器开发实战<上>     简介:讲解SpringCloud整合断路器的使用,用户服务异常情况 1.加入依赖          注意:网上新旧版本问题,所以要以官网为主,不然部分注解会丢失     最新版本 2.0 <dependency>             <groupId>org.springframework.cloud</groupId>             <artifactId>spr…
笔记 4.高级篇幅之服务间调用之负载均衡策略调整实战     简介:实战调整默认负载均衡策略实战 自定义负载均衡策略:http://cloud.spring.io/spring-cloud-static/Finchley.RELEASE/single/spring-cloud.html#_customizing_the_ribbon_client_by_setting_properties 在配置文件yml里面,自定义负载均衡策略         #自定义负载均衡策略         produ…
笔记 第四章 服务消费者ribbon和feign实战和注册中心高可用 1.常用的服务间调用方式讲解     简介:讲解常用的服务间的调用方式 RPC:             远程过程调用,像调用本地服务(方法)一样调用服务器的服务             支持同步.异步调用             客户端和服务器之间建立TCP连接,可以一次建立一个,也可以多个调用复用一次链接 PRC数据包小                 protobuf                 thrift   …
笔记 5.高级篇幅之高并发情况下接口限流特技         简介:谷歌guava框架介绍,网关限流使用 1.nginx层限流 2.网关层限流 开始 mysql最大的连接数就是3千多.如果想把应用搞好.每个应用就必须要持平 所以数据库这里也要考虑让他支持更大的并发. 这里可以限流.保护下端服务 限流的框架,谷歌开源的 每次在桶里放100个令牌.请求过来就去桶里拿令牌.令牌被拿光了表示请求过大. 核心就是产生令牌的速率 在网关的服务里做限流 只给Order订单限流,所以前面名字加上Order 继承…
笔记 4.自定义Zuul过滤器实现登录鉴权实战     简介:自定义Zuul过滤器实现登录鉴权实战 1.新建一个filter包 2.新建一个类,实现ZuulFilter,重写里面的方法 3.在类顶部加注解,@Component,让Spring扫描 开始 比如下单接口,用户一定要登陆.要传一个token过来判断是否登陆,再去访问对应的接口 登陆的过滤器肯定在整个流程肯定里面最先处理.这里的pre Filters这里最先进行拦截.如果没登陆返回一个403.如果已经登陆,继续访问请求的接口 只需要对需…
笔记 6.高级篇幅之深入源码剖析Hystrix降级策略和调整     简介:源码分析Hystrix降级策略和调整 1.查看默认讲解策略 HystrixCommandProperties         1)execution.isolation.strategy   隔离策略             THREAD 线程池隔离 (默认)             SEMAPHORE 信号量                 信号量适用于接口并发量高的情况,如每秒数千次调用的情况,导致的线程开销过高,通…
笔记 5.熔断降级服务异常报警通知实战     简介:完善服务熔断处理,报警机制完善 1.加入redis依赖         <dependency>             <groupId>org.springframework.boot</groupId>             <artifactId>spring-boot-starter-data-redis</artifactId>         </dependency&g…
笔记 2.Netflix开源组件断路器Hystrix介绍     简介:介绍Hystrix基础知识和使用场景          文档地址:         https://github.com/Netflix/Hystrix         https://github.com/Netflix/Hystrix/wiki 1.什么是Hystrix?         1)hystrix对应的中文名字是“豪猪”                  2)hystrix    英[hɪst'rɪks] 美[…
笔记: 第五章 互联网架构服务降级熔断 Hystrix 实战 1.分布式核心知识之熔断.降级讲解     简介:系统负载过高,突发流量或者网络等各种异常情况介绍,常用的解决方案 1.熔断:         保险丝,熔断服务,为了防止整个系统故障,包含子和下游服务 下单服务 ->商品服务                 ->用户服务 (出现异常->熔断) 2.降级:         抛弃一些非核心的接口和数据 旅行箱的例子:只带核心的物品,抛弃非核心的,等有条件的时候再去携带这些物品 3.…
笔记 6.Feign核心源码解读和服务调用方式ribbon和Feign选择         简介: 讲解Feign核心源码解读和 服务间的调用方式ribbon.feign选择              1.ribbon和feign两个的区别和选择             选择feign                 默认集成了ribbon                 写起来更加思路清晰和方便                 采用注解方式进行配置,配置熔断等方式方便 2.超时配置      …
笔记 3.高级篇幅之Ribbon负载均衡源码分析实战     简介: 讲解ribbon服务间调用负载均衡源码分析         1.完善下单接口         2.分析@LoadBalanced             1)首先从注册中心获取provider的列表             2)通过一定的策略选择其中一个节点             3)再返回给restTemplate调用 开始 订单里面获取商品的信息,这里换成Map来接受. 这样在map里面就可以获取到name和price…
笔记 7.Eureka服务注册中心配置控制台问题处理     简介:讲解服务注册中心管理后台,(后续还会细讲) 问题:eureka管理后台出现一串红色字体:是警告,说明有服务上线率低 EMERGENCY! EUREKA MAY BE INCORRECTLY CLAIMING INSTANCES ARE UP WHEN THEY'RE NOT. RENEWALS ARE LESSER THAN THRESHOLD AND HENCE THE INSTANCES ARE NOT BEING EXPI…
笔记 6.服务注册和发现之Eureka Client搭建商品服务实战     简介:搭建用商品服务,并将服务注册到注册中心 1.创建一个SpirngBoot应用,增加服务注册和发现依赖     2.模拟商品信息,存储在内存中 3.开发商品列表接口,商品详情接口          4.配置文件加入注册中心地址         使用eureka客户端 官方文档:http://cloud.spring.io/spring-cloud-netflix/single/spring-cloud-netfli…
笔记 5.服务注册和发现Eureka Server搭建实战     简介:使用IDEA搭建Eureka服务中心Server端并启动,项目基本骨架介绍          官方文档:http://cloud.spring.io/spring-cloud-netflix/single/spring-cloud-netflix.html#spring-cloud-eureka-server 第一步:创建项目     第二步: 添加注解 @EnableEurekaServer     第三步:增加配置ap…
笔记 2.分布式应用知识CAP理论知识     简介:讲解分布式核心知识CAP理论 CAP定理:             指的是在一个分布式系统中,Consistency(一致性). Availability(可用性).Partition tolerance(分区容错性),三者不可同时获得. 一致性(C):在分布式系统中的所有数据备份,在同一时刻是否同样的值.(所有节点在同一时间的数据完全一致,越多节点,数据同步越耗时) 可用性(A):负载过大后,集群整体是否还能响应客户端的读写请求.(服务一直…