spring-cloud
新手路上的程序员
这个作者很懒,什么都没留下…
展开
-
Springboot遇到的异常
1.No tests found for given includesimport org.junit.Test 修改为 import org.junit.jupiter.api.Test原创 2021-08-10 14:24:43 · 344 阅读 · 0 评论 -
Stream 一
在说Bus的时候就稍微的说到了Stream,Stream可以说是Bus的基础。 Spring Cloud Stream 是一个用来为微服务应用构建消息驱动能力的框架。 它可以基于Spring Boot 来创建独立的、 可用于生产的 Spring 应用程序。 它通过使用 Spring Integration来连接消息代理中间件以实现消息事件驱动。 Spring Cloud St...原创 2018-02-11 16:18:42 · 215 阅读 · 0 评论 -
Bus 二
pom.xml:上面三个是必须的<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-eureka</artifactId> <version>1.3.5.RELEASE<...原创 2018-02-11 10:38:23 · 249 阅读 · 0 评论 -
Eureka 二
一主要讲了一些关于Eureka 的概念,这一篇用代码去实现服务端 高可用pom.xml org.springframework.cloud spring-cloud-starter-eureka-server 1.3.5.RELEASE org.springframework.cloud原创 2018-02-06 17:06:19 · 151 阅读 · 0 评论 -
Ribbon 一
Ribbon 是一个基于 HTTP 和 TCP 的客户端负载均衡工具,它基于 Netflix Ribbon 实现。 通过 Spring Cloud 的封装, 可以让我们轻松地将面向服务的 REST 模板请求自动转换成客户端负载均衡的服务调用。 Spring Cloud Ribbon 虽然只是一个工具类框架,它不像服务注册中心、 配置中心、 API 网关那样需要独立部署, 但是它几乎存在于每一个原创 2018-02-06 18:54:46 · 181 阅读 · 0 评论 -
总结
这段时间将Spring cloud基本写完了,但仅仅只是纸上谈兵,还没有机会实践。稍微总结一下。spring cloud带来了什么。Eureka 服务中心。发现服务,管理服务,保证服务的可用性。Zuul 网关 使用zuul其实已经将ribbon,Hystrix都包含了。通过映射就可以直接将我们的http请求发送到对应的微服务上面,自动实现Ribbon的负载均衡。提供了拦截器,可以帮助我们...原创 2018-02-13 11:06:03 · 120 阅读 · 0 评论 -
Hystrix 一
Hystrix 断路器,先说说为什么要用断路器。 在微服务架构中, 我们将系统拆分成了很多服务单元, 各单元的应用间通过服务注册与订阅的方式互相依赖。 由于每个单元都在不同的进程中运行, 依赖通过远程调用的方式执行, 这样就有可能因为网络原因或是依赖服务自身间题出现调用故障或延迟, 而这些问题会直接导致调用方的对外服务也出现延迟, 若此时调用方的请求不断增加, 最后就会因等待出现故障的依原创 2018-02-07 14:56:46 · 223 阅读 · 0 评论 -
Feign 一
以下都是书里的理论,Feign其实没什么理论可以说,要说也是源码的事情,但是现在只是稍微看了一下源码,没办法去写,大家就勉看看,为了保持队形,我也不容易。努力着,微笑着写博客。 我们在使用 Spring Cloud Ribbon 时, 通常都会利用它对 RestTemplate 的请求拦截来实现对依赖服务的接口调用, 而 RestTemplate 已经实现了对 HTTP 请求的封装处理, 形成了...原创 2018-02-08 16:22:25 · 484 阅读 · 0 评论 -
Feign 二
Feign,这一篇主要还是代码。pom.xml<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-eureka</artifactId> <version>1.3.5.REL...原创 2018-02-08 18:01:14 · 280 阅读 · 0 评论 -
Stream 二
上一章大部分都介绍完了,这一章主要是代码的实现和一些细节。RabbitMQ:pom.xml <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-stream-rabbit</artifactId&g...原创 2018-02-12 13:41:36 · 392 阅读 · 0 评论 -
Sleuth 一
服务跟踪,就是跟踪你的整个流程,查看一些每个微服务的耗时。为什么要实现微服务的跟踪:谈到微服务的服务跟踪,就不得不提一些分布式计算的八大误区:1.网络可靠2.延迟为零3.宽带无限4.网络绝对安全5.网络拓扑不会改变6.必须有一名管理员7.传输成本为零8.网络同质化从这些问题可以看出,网络是很大的一个问题,网络并不可靠,而且网络资源是有限的。sleuth的一些术语: span(跨度):...原创 2018-02-12 17:04:04 · 1202 阅读 · 0 评论 -
Sleuth 二
一,二篇是一起在写,没有实物参考,感觉很难说。首先启动一个Eureka注册中心,然后启动一个生产者,一个消费者,消费者去调用生产者。在两个服务的pom.xml中添加依赖:<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-...原创 2018-02-12 18:28:37 · 379 阅读 · 0 评论 -
Hystrix 二
Hystrix 一 主要是Hystrix带给我们的好处,下面就去用代码去实现。pom.xml<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-eureka</artifactId> &...原创 2018-02-08 14:50:22 · 497 阅读 · 0 评论 -
Zuul 二
Zuul 一 主要是说了一些为什么要用Zuul的理由和使用Zuul的好处。现在说一下如何去实现这些好处。pom.xml<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-eureka</artifac...原创 2018-02-09 15:30:20 · 543 阅读 · 0 评论 -
Config 一
在微服务的架构中,微服务的配置管理一般有一下的需求: 集中配置管理。一个使用微服务架构的应用系统,可能会包含成百上千个微服务,因此集中配置管理是非常有必要的, 不同环境不同配置,例如。数据源配置在不同的环境(开发,测试,发布)中是不同的 运行期间的动态调整。例如,可根据各个微服务的负载情况,动态调整数据源连接池大小或者熔断的阈值,而且在调整配置的时候不停止微服务。...原创 2018-02-09 15:53:31 · 295 阅读 · 0 评论 -
Bus 一
前面说了一下Config的动态刷新配置,但是动态刷新配置的时候我们需要手动的去Client端访问/refresh才能刷新配置,问题来了,随着服务的不断增加,我们需要手动去更新的服务会不断的增加。此时我们就需要一个能够快速帮我们刷新配置的项目。Bus就能帮我们很方便的去刷新这些配置。 在微服务架构的系统中, 我们通常会使用轻量级的消息代理来构建一个共用的消息主题让系统中所有微服务实例都...原创 2018-02-11 10:23:08 · 207 阅读 · 0 评论 -
Config 二
Config的配置比较简单。服务端:pom.xml文件<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-config-server</artifactId> <version>1.4.0....原创 2018-02-09 16:45:36 · 368 阅读 · 0 评论 -
Ribbon 二
第一篇将了一Ribbon的理论不多,后续有新的发现会继续补充的。这一节用代码演示一下如何使用Ribbon。Ribbon和Eureka一起使用的话比较简单,在上一篇博客解决问题的时候就已经整合了。说一下Ribbon如何单独使用。pom.xml<dependency> <groupId>org.springframework.cloud</groupId>...原创 2018-02-07 10:00:21 · 187 阅读 · 0 评论 -
Eureka 一
一.微服务注册与发现(Eureka)1.Region和ZoneRegion:大区Zone:分组 将自己注册到对应的服务上面 一个Eureka服务端可以算为一个组eureka.client.service-url.defaultZone=http://localhost:8888/eureka/ 2.Eureka Server和Eureka ClientEureka S原创 2018-02-06 16:19:35 · 305 阅读 · 0 评论 -
Stream 三
都是配置。通道配置:spring.cloud.stream.bindings.<channelName>. 前缀来进行设置消费者配置:生产者配置:绑定器配置:现在stream是对RabbitMQ和kafka有实现的,所以这里需要分开配置:RabbitMQ配置RabbitMQ绑定器的配置同绑定通道的配置一样, 分为三种不同类型:通用配置、消费者配置以及生产者配置。通用配置:消费者的...原创 2018-02-12 14:34:23 · 160 阅读 · 0 评论 -
Zuul 一
Zuul 网关,联想一下就和海关之类的差不多,可以帮我们拦截一些非法请求,或者未授权的请求等等。Zuul网关还有一个作用就是让用户的请求不直接和微服务挂钩,而是通过Zuu网关去分发请求。首先通过我们之前的学习,可以搭建一个初步的架构在该架构中,我们的服务集群包含内部服务ServiceA和ServiceB, 它们都会向EurekaServer集群进行注册与订阅服务,而OpenService是一个对外...原创 2018-02-09 10:40:18 · 332 阅读 · 0 评论