SpringCloud
上官天夜
坚持就是胜利~~~
展开
-
SpringCloud-----搭建注册中心Eureka+服务端Services+消费端Ribbon
概念中心:1、服务注册中心pom.xml<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://m...原创 2018-10-31 10:52:40 · 449 阅读 · 0 评论 -
SpringCloud-----Turbine聚合监控的使用
1、聚合监控HystrixDashboard主要的功能是针对某一个微服务进行监控,Turbine主要的功能是针对多个微服务进行监控。 2、实例应用2.1、创建turbine监控工程pom.xml<?xml version="1.0"?><project xsi:schemaLocation="http://maven.apache.org/POM...原创 2018-12-13 15:44:13 · 1510 阅读 · 1 评论 -
SpringCloud-----Ribbon负载均衡定制策略
1、为何要自定义Ribbon负载均衡策略Ribbon默认的负载均衡策略是轮询策略。如果不满足我们的续期,则需要定制自己的均衡策略。2、自定义BalanceConfigpackage com.zemel.common;import org.springframework.context.annotation.Bean;import org.springframework.cont...原创 2018-12-06 16:37:44 · 349 阅读 · 2 评论 -
SpringCloud-----Zuul的代理转发
1、Zuul是什么?Zuul即网关,即代理。2、Zuul的原始代理路径?服务A:service-a 端口:8001 用户信息接口名称:/user/get服务B:service-b 端口:8002Zuul服务:myzuul 端口:9001 IP:192.168.1.250访问服务A的原始代理路径如下:http://192.168.1.250:9001/service-...原创 2018-12-13 18:19:26 · 2581 阅读 · 0 评论 -
SpringCloud------Ribbon特性脱离Eureka做负载均衡
1、什么情况不需要Eureka服务端,脱离它,直接访问微服务端集群????2、application.yml中关闭Eureka功能配置文件中没有eureka的zoneDefaultUrl,关闭eureka功能server: port: 80ribbon: eureka: enabled: false dept-8001: ribbon: li...原创 2018-12-06 17:19:15 · 738 阅读 · 0 评论 -
SpringCloud-----Hystrix熔断器解决什么问题?--服务端Hystrix
1、Hystrix解决什么问题? 服务链上,因为某个微服务的异常,而导致雪崩效应,整条服务链宕机的问题;Hystrix回去捕获这个异常,利用Hystrix接口处理这类异常。2、使用比较简单pom.xml<dependency> <groupId>org.springframework.cloud</groupId> <ar...原创 2018-12-10 09:29:23 · 769 阅读 · 0 评论 -
SpringCloud-----Zuul访问带安全控制的微服务及过滤器Filter的使用
1、服务端设置了安全配置Spring-securitypackage com.zemel.security.config;import javax.annotation.Resource;import org.springframework.context.annotation.Configuration;import org.springframework.security.co...原创 2018-12-15 20:50:21 · 2728 阅读 · 0 评论 -
SpringCloud-----Zuul的服务降级
1、pom.xml<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-zuul</artifactId> </dependency>2、实现ZuulFallbackProv...原创 2018-12-15 21:09:08 · 2265 阅读 · 0 评论 -
SpringCloud-----Hystrix的fallback method wasn't found
1、异常 2、分析异常内容,不难看出是,fallbackMethod配置的方法名错误3、原因fallbackMethod的方法签名和rest的方法不一致,导致的错误。修改成一致即可。@GetMapping("/get/{id}") @HystrixCommand(fallbackMethod="getFallback") public Dept get(@Pa...原创 2018-12-10 14:35:55 · 1763 阅读 · 0 评论 -
SpringCloud-----服务降级--客户端熔断器Hystrix
1、服务降级的本质服务的本质就是服务暂停。服务降级是在客户端实现的,与服务端没有关系。2、客户端添加FallbackFactory实现类,让Spring容器管理package com.zemel.service.fallback;import java.util.List;import org.springframework.stereotype.Component;...原创 2018-12-10 16:04:04 · 716 阅读 · 0 评论 -
SpringCloud-----安全配置SpringSecurity的使用密码验证框输入无效
1、现象:输入完一遍一遍就是无效2、原因这种情况的出现的普遍原因是,只配置了Spring-security的依赖包,而没有配置加密策略。3、于是我去找我的加密策略适配器发现我配置了,但是为什么还是无效呐?4、于是我去看一下控制台启动日志,发现一串密文,表示未配置密码策略5、最后想到一个可能,那就是我的加密策略适配器没有扫描进入Spring容器于是,我看了一下...原创 2018-12-16 12:11:00 · 2700 阅读 · 0 评论 -
SpringCloud-----上传配置Upload及使用Curl命令测试
1、application.ymlspring: http: multipart: enabled: true #启用http上传处理 max-file-size: 100MB #设置单个文件的最大长度 max-request-size: 100MB #设置最大的请求文件的大小 file-size-threshold: 1MB #当...原创 2018-12-16 12:15:36 · 613 阅读 · 0 评论 -
SpringCloud-----Hystrix的客户端调用异常,FallbackFactory not found
***************************APPLICATION FAILED TO START***************************Description:A component required a bean of type 'com.zemel.service.IDeptClientService' that could not be found....原创 2018-12-10 16:20:37 · 1905 阅读 · 0 评论 -
SpringCloud-----Hystrix Dashboard-熔断器仪表盘基础使用-单服务监控
1、HystrixDashboard有什么作用?在微服务架构中为例保证程序的可用性,防止程序出错导致网络阻塞,出现了断路器模型。断路器的状况反应了一个程序的可用性和健壮性,它是一个重要指标。Hystrix Dashboard是作为断路器状态的一个组件,提供熔断器的数据监控和友好的图形化界面。2、使用2.1、熔断器工程添加依赖pom.xml<dependency>...原创 2018-12-12 11:46:43 · 548 阅读 · 0 评论 -
SpringCloud-----Config管理eureka服务配置
1、结构图2、准备配置文件eureka服务管理中心用配置文件:microcloud-config-eureka.ymldept微服务用 配置文件:microcloud-config-dept.ymlmicrocloud-config-eureka.yml 内容spring: profiles: active: - dev---server:...原创 2019-01-03 19:29:46 · 2188 阅读 · 1 评论 -
SpringCloud-----Config配置服务
1、原理图2、GIT仓库地址https://github.com/duanledexuanc/microconfig/blob/master/microcloud-config-client.yml3、config-serverpom.xml<?xml version="1.0"?><project xsi:schemaLocation="http:...原创 2018-12-24 18:12:18 · 374 阅读 · 0 评论 -
SpringCloud-----Config管理单仓库目录匹配
1、为了便于管理github配置文件,进行文件夹分类☆文件夹名称和配置文件名称保持一致2、config配置管理中心配置更新server: port: 7101spring: application: name: provider-config cloud: # 进行SpringCloud的相关配置 config: #sprignCloudConfi...原创 2019-01-04 14:48:55 · 848 阅读 · 0 评论 -
SpringCloud-----Ribbon的基础配置
1、Ribbon 是什么?Spring Cloud Ribbon是一个基于HTTP和TCP的客户端负载均衡工具,它基于Netflix Ribbon实现。通过Spring Cloud的封装,可以让我们轻松地将面向服务的REST模版请求自动转换成客户端负载均衡的服务调用。Spring Cloud Ribbon虽然只是一个工具类框架,它不像服务注册中心、配置中心、API网关那样需要独立部署,但是它几...原创 2018-12-06 11:44:18 · 299 阅读 · 0 评论 -
SpringCloud-----Ribbon异常java.net.UnknownHostException
1、后台异常内容org.springframework.web.util.NestedServletException: Request processing failed; nested exception is org.springframework.web.client.ResourceAccessException: I/O error on GET request for "ht...原创 2018-12-06 11:32:16 · 6476 阅读 · 3 评论 -
SpringCloud-----zuul服务网关搭建
概念原型:1、网关是什么东西?以及它的作用?简单点说:网关就是网络拦截器,而zuul就是在访问到接口之前的拦截器;它可以解决跨域问题,拦截访问路径,路由到不同的微服务地址;比喻点说,就是像Nginx的反向代理相同 2、实现pom.xml<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi...原创 2018-10-31 11:47:55 · 763 阅读 · 0 评论 -
SpringCloud-----zuul网关过滤
1、概念什么是网关Zuul的主要功能是路由转发和过滤器。路由功能是微服务的一部分,比如/api/user转发到到user服务,/api/shop转发到到shop服务。zuul默认和Ribbon结合实现了负载均衡的功能, 类似于nginx转发。2、继承ZuulFilter,重写run接口package com.cloud.zuul;import javax.servlet.ht...原创 2018-10-31 15:50:14 · 244 阅读 · 0 评论 -
SpringCloud-----分布式配置中心
1、为什么要把配置做成服务?假如:在每个工程中都做配置文件,配置项,那如果要修改的话,那相应的工程都需要重新打包,重启。反之:如果放在配置中,配置发生变更的话,只需要重启相关的服务,更不需要打包2、什么是配置中心在分布式系统中,由于服务数量巨多,为了方便服务配置文件统一管理,实时更新,所以需要分布式配置中心组件。在Spring Cloud中,有分布式配置中心组件spring clo...原创 2018-10-31 16:05:53 · 182 阅读 · 0 评论 -
SpringCloud-----fegin服务消费者及负载均衡
1、什么是FeignFeign是一个声明式的伪Http客户端,它使得写Http客户端变得更简单。使用Feign,只需要创建一个接口并注解。它具有可插拔的注解特性,可使用Feign 注解和JAX-RS注解。Feign支持可插拔的编码器和解码器。Feign默认集成了Ribbon,并和Eureka结合,默认实现了负载均衡的效果。简而言之:Feign 采用的是基于接口的注解...原创 2018-11-01 10:33:20 · 658 阅读 · 0 评论 -
SpringCloud-----Hystrix熔断器
1、雪崩效应2.服务雪崩的原因(1)某几个机器故障:例如机器的硬驱动引起的错误,或者一些特定的机器上出现一些的bug(如,内存中断或者死锁)。(2)服务器负载发生变化:某些时候服务会因为用户行为造成请求无法及时处理从而导致雪崩,例如阿里的双十一活动,若没有提前增加机器预估流量则会造服务器压力会骤然增大二挂掉。(3)人为因素:比如代码中的路径在某个时候出现bug3.解决或缓解...原创 2018-11-01 15:39:07 · 233 阅读 · 0 评论 -
SpringCloud-----Rest服务提供端【安全访问】以及【消费端访问】
1、服务提供端如果没有安全访问机制,会出现什么问题?把这些接口放在Internet服务器上,无异于裸奔,所有信息都容易被泄露;任何用户只要得到接口,那我们的程序将毫无秘密可言。2、Spring-boot-security提供安全访问机制服务提供端导入依赖包:pom.xml<!-- https://mvnrepository.com/artifact/org.spri...原创 2018-11-03 11:51:45 · 440 阅读 · 0 评论 -
SpringBoot-----Security安全机制的sessions配置策略
1、配置security.sessions策略#安全配置security: sessions: stateless basic: enabled: true #启用SpringSecurity的安全配置 user: name: wendy #认证用户名 password: wendy1 #认证密码 role: #授权 - USER2...原创 2018-11-03 14:14:07 · 8722 阅读 · 0 评论 -
SpringBoot-----Security程序安全配置模块
1、创建microcloud-security安全模块,提高代码的复用性pom.xml<?xml version="1.0"?><project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http...原创 2018-11-03 15:15:43 · 1007 阅读 · 0 评论 -
SpringCloud-----SpringCloud简化版(原型)
1、概念服务A通过org.springframework.web.client.RestTemplate来调用服务B的程序接口,实现服务之间的调用2、工程结构3、父pom.xml(microcloud)<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.or...原创 2018-11-02 18:10:38 · 426 阅读 · 0 评论 -
SpringCloud-无状态Session配置方法一
1、需求rest客户端访问rest服务端默认状态的配置策略是:无状态的;假如默认配置策略不是无状态配置,则需要配置为无状态;若不配置无状态,则rest服务端会爆掉,堆积海量的sessionId; 2、Session状态策略:org.springframework.security.config.http.SessionCreationPolicypublic enum S...原创 2018-12-04 11:19:25 · 5526 阅读 · 0 评论 -
SpringCloud-----微服务信息
1、微服务信息本质其实就是actuator的info信息配置2、添加actuator的依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> ...原创 2018-12-05 14:02:17 · 229 阅读 · 0 评论 -
SpringCloud-----DiscoveryClient服务发现
1、服务注册管理中心的数据来源其中的数据来源于DiscoveryClient 2、在服务提供端编写一个rest接口测试一下DiscoveryClient的数据package com.zemel.rest;import java.util.List;import javax.servlet.http.HttpServletRequest;import org.spr...原创 2018-12-05 15:07:45 · 8394 阅读 · 0 评论 -
SpringCloud-----Feign使用及相关配置
1、Feign是个什么东西?Feign是微服务调用端的便捷技术。要说它是什么?我们就要讲到它的作用了。大家都知道,Ribbon也是微服务调用端的技术,既然有Ribbon技术了,为什么还要用Feign技术呐?因为Feign是站在巨人Ribbon的肩膀上的成功者。它成功的整合了Ribbon,是客户端调用从Rest调用变成了接口调用。接口调用,那就相当简单了。例如:Ribbon...原创 2018-12-08 11:08:33 · 516 阅读 · 0 评论 -
SpringCloud-----Eureka安全配置
1、目的配置Eureka安全配置,原因是需要经过认证的服务端才能注册服务,经过认证的客户端才能拿到服务。如果不配置:则任何知道eureka服务地址的客户端都能调用服务,注册服务。 2、在eureka工程师添加security安全配置项<dependency> <groupId>org.springframework.boot</groupI...原创 2018-12-05 15:55:24 · 634 阅读 · 0 评论 -
SpringCloud-----SpringSecurity使用出现Reason:坏的凭证
1、现象2、原因:配置文件application.properties中的配置不正确#安全访问security.basic.enabled=truesecurity.user.name=jeaginesecurity.user.password=jg123456我们去spring-boot-autoconfig包下查看一下 SecurityProperties.class...原创 2018-12-08 16:36:11 · 4670 阅读 · 1 评论 -
SpringCloud-----Eureka的HA机制
1、什么是HA机制HA是High Available缩写,是双机集群系统简称,指高可用性集群,是保证业务连续性的有效解决方案;一般有两个或两个以上的节点,且分为活动节点及备用节点。2、为什么Eureka注册中心需要HA机制假如Eureka只有单节点服务,如果Eureka发生宕机,那么就会发生整个应用不可用。后果很严重,所以引进了Eureka-HA机制3、两台Eureka的H...原创 2018-12-05 17:15:13 · 1010 阅读 · 0 评论 -
SpringCloud--Feign实现微服务间文件上传
1、在Spring Cloud 的Feign组件中并不支持文件的传输,会出现这样的错误提示:feign.codec.EncodeException: class [Lorg.springframework.web.multipart.MultipartFile; is not a type supported by this encoder. at feign.codec.Encod...原创 2019-03-04 18:01:51 · 1507 阅读 · 0 评论