spring-cloud
文章平均质量分 92
JAVA程序猿成长之路
这个作者很懒,什么都没留下…
展开
-
JWT如何在Spring Cloud微服务系统中在服务相互调时传递
原文:https://blog.csdn.net/forezp/article/details/78676036在微服务系统中,为了保证微服务系统的安全,常常使用jwt来鉴权,但是服务内部的相互调用呢。经常有人在微信上问我,我给出一个解决办法,采用Feign的拦截器。在Feign中开启了hystrix,hystrix默认采用的是线程池作为隔离策略。线程隔离有一个难点需要处理,即隔离的线程无...转载 2018-11-20 13:41:55 · 452 阅读 · 0 评论 -
Spring Cloud Netflix子模块综合整理-Hystrix
这篇博客主要整理1.断路器:Hystrix客户端Netflix创建了一个名为Hystrix的库,它实现了断路器模式。在微服务体系结构中,通常有多个服务调用层 (微服务Hystrix仪表盘样例)较低级别的服务中的服务故障可能导致级联故障一直到用户。当对特定服务的调用大于circuitBreaker.requestVolumeThresh...原创 2018-07-19 21:52:09 · 2313 阅读 · 0 评论 -
20.Spring-Cloud中Eureka自我保护模式和@SpringCloudApplication
默认情况下,如果Eureka Server在一定时间内没有接收到某个微服务实例的心跳,Eureka Server将会注销实例(默认90秒)。但是当网络分区故障发生时,微服务与Eureka Server之间无法正常通信,以上行为可能变得非常危险-----因为微服务本省其实是健康的,此时不应该注销这个微服务。 Eureka通过“自我保护模式”来解决这个问题------当...原创 2018-06-12 19:54:57 · 4009 阅读 · 0 评论 -
Spring Cloud Netflix子模块综合整理-Eureka
Spring Cloud Netflix特征Spring Cloud Netflix功能:服务发现:可以注册Eureka实例,客户端可以使用Spring管理的bean发现实例 服务发现:可以使用声明性Java配置创建嵌入式Eureka服务器 断路器:Hystrix客户端可以使用简单的注释驱动方法装饰器构建 断路器:带有声明性Java配置的嵌入式Hystrix仪表板 声明性RES...原创 2018-07-19 17:36:21 · 610 阅读 · 0 评论 -
Spring cloud config综合整理
Spring Cloud Config为分布式系统中的外部化配置提供服务器和客户端支持。使用Config Server,您可以在所有环境中管理应用程序的外部属性。客户端和服务器上的概念映射与Spring Environment和PropertySource抽象相同,因此它们非常适合Spring应用程序,但可以与任何语言运行的任何应用程序一起使用。当应用程序通过部署管道从开发到测试并进入生产时,您可...原创 2018-07-24 21:36:25 · 1552 阅读 · 0 评论 -
Spring Cloud Consul综合整理
部分资料来自该项目通过自动配置和Spring环境以及其他Spring编程模型习惯用法提供了Spring Boot应用程序的Consul集成。 通过一些简单的注释,您可以快速启用和配置应用程序内的通用模式,并使用基于Consul的组件构建大型分布式系统。 提供的模式包括服务发现,控制总线和配置。 智能路由(Zuul)和客户端负载平衡(功能区),断路器(Hystrix)通过与Spring Clou...原创 2018-07-24 16:00:26 · 14033 阅读 · 1 评论 -
Spring Cloud Netflix子模块综合整理-Ribbon
客户端负载均衡器:RbbionRibbon是一个客户端负载均衡器,可以让您对HTTP和TCP客户端的行为进行大量控制。 Feign已使用Ribbon,因此如果您使用的是@FeignClient,则此部分也适用。Ribbon中的一个核心概念是指定客户端的概念.每个负载均衡器都是组件集成的一部分,这些组件协同工作以按需联系远程服务器,并且集成有共开发人员引用的名称(例如,使用@FeignCli...原创 2018-07-23 22:10:31 · 1684 阅读 · 0 评论 -
在没有父POM的情况下使用Spring Boot
不是每个人都喜欢继承spring-boot-starter-parent POM。 您可能拥有自己需要使用的公司标准父级,或者您可能更愿意明确声明所有Maven配置。如果您不想使用spring-boot-starter-parent,您仍然可以通过使用scope = import依赖项来保持依赖项管理(但不是插件管理)的好处:springboot<dependencyManag...原创 2018-07-23 20:58:04 · 1000 阅读 · 0 评论 -
22.Spring Cloud Config安全保护
由于配置中心的内容比较敏感,做一定的安全是有必要的。为了防止配置内容外泄应该采取安全保护。因为本来用的是基于springboot的,所以整合Spring security比较容易。默认情况下回获得一个名为user的用户名,并且在启动的时候,会在日志中打印随机密码。大多数情况下,我们并不采用随机密码,都是自定义密码。config server 具体配置在配置 1.pom.x...原创 2018-06-27 21:15:01 · 1023 阅读 · 0 评论 -
中小企业对Spring Cloud微服务架构实践经验总结的一些思考!
原文出处:微信公众号 什么是微服务微服务的概念源于 2014 年 3 月 Martin Fowler 所写的一篇文章“Microservices”。文中内容提到:微服务架构是一种架构模式,它提倡将单一应用程序划分成一组小的服务,服务之间互相协调、互相配合,为用户提供最终价值。 每个服务运行在其独立的进程中,服务与服务间采用轻量级的通信机制互相沟通(通常是基于 HTTP...转载 2018-06-20 08:42:09 · 778 阅读 · 0 评论 -
Spring Cloud Netflix子模块综合整理-Feign
声明性REST客户端:FeignFeign是一个声明性的Web服务客户端。 它使编写Web服务客户端变得更容易。 要使用Feign需要创建一个接口并添加相应的注释。 它具有可插入的注释支持,包括Feign注释和JAX-RS注释。 Feign还支持可插拔编码器和解码器。 Spring Cloud增加了对Spring MVC注释的支持,并使用了Spring Web中默认使用的相同HttpMess...原创 2018-07-20 21:21:34 · 811 阅读 · 0 评论 -
Spring Cloud Netflix子模块综合整理-Zuul
路由器和过滤器:Zuul路由是微服务架构的组成部分。 例如,/ 可以映射到您的Web应用程序,/api /users映射到用户服务,/api/ shop映射到购物服务。 Zuul是Netflix基于JVM的路由器和服务器端负载均衡器。Netflix使用Zuul进行以下操作:配置属性zuul.max.host.connections已被两个新属性替换,zuul.host.maxTot...原创 2018-07-22 16:07:16 · 1031 阅读 · 0 评论 -
25.Spring Cloud Sleuth与ELK
1.ELK搭建关于ELK环境搭建在之前的博客都已经提到了。Elasticsearch安装Head插件安装Logstash安装Kibana2.项目示例 2.1添加依赖 <!--elk依赖 --><dependency> <groupId>net.logstash.logback</groupId> <art...原创 2018-08-05 11:52:08 · 1746 阅读 · 0 评论 -
拜托!面试请不要再问我Spring Cloud底层原理
原文:https://blog.csdn.net/forezp/article/details/83999882本文为转载文章,作者:中华石杉,十余年BAT架构经验,倾囊相授。作者微信公众号:石杉的架构笔记(ID:shishan100)概述毫无疑问,Spring Cloud是目前微服务架构领域的翘楚,无数的书籍博客都在讲解这个技术。不过大多数讲解还停留在对Spring Cloud功...转载 2018-11-20 12:25:49 · 5538 阅读 · 2 评论 -
HTTP Status 401 - Full authentication is required to access this resource
Postman发请求网关------》A服务 携带JWT做认证ok网关------》B服务 携带JWT做认证OK,网关------》A服务----Feign(调用)-----》B服务 Full authentication is required to access this resource分析:a.因为Feign在服务之间相互调用如果需要认证,需要实现Request...原创 2018-11-21 17:07:19 · 8304 阅读 · 0 评论 -
SpringCloud综合案例
2018/11/18初始化 2018/11/21更新服务主体介绍1.microservice-base-config【8083】:分布式配置中心,所有配置文件统一管理,如果放在git或svn可结合spring cloud bus 动态更新配置文件【配置除base服务以外的服务】 2.microservice-base-turbine【8081】:聚合监控 3.microserv...原创 2018-11-18 17:01:09 · 2695 阅读 · 1 评论 -
Spring cloud 整合oauh2.0 授权认证
oauh2.0就不多讲了,不明白先了解下。之前springboot篇也已经有案例了。https://blog.csdn.net/niugang0920/article/details/80036954不过之前是资源服务器和授权服务器在一块没有实现分离。在spring cloud篇实现授权和资源服务器的分离。因为我们最终是向着spring cloud生态看齐。如下图,是在网站找的,基...原创 2018-09-15 11:18:43 · 715 阅读 · 0 评论 -
Spring Boot Admin基于security认证注册中心版
非注册中心版:https://blog.csdn.net/niugang0920/article/details/82528434缺点就是每一个client都需要写admin-server的地。如果应用都注册在Eureka中就不需要再对每个应用进行配置,Spring Boot Admin会自动从注册中心抓取应用的相关信息。示例:新建maven项目如下结构:parent pom....原创 2018-09-09 18:04:15 · 1916 阅读 · 0 评论 -
Spring Boot Admin基于security认证非注册中心版
GitHub地址,最新版本为2.0.2基于spring boot 2.xhttps://github.com/codecentric/spring-boot-admin注意:选分支版本每个版本还一样:本示例是基于1.5.x开始整合的时候踩了很多坑,都是因为版本不兼容的问题,最后在gitHub上找到。按照官方版本spring boot 用的是1.5.10spring cloud ...原创 2018-09-09 14:04:17 · 5231 阅读 · 2 评论 -
28.Spring Cloud Sleuth追踪数据存储
前面的演示,ZipkinServer是将数据存储在内存中。这种方式一般不适用于生产环境。因为一直Zipkinserver重启或发生崩溃,就会导致历史数据丢失。ZipkinServer支持多后端存储。列如mysql,Elasticsearch.其实现是通过消息中间件rabbitmq,kafka收集数据,然后存储到mysql中。这里只需要改造ZipkinServer,各个微服务和之前通过消息中间件...原创 2018-08-06 19:47:31 · 670 阅读 · 0 评论 -
27.Spring Cloud Sleuth使用消息中间件收集数据
前面已经介绍了使用HTTP直接收集跟踪数据,下面演示使用消息中间件收集跟踪数据。相比HTTP的方式。消息中间件有以下好处:微服务与ZipkinServer解耦,微服务无须知道ZipkinServer的网络地址。一些场景下,ZipkinServer与微服务网络可能不同,使用HTPP直接收集的方式无法工作,此时可借助消息中间件实现数据收集。ZipkinServerpom.xml ...原创 2018-08-06 19:30:49 · 683 阅读 · 1 评论 -
Spring Cloud Sleuth综合整理
1.介绍Spring Cloud Sleuth为Spring Cloud实现了分布式跟踪解决方案。1.1术语Spring Cloud Sleuth借用了GoogleDapper的术语。Span:工作的基本单位。例如,发送RPC是一个新的跨度,就像发送响应到RPC一样。Span是由一个唯一的64位ID来标识的,而另一个64位ID用于跟踪。span还具有其他数据,如描述、时间...原创 2018-08-05 13:56:44 · 15800 阅读 · 0 评论 -
26.Spring Cloud Sleuth与Zipkin
Zipkin是一种分布式跟踪系统。 它有助于收集解决微服务架构中的延迟问题所需的时序数据。 它管理这些数据的收集和查找。 Zipkin的设计基于Google Dapper论文。应用程序用于向Zipkin报告时序数据。 Zipkin UI还提供了一个依赖关系图,显示了每个应用程序通过的跟踪请求数。 如果要解决延迟问题或错误,可以根据应用程序,跟踪长度,注释或时间戳对所有跟踪进行筛选或排序。 选择...原创 2018-08-05 15:53:20 · 637 阅读 · 0 评论 -
24.Spring Cloud之Spring Cloud Config && Spring Cloud Bus
前言在很多场景下,需要运行期间动态调整配置。如果配置发生了修改,微服务如何获取配置的刷新。在需在微服务客户端添加以下依赖配置 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-actuator</art...原创 2018-06-30 14:41:34 · 442 阅读 · 0 评论 -
23.Spring Cloud Bus 无法更新问题(踩坑) Spring cloud config server Could not fetch remote for master remote
问题描述:spring cloud版本<spring-cloud.version>Dalston.SR1</spring-cloud.version>按照书上教程,Config-Server ,Config-Client加入注册中心,并且给Config-Client配置了rabbitMQ充当消息总线,用于刷新git配置文件改动时通知其他微服务获取最新配置。当我改...原创 2018-06-30 13:56:38 · 7634 阅读 · 1 评论 -
7.Spring-Cloud服务容错保护之Hystrix初探
在微服务架构中,存在着多个服务单元,若一个单元出现故障,就很容易因依赖关系而出现故障的蔓延,最终导致整个系统的瘫痪,这样的架构相较传统的架构更加不稳定,为了解决这样的问题,产生了断路器等一系列的服务保护机制。 "断路器"本身是一种开关装置,用于在电路上保护线路过载,当线路中有电器发生短路,"断路器"能够及时切断故障电路,防止发生过载、发热甚至起火等严重后果。 分...原创 2018-04-24 17:50:10 · 353 阅读 · 0 评论 -
6.Spring-cloud官方构建图
Spring Cloud为最常见的分布式系统模式提供了一个简单且可访问的编程模型,帮助开发人员构建有弹性、可靠和协调的应用程序。Spring Cloud是建立在Spring Boot之上的,这使得开发人员可以很容易地开始并快速地提高效率。服务发现(Service Discovery)一个动态的目录,支持客户端负载平衡和智能路由。断路器(Circuit Break...原创 2018-04-11 17:32:49 · 319 阅读 · 0 评论 -
5.Spring-Cloud中服务的提供者和服务的消费者
注意:请使用官方建议的springboot和springcloud对应的版本在之间的博客中已经写到如何建立高可用的注册中心,地址见高可用注册中心现在我们来创建服务治理体系下的一个服务(即服务的提供者)1.pom.xml<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.or...原创 2018-04-11 15:54:55 · 3696 阅读 · 0 评论 -
3.Spring-Cloud服务注册与发现-Eureka
服务治理可以说是微服务架构中最为核心的基础模块,它主要用来实现各个服务实例的自动化注册于发现。为什么要用服务治理模块,没有它有什么不好的地方。 在最初开始构建微服务系统的时候可能服务并不多,我们可通过做一些静态配置来实现服务的调用。但随着业务的发展,系统的功能越来越复杂,相应的微服务应用也不断增加,我们的静态配置就会变得越来越难以维护。并且面对不断发展的业务,我们的集群...原创 2018-03-13 21:45:33 · 448 阅读 · 0 评论 -
我们为什么要使用Spring Cloud?
转载地址 Spring Cloud是一个集成了众多开源的框架,利用Spring Boot的开发便利性实现了服务治理、服务注册与发现、负载均衡、数据监控,REST API发布方式等,基本囊括了分布式框架所需要的所有功能。是一套易开放、易部署、易维护的分布式开发工具包。在详细的了解Spring Cloud中所使用的各个组件之前,我们先了解下微服务框架的前世今生。1 2单体架构 在...转载 2018-03-05 14:21:25 · 1296 阅读 · 0 评论 -
Spring Cloud在国内中小型公司能用起来吗?
原文出处:http://www.ityouknow.com/springcloud/2017/09/11/can-use-springcloud.html今天吃完饭休息的时候瞎逛知乎,突然看到这个一个问题Spring Cloud在国内中小型公司能用起来吗?,吸引了我的注意。仔细的看了题主的问题,发现这是一个好问题,题主经过了一番思考,并且用图形全面的将自己的疑问表达了出来,作为一个研究并使用Spr...转载 2018-03-12 15:11:30 · 240 阅读 · 0 评论 -
从架构演进的角度聊聊Spring Cloud都做了些什么?
原文出处:http://www.ityouknow.com/springcloud/2017/11/02/framework-and-springcloud.html传统架构发展史单体架构单体架构在小微企业比较常见,典型代表就是一个应用、一个数据库、一个web容器就可以跑起来,比如我们开发的开源软件云收藏,就是标准的单体架构。在两种情况下可能会选择单体架构:一是在企业发展的初期,为了保证快速上线,...转载 2018-03-12 15:02:57 · 343 阅读 · 0 评论 -
1.初识Spring-Cloud
部分来自微信公众号:纯洁的微笑一:读《SpringCloud微服务实战》1.Spring-Cloud其目标构建一套标准化的微服务解决方案,让架构师,开发者在使用微服务理念构建应用系统的时候,在面对各个环节的问题都找到对应的组件来处理。2.Spring-Cloud可以说是Spring社区为微服务架构提供的一个“全家桶”套餐。3.Spring-Cloud内容非常广泛,并且知识跨度较大,...原创 2018-03-11 16:27:36 · 276 阅读 · 0 评论 -
2.Spring-Cloud版本说明
Spring Cloud不想Spring社区其他一些项目那样相对独立,它是一个拥有诸多项目的大型综合项目,可以说是对微服务架构提供了一站式的解决方案,其包含的各个子项目也都独立进行着内容的更新与迭代,各自都维护这自己的版本号。因此每一个Spring Cloud的版本号都会包含多个不同的版本的子项目,为了管理每个版本的子项目清单,避免Spring Cloud的版本号与其子项目的版本号混淆,...原创 2018-03-11 16:26:00 · 2116 阅读 · 0 评论 -
4.Spring-Cloud-Eureka构建双节点服务注册中心集群
注册中心这么关键的服务,如果是单点话,遇到故障就是毁灭性的。在一个分布式系统中,服务注册中心是最重要的基础部分,理应随时处于可以提供服务的状态。为了维持其可用性,使用集群是很好的解决方案。 Eureka Server的设计一开始就考虑了高可用问题,在Eureka的服务治理设计中,所有的结点即是服务的提供方,也是消费方,服务注册中心也不列外之前设计的让注册中心不注册自己。如下...原创 2018-03-15 21:13:40 · 3735 阅读 · 0 评论 -
8.Spring-Cloud-Hystrix之异常处理
在调用服务执行HsytrixCommand实现的run()方法抛出异常时,除HystrixBadRequestException之外,其他异常都会认为是Hystrix命令执行失败并触发服务降级处理逻辑.异常处理当Hystrix命令因为异常(除了HystrixBadRequestException异常)进入服务降级逻辑之后,往往需要对不同的异常做针对处理,那么就要捕获异常。对于使用@Hyst...原创 2018-04-24 18:52:07 · 2926 阅读 · 0 评论 -
9.Spring-Cloud-Hystrix之请求缓存(踩坑)
当系统的用户不断增长时,每个微服务需要承受的并发压力越来越大。在分布式环境下,通常压力来自于对依赖服务的调用,因为请求依赖服务的资源需要通过通信来实现,这样的依赖方式比起进程内的调用方式引起一部分的性能损失,同时HTTP相比于其他高性能的通信协议在速度上没有任何优势,所以它有些类似于对数据库这样的外部资源进行读写操作,在高并发的情况下可能会成为系统的瓶颈。 在...原创 2018-04-26 19:44:33 · 2492 阅读 · 1 评论 -
15.Spring-Cloud-Zuul API网关服务初探
在没有服务网关时,请求流程图大致如下:客户端直接与各个微服务通信,会有以下问题:客户端会多次请求不同的微服务,增加了客户端的复杂性。 存在跨域请求,在一定场景下处理相对复杂。 认证复杂,大多数情况下,为了保证对外服务的安全性,我们在服务端实现的微服务接口,往往都会有一定的权限校验机制,比如对用户登录状态的校验等;同时为了防止客户端在发起请求时被篡改等安全方面的考虑,还会有一些...原创 2018-05-10 18:30:57 · 274 阅读 · 0 评论 -
19.Spring Cloud之分布式配置中心Spring Cloud Config
Spring Cloud Config是Spring Cloud团队创建的一个全新项目,用来为分布式系统中的基础设施和微服务应用提供集中化的外部配置支持,它分为服务端与客户端两个部分。其中服务端也称为分布式配置中心,它是一个独立的微服务应用,用来连接配置仓库并为客户端提供获取配置信息、加密/解密信息等访问接口;而客户端则是微服务架构中的各个微服务应用或基础设施,它们通过指定的配置中...原创 2018-06-10 13:21:35 · 349 阅读 · 0 评论 -
21.Spring Cloud之分布式配置中心Spring Cloud Config注册中心版
前面的博客已经演示无注册中心版,那么Config Server也能以服务的方式注册到服务中心,被其他应用发现并获取配置信息。 服务端配置(Config Server)pom.xml<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-...原创 2018-06-15 08:49:03 · 231 阅读 · 0 评论