
SpringCloud
Erica_1230
这个作者很懒,什么都没留下…
展开
-
服务降级与熔断的区别
下面通过一个日常的故事来说明一下什么是服务降级,什么是熔断。故事的背景是这样的:由于小强在工作中碰到一些问题,于是想请教一下业界大牛小壮。于是发生了下面的两个场景:小强在拿起常用手机拨号时发现该手机没有能够拨通,所以就拿出了备用手机拨通了某A的电话,这个过程就叫做降级(主逻辑失败采用备用逻辑的过程)。由于每次小壮的解释都属于长篇大论,不太容易理解,所以小强每次找小壮沟通的时候都希望通过...转载 2019-03-22 09:54:33 · 403 阅读 · 0 评论 -
Springcloud中的region和zone的使用
一、背景用户量比较大或者用户地理位置分布范围很广的项目,一般都会有多个机房。这个时候如果上线springCloud服务的话,我们希望一个机房内的服务优先调用同一个机房内的服务,当同一个机房的服务不可用的时候,再去调用其它机房的服务,以达到减少延时的作用。二、概念eureka提供了region和zone两个概念来进行分区,这两个概念均来自于亚马逊的AWS:(1)region:可以...转载 2019-04-30 14:53:03 · 366 阅读 · 0 评论 -
springcloud的配置文件的读取顺序
SpringBoot默认支持properties和YAML两种格式的配置文件。前者格式简单,但是只支持键值对。如果需要表达列表,最好使用YAML格式。SpringBoot支持自动加载约定名称的配置文件,例如application.yml。如果是自定义名称的配置文件,就要另找方法了。可惜的是,不像前者有@PropertySource这样方便的加载方式,后者的加载必须借助编码逻辑来实现。一、boo...转载 2019-04-30 10:18:50 · 1098 阅读 · 0 评论 -
Git、GitHub、GitLab三者之间的联系以及区别
在讲区别以及联系之前先简要的介绍一下,这三者都是什么1.什么是 Git?Git 是一个版本控制系统。版本控制是一种用于记录一个或多个文件内容变化,方便我们查阅特定版本修订情况的系统。以前在没有使用版本控制的时候,我们通常在我们的项目根目录下这样命名项目:project_v1、project_v1.1、project_v2等等,通过这种方式记录我们项目的不同版本的修改,有的时...转载 2019-04-18 19:34:34 · 189 阅读 · 0 评论 -
Spring Cloud Config 的端口 port 不是 8888 的时候的坑
当你配置的配置中心的 server.port 不是 8888 的时候,其他服务就起不来了,从日志中可以发现,服务启动的时候,Fetching config from server at: http://localhost:8888,说明其他服务还是去 8888 这个默认端口取配置中心的文件,而不去你在 application.yaml 文件中配置的配置中心读取配置文件,这是什么原因呢?其实这就...转载 2019-04-18 19:22:42 · 304 阅读 · 0 评论 -
swagger在微服务中集成统一api入口
如果你的系统也是用zuul作为分布式系统的网关,同时使用swagger生成文档,想把整个系统的文档整合在同一个页面上pom.xml引用<dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> ...转载 2019-04-23 16:23:56 · 1880 阅读 · 0 评论 -
spring cloud-Swagger2整合Eureka,实现Eureka页面自动跳转到Swagger2UI界面查看服务接口信息
一、Eureka Server回顾在前面的博客中,细心的读者可能已经发现,当我们点击某个注册到Eureka Server上的某个服务的时候,链接的界面要么报404,要么就是空的,如下图所示:那怎么能像dubbo里面一样,当点击注册的服务的时候,可以看到这个服务对外提供了哪些接口了。现在问题,我们已经知道了,怎么来解决了?解决思路就是整个Eureka和Swagger2,当点击链接的时候,直接...转载 2019-04-23 14:32:26 · 307 阅读 · 0 评论 -
Spring Cloud Config
Spring Cloud Config提供集中化的外部配置支持,分为客户端和服务端两个部分,服务端也被称为配置中心,是一个独立的应用,获取git中的信息,比如密码,用户名。客户端就是微服务架构中各个微服务应用,它在启动的时候通过配置中心来获取配置信息,可以用git,svn等来存储配置信息。一 创建服务端(配置中心) 1 在pom.xml引入以下依赖 <dependencie...原创 2019-04-18 15:13:39 · 124 阅读 · 0 评论 -
Spring Boot中使用Swagger2构建强大的RESTful API文档
由于Spring Boot能够快速开发、便捷部署等特性,相信有很大一部分Spring Boot的用户会用来构建RESTful API。而我们构建RESTful API的目的通常都是由于多终端的原因,这些终端会共用很多底层业务逻辑,因此我们会抽象出这样一层来同时服务于多个移动端或者Web前端。这样一来,我们的RESTful API就有可能要面对多个开发人员或多个开发团队:IOS开发、Androi...转载 2019-04-22 16:09:04 · 151 阅读 · 0 评论 -
Spring Cloud Zuul(二)过滤功能使用
一 实现访问鉴权的功能思想通过实现zuul的过滤器,检查访问是否带有token参数,如果有就进行路由,如果没有,就拒绝访问,返回401的错误1 继承ZuulFilter的抽象类并实现4个抽象函数,就可以完成上述功能。public class AccessFilter extends ZuulFilter { @Override public Object run...原创 2019-04-08 15:19:14 · 253 阅读 · 0 评论 -
Spring Cloud Zuul(一)路由功能使用
Spring Cloud Zuul类似Facade的模式,它的存在就像是整个微服务架构系统的门面一样,所有的外部客户端访问都需要经过它来调度和过滤,它主要的功能是路由和过滤功能。一构建网关,1 创建api-gateway的工程,pom.xml,引入spring-cloud-starter-zuul依赖<dependencies> <dependency...原创 2019-04-08 14:45:40 · 1127 阅读 · 0 评论 -
Eureka的搭建
Eureka需要搭建服务注册中心,服务的提供者和服务的消费者,服务的提供者把服务注册到Eureka上,服务的消费者从Eureka获取调用的服务地址,使得服务提供者和服务消费者的解耦,一般服务的提供者也同时是服务的消费者。一 搭建注册中心(Eureka) 1 创建一个spring boot工程,命名为eureka-server,并在pom.xml中引入必要的依赖内容。 &l...原创 2019-03-29 09:26:41 · 325 阅读 · 0 评论 -
Feign的配置
Ribbon的配置1 全部配置ribbon.<key>=<value>如ribbon.ConnectTimeout=500 //客户端的连接超时设置为500毫秒ribbon.ReadTimeout=500 //客户端的读取超时设置为500毫秒2 指定服务配置,client是@FeignClient(name="hello-service")...原创 2019-04-02 15:48:08 · 4806 阅读 · 0 评论 -
为何使用spring cloud
1 为什么需要服务发现简单来说,服务化的核心就是将传统的一站式应用根据业务拆分成一个一个的服务,而微服务在这个基础上要更彻底地去耦合(不再共享DB、KV,去掉重量级ESB),并且强调DevOps和快速演化。这就要求我们必须采用与一站式时代、泛SOA时代不同的技术栈,而Spring Cloud就是其中的佼佼者。DevOps是英文Development和Operations的合体,他要求开发...转载 2019-04-11 15:42:44 · 187 阅读 · 0 评论 -
声明式服务调用 Spring Cloud Feign 搭建
Spring Cloud Feign 整合了Ribbon和Hystrix,提供了一种声明式的web服务客户端定义方式,我们只需创建一个接口并用注解的方式配置它们,就可以完成对服务提供方的接口的绑定,简化了使用Ribbon时自行封装服务调用客户端的开发量。一 1 创建一个spring boot工程是服务调用的客户端, 取名为feign-consumer,pom文件如下 <...原创 2019-04-02 11:55:22 · 193 阅读 · 0 评论 -
Hystrix的使用
在微服务架构中,存在着那么多服务单元,若一个单元出现故障,就很容易因依赖关系而引发故障的蔓延,最终导致整个系统的瘫痪,这样架构较传统架构更加不稳定,在微服务中引入Hystrix来解决上述问题,当某个服务发生故障的时候,Hystrix通过故障的监控,向调用方返回一个错误的相应,而不是长时间的等待,这样就不会使得现场因调用故障服务被长时间占用不释放,避免了故障在分布式系统中的蔓延。一 非Feign...原创 2019-04-04 15:48:11 · 214 阅读 · 0 评论 -
为何使用spring cloud
1 为什么需要服务发现简单来说,服务化的核心就是将传统的一站式应用根据业务拆分成一个一个的服务,而微服务在这个基础上要更彻底地去耦合(不再共享DB、KV,去掉重量级ESB),并且强调DevOps和快速演化。这就要求我们必须采用与一站式时代、泛SOA时代不同的技术栈,而Spring Cloud就是其中的佼佼者。DevOps是英文Development和Operations的合体,他要求开发...转载 2019-04-30 16:17:05 · 301 阅读 · 0 评论