Spring Cloud
spring cloud微服务
登峰小蚁
编程,运动,顺便把钱赚了。
展开
-
0000-SpringCloud微服务搭建
1. 前言这篇文章整理的是SpringCloud的全家桶中的技术Demo采用的是SpringCloud F版所有的Dmeo代码在GitHup上都有 传送门SpringCloud目前很多项目已经停更,但这里不会出现替代技术解决方案2. 目录1. Eureka 0010-Eureka理论知识 0011-Eureka服务端和客户端单节点搭建 0012-Eureka Server集群...原创 2020-04-17 09:13:29 · 2331 阅读 · 0 评论 -
0083-Zipkin耗时分析
文章目录1. 搭建Zipkin Server2. 微服务改造2.1 pom依赖添加2.2 yml配置2.3 测试1. 搭建Zipkin ServerSpringCloud F版以后可以直接下载Server不需要自己搭建了下载地址下载jar即可启动java -jar zipkin-server-2.12.9-exec.jar 2. 微服务改造2.1 pom依赖添加为每个需...原创 2020-04-13 09:29:02 · 2643 阅读 · 0 评论 -
0082-整合ELK统一存储与查询
文章目录1. 背景2. ELK组成3. 日志架构4. 搭建4.1 统一日志输出4.1.1 pom依赖4.1.2 logback.xml配置4.1.3 redis日志查看4.2 ElasticSearch安装4.2.1 下载路径4.2.2 配置环境变量4.2.3 启动4.3 Kibana安装4.3.1 下载路径4.3.2 配置环境变量4.3.3 启动4.4 Logstash安装4.4.1 下载路径4...原创 2020-04-13 09:28:28 · 2319 阅读 · 0 评论 -
0081-开启Sleuth链路追踪
文章目录1. pom依赖2. 打印日志3. 日志信息1. pom依赖从网关开始,在每个微服务节点添加Sleuth依赖<!--链路追踪--><dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starte...原创 2020-04-13 09:27:55 · 2338 阅读 · 0 评论 -
0080-Sleuth链路追踪理论
文章目录1. 背景2. 术语3. 链路追踪的几个步骤3.1 开启链路追踪3.2 日志查询与分析3.3 耗时分析1. 背景复杂的微服务架构,每一个前端请求都会形成复杂的分布式调用链路,每个环节调用失败或者延时过高都有可能导致请求失败,所以监控全链路的调用的就变得额外重要,这可以帮我们实现快速定位失败和性能分析2. 术语TraceID: 一次前端请求的发起会产生一个TraceIDSpanI...原创 2020-04-13 09:26:46 · 2478 阅读 · 0 评论 -
0071-Bus实现方式-RabbitMQ
文章目录1. 启动Rabbit队列2. 增加Rabbit依赖3. yml配置3. 主启动类4. 测试5. 配置方式5.1 刷新在微服务上5.2 刷新在Config Server上6. 刷新范围1. 启动Rabbit队列2. 增加Rabbit依赖<dependencies> <dependency> <groupId>org.spri...原创 2020-04-13 09:25:59 · 2414 阅读 · 0 评论 -
0070-Bus理论
文章目录1. 什么是消息总线2. 实现方式1. 什么是消息总线在微服务架构钟,我们通常会使用轻量级的消息代理来构建一个共用的消息主题让系统钟所有微服务实例都连接上来,由于该主题中长生的消息会被所有实例监听和消费,所以我们称它为消息总线。在总线上的各个实例都可以方便地广播一些需要让其他连接在该主题上的实例都知道的消息,例如配置信息的变更或者其他一些管理操作等。由于消息总线在微服务架构中被...原创 2020-04-13 09:24:40 · 2297 阅读 · 0 评论 -
0063-Conifg Server集群搭建
文章目录1. 前言2. Config Server集群搭建2.1 pom依赖2.2 yml配置2.3 主启动类2.4 测试3. Config Client搭建3.1 pom依赖3.2 bootstrap.yml配置3.3 主启动类3.4 测试1. 前言所有的微服务提供者都是Config Client,都需要从Config Server获取配置,所以Config Server的访问压力会很大,需...原创 2020-04-13 09:23:39 · 2398 阅读 · 0 评论 -
0062-Config Client搭建
文章目录1. 前言2. Client端搭建2.1 pom依赖2.2 bootstrap.yml配置文件2.3 主启动类3. 测试1. 前言上一节Config Server已经获取到远程的配置文件,Client端需要连上Server端,从Server端获取配置,真实环境中所有的微服务都是Client端。2. Client端搭建2.1 pom依赖<dependencies> ...原创 2020-04-13 09:23:02 · 2327 阅读 · 0 评论 -
0061-Config Server搭建
文章目录1. 前言2. git建立配置文件3. 搭建Config Server3.1 pom依赖3.2 yml配置3.3 主启动类4. git文件的访问方式1. 前言Config Server负责跟配置保存方通信例如git,将远程服务器上的配置克隆到本地。2. git建立配置文件springcloudconfig\shared目录下建立config-client-dev.ymlse...原创 2020-04-13 09:20:58 · 2345 阅读 · 0 评论 -
0060-Config理论
文章目录1. 背景2. config是啥3. config能干嘛1. 背景微服务意味着要将单体应用中的业务拆分成一个个子服务,每个服务的粒度相对较小,因此系统中会出现大量的服务。由于每个服务都需要必要的配置信息才能运行,所以一套集中式的、动态的配置管理设施是必不可少的。SpringCloud提供了ConfigServer来解决这个问题,我们每一个微服务自己带着一个application.yml...原创 2020-04-13 09:09:36 · 2323 阅读 · 0 评论 -
0053-Zuul使用过滤器
文章目录1. 过滤器1. 过滤器/** * Created by rongyaowen * on 2019/8/22. * zuul的第二个功能,统一过滤 * 请求过来以后,首先通过tomcat的过滤器,如果是对DispatcherServletd的请求,那么会通过springmvc的拦截器 * 如果是路由,则不会通过拦截器,会经过ZUUL的过滤器 */@Componentpu...原创 2020-04-12 21:22:57 · 2294 阅读 · 0 评论 -
0052-Zuul配置负载均衡算法和Hystrix
文章目录1. Zuul的负载均衡1.1 默认配置1.2 修改算法配置2. 熔断配置1. Zuul的负载均衡1.1 默认配置Zull默认结合Ribbon实现负载均衡,Ribbon默认的负载均衡算法是ZoneAvoidanceRule1.2 修改算法配置配置方式和Ribbon的消费者中配置一样,也可以自定义随机算法@Configurationpublic class RibbonClie...原创 2020-04-12 21:21:48 · 3124 阅读 · 0 评论 -
0051-Zuul搭建
文章目录1. pom依赖2. yml配置3. 主启动类4. 测试1. pom依赖 <dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-n...原创 2020-04-12 21:21:08 · 2330 阅读 · 0 评论 -
0050-Zuul理论知识
文章目录1. Zuul2. 功能2.1 路由导航2.2 负载均衡2.3 熔断2.4 过滤器1. Zuulzull:客户端->ngix负载均衡->zull->具体服务相当于在服务调用之前包了一层,可以起到路由的作用,也可以起到过滤作用。2. 功能2.1 路由导航将微服务的提供者放在内网环境,外部只能通过zuul提供的路由进行访问,zuul可以隐藏微服务的真实名称2.2...原创 2020-04-12 21:20:25 · 2275 阅读 · 0 评论 -
0045-一个Dashbord页面监控多个消费者
文章目录1. 现状2. 改造Dashbord项目2.1 pom依赖2.2 yml配置2.3 主启动类2.4 测试1. 现状目前Hystrix项目可以监控消费者,但是每一个消费者就需要启动一个监控页面,很不方便,可以通过Turbine实现一个监控页面,监控多个消费者2. 改造Dashbord项目2.1 pom依赖增加turbine的依赖,其它和单机dashbord一致<depend...原创 2020-04-12 21:19:15 · 2418 阅读 · 0 评论 -
0044-Hystrix Dashbord监控单机Feign
文章目录1. Dashbord监控项目2. 改造Feign项目2.1 pom增加依赖2.2 yml配置2.3 主启动类2.4 测试1. Dashbord监控项目这个项目的搭建和监控ribbon的一样2. 改造Feign项目2.1 pom增加依赖feign集成了Hystrix的依赖,但是不是starter,监控需要引入starter <dependency> <...原创 2020-04-12 21:18:28 · 2310 阅读 · 0 评论 -
0043-Hystrix Dashbord监控单机Ribbon
文章目录1. 说明2. 搭建Dashbord仪表盘项目2.1 pom依赖2.2 yml配置2.3 主启动类2.4 测试3 改造Consumer3.1 增加依赖3.2 yml配置3.3 测试4. 监控项目1. 说明Hystrix Dashbord是一个监控模块,用来监控Hystrix的各项指标。这边文章使用的spring cloud的Finchley版本,Hystrix的的调用信息不再是http...原创 2020-04-12 21:17:23 · 2260 阅读 · 0 评论 -
0042-Feign使用Hystrix
文章目录1. pom依赖2. yml配置3. 修改feign客户端3.1 方式一:创建fallback类3.2 方式二:创建fallback工厂类4. 主启动类5. 测试1. pom依赖依赖同feign一样,不用修改,feign中默认包含了hystrix,侧面说明hystrix是一个默认的组件,应该被开启<dependencies> <dependency>...原创 2020-04-12 21:16:41 · 2408 阅读 · 0 评论 -
0041-Ribbon使用Hystrix
文章目录1. pom依赖2. yml配置3. RestTemplate配置4. 服务调用5. 主启动类6. 测试1. pom依赖 <dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId&g...原创 2020-04-12 21:15:55 · 2417 阅读 · 0 评论 -
0040-Hystrix理论
文章目录1. 使用场合2. 工作机制3. 熔断器的开启与关闭条件1. 使用场合Hystrix熔断器使用用consumer端2. 工作机制首先,当服务的某个API接口的失败次数在一定时间内小于设定的阀值时,熔断器处于关闭状态,该 API 接口正常提供服务 。当该API 接口处理请求的失败次数大于设定的阀值时, Hystrix判定该API接口出现了故障,打开熔断器,这时请求该API接口会执行快...原创 2020-04-12 21:15:12 · 2328 阅读 · 0 评论 -
0030-Eureka消费者(Feign&Ribbon)
文章目录1. Feign2. 请求过程3.消费者搭建3.1 pom依赖3.2 yml配置3.3 Feign客户端3.4 服务调用3.5 主启动类3.6 测试1. Feignfeign是个伪java http客户端,他在真正的http客户端HttpUrlConnection,HttpClient上包装了一次,可以通过注解的方式生成请求模板,简化开发。2. 请求过程首先根据feign的规则实现...原创 2020-04-12 20:59:33 · 2283 阅读 · 0 评论 -
0022-Ribbon负载均衡算法
文章目录1. 内置算法种类2. 更换负载均衡算法2.1 全局配置2.2 局部配置2.2.1 外层目录建立个性化配置2.2.2 配置方式12.2.3 配置方式23. 自定义负载均衡算法1. 内置算法种类RoundRobinRule 轮询算法RandomRule 随机算法AvailabilityFilteringRule会先过滤掉由于多次访问故障而处于断路器跳闸状态的服务,还有并发的连接...原创 2020-04-12 20:58:53 · 2273 阅读 · 0 评论 -
0021-自定义Ribbon客户端
文章目录1. Ribbon默认配置2. 自定义客户端参考1. Ribbon默认配置您可以使用.ribbon.*中的外部属性来配置Ribbon客户端的某些位,这与使用Netflix API本身没有什么不同,只能使用Spring Boot配置文件。本机选项可以在CommonClientConfigKey(功能区内核心部分)中作为静态字段进行检查。Spring Cloud还允许您通过使用@Rib...原创 2020-04-12 20:58:11 · 2253 阅读 · 0 评论 -
0020-Eureka消费者(Ribbon&RestTemplate)
文章目录1. RestTemplate2. Ribbon3. RestTemplate与Riboon的关系4. 消费者搭建4.1. 依赖4.2.yml配置4.3. 服务调用4.4 RestTemplate配置类4.5 主启动类4.6 验证1. RestTemplatespring提供的对rest ful接口调用的模板方法,类似JdbcTemplate2. Ribbon从注册中心获取eur...原创 2020-04-12 20:57:37 · 2341 阅读 · 0 评论 -
0014-Eureka Provider集群搭建
文章目录1. 工程结构2. pom文件3. yml配置4. 主启动类5. 增加服务6. 验证1. 工程结构为了演示方便所以建三个工程,实际生产是一个工程配置三份,端口不同eureka-provider-8001eureka-provider-8002eureka-provider-80032. pom文件<dependencies> <depen...原创 2020-04-12 20:57:03 · 2414 阅读 · 0 评论 -
0013-Eureka Provider向服务集群注册
文章目录修改yml配置文件修改yml配置文件server: port: 8001eureka: client: serviceUrl: defaultZone: http://eureka-server-7001:7001/eureka/,http://eureka-server-7002:7002/eureka/,http://eureka-server-70...原创 2020-04-12 20:56:33 · 2217 阅读 · 0 评论 -
0012-Eureka Server集群搭建
文章目录1. 工程结构2. 共同配置2.1 pom文件2.2 主启动类3. yml配置2.1 70012.2 70022.3 70034. 服务首页1. 工程结构为了演示方便所以建三个工程,实际生产是一个工程配置三份,端口不同服务注册中心1 eureka-server-7001服务注册中心2 eureka-server-7002服务注册中心3 eureka-server-70032...原创 2020-04-12 20:56:00 · 2212 阅读 · 0 评论 -
0011-Eureka服务端和客户端单节点搭建
文章目录1. 工程结构2. 父工程依赖3. Eureka Server服务注册中心3.1 依赖3.2 yml配置3.3 主启动类4. Eureka Provider服务提供者4.1 依赖4.2 yml配置4.3 服务内容4.4 主启动类5. 验证1. 工程结构父工程 spring-cloud-demo服务注册中心 eureka-server-7001服务提供者 eureka-provid...原创 2020-04-12 20:55:17 · 2323 阅读 · 0 评论 -
0010-Eureka理论知识
文章目录1. 是什么2. Eureka架构3. Eureka的三大角色3.1 角色之间的关系4. Eureka的自我保护机制5. 与Zookeeper的比较5.1 Zookeeper保证CP5.2 Eureka保证AP1. 是什么Eureka是Netflix的一个子模块,也是核心模块之一。Eureka是一个基于REST的服务,用于定位服务,以实现云端中间层服务发现和故障转移。服务注册与发现对于...原创 2020-04-12 20:54:31 · 2322 阅读 · 0 评论