Spring Cloud专栏
Spring Cloud起源
梦断若水
努力不一定成功,放弃一定失败
展开
-
java技术--SpringCloud:服务追踪Sleuth代码实现(20)
1.主要讲述服务追踪组件zipkin,Spring Cloud Sleuth集成了zipkin组件2.构建工程(1)主要有三个工程组成: <1>ZipkinServer:它的主要作用作为链路追踪服务中心,负责存储链路数据 <2>创建两个应用实例EurekaClient,EurekaClient1:分别对外暴露各自的接口 2.1.这两个可以相互调用...原创 2020-04-29 18:04:11 · 201 阅读 · 0 评论 -
java技术--SpringCloud:服务追踪Sleuth概念解析(19)
1.Spring Cloud Sleuth作用:(1)微服务架构是一个分布式架构,它按业务划分服务单元(2)一个分布式系统往往有很多个服务单元 <1>由于服务单元数量众多,业务的复杂性,如果出现了错误和异常,很难去定位 <2>主要体现在: 2.1.一个请求可能需要调用很多个服务 2.2.而内部服务的调用复杂性,决定了问题难以定位 &...原创 2020-04-29 15:24:22 · 253 阅读 · 0 评论 -
java技术--SpringCloud:消息总线Bus简介及代码实现(18)
1.消息总线Bus简介(1)消息总线Bus的作用 <1>在没有使用消息总线的时候,如果需要修改某个配置 1.1.如果涉及修改的微服务节点比较多,需要手动的逐个节点的刷新非常麻烦 1.2.在微服务架构的系统中,通常会使用轻量级的消息代理来构建一个共用的消息主题 1.3.让系统中所有微服务实例都连接上来(2)于该主题中产生的消息会被所有实例监听和消费,所以...原创 2020-04-29 14:34:40 · 6205 阅读 · 0 评论 -
java技术--SpringCloud:高可用的分布式配置中心简介及代码实现(17)
1.配置中心从远程git/svn读取配置文件(1)当服务实例很多时,都从配置中心读取文件(2)这时可以考虑将配置中心做成一个微服务,将其集群化,从而达到高可用2.准备工作(1)改造ConfigServer <1>在其pom.xml文件加上EurekaClient的起步依赖,代码示例如下: <dependency> <groupId...原创 2020-04-29 10:09:09 · 116 阅读 · 0 评论 -
java技术--SpringCloud:分布式配置中心config概念及代码实现(16)
1.概念简介(1)SpringCloud Config出现的原因 <1>没有springCloud前,传统的服务配置文件都是配置在项目里面的 1.1.resource目录下面的application.yml或者application.properties文件 1.2.这种配置文件的局限性是修改起来比较麻烦 1.3.要重新打包发布并且重启服务,这些缺...原创 2020-04-28 17:57:26 · 122 阅读 · 0 评论 -
java技术--SpringCloud:Zuul上传文件,中文文件名乱码解决办法(15)
1.问题描述(1)项目中又一个上传文件的oss服务,直接调用服务的上传文件成功(2)如果经过网关zuul服务上传中文名字的文件,文件名会出现乱码,最终导致上传失败(3)如果上传英文名字的文件,没有任何问题2.解决方案(1)首先列出zuul服务的配置application.properties:代码示例如下 server.port:8005 zuul.routes.oss-api...原创 2020-04-28 15:12:11 · 215 阅读 · 0 评论 -
java技术--SpringCloud:Zuul代码实现(14)
1.在微服务架构中,需要几个基础的服务治理组件(1)服务注册与发现、服务消费、负载均衡、断路器、智能路由、配置管理等(2)这几个基础组件相互协作,共同组建了一个简单的微服务系统(3)一个简答的微服务系统流程如下: <1>客户端的请求首先经过负载均衡(Ngnix) <2>再到达服务网关(zuul集群),然后再到具体的服务 <3>...原创 2020-04-28 09:05:24 · 236 阅读 · 0 评论 -
java技术--SpringCloud:Zuul概念解析(13)
1.Zuul是SpringCloud中的微服务网关(1)Zuul是一个微服务网关,首先是一个微服务 <1>网关: 是一个网络整体系统中的前置门户入口 <2>请求首先通过网关,进行路径的路由,定位到具体的服务节点上 <3>也是会在Eureka注册中心中进行服务的注册和发现 <4>Zuul网关不是必要的,是推荐使用的(2)推荐...原创 2020-04-26 14:27:23 · 264 阅读 · 0 评论 -
java技术--SpringCloud:Hystrix代码实现(12)
1.Hystrix概念回顾:(1)Hystrix是一个用于分布式系统的延迟和容错的开源库(2)在分布式系统里,许多依赖不可避免的调用失败,比如超时、异常等(3)Hystrix能够保证在一个依赖出问题的情况下,不会导致整个服务失败,避免级联故障(4)提高分布式系统的弹性2.准备工作(1)启动EurekaServer工程,端口8000(2)启动EurekaClient工程,端口8001...原创 2020-04-25 09:01:56 · 209 阅读 · 0 评论 -
java技术--SpringCloud:Hystrix概念解析(11)
1.服务故障的“雪崩”效应(1)在微服务架构中,根据业务来拆分成一个个的服务(2)服务间能相互调用(RPC),在SpringCloud用RestTemplate+Ribbon或Feign来调用(3)为了保证其高可用,单个服务通常会集群部署(4)由于网络原因或者自身的原因,服务并不能保证100%可用 <1>如果单个服务出现问题,调用这个服务就会出现线程阻塞 <2...原创 2020-04-24 09:38:27 · 122 阅读 · 0 评论 -
java技术--SpringCloud:Feign代码实现(10)
1.Feign概念回顾:简介(1)Feign是一个声明式的伪Http客户端,它使得写Http客户端变得更简单(2)使用Feign,只需要创建一个接口并注解(3)Feign具有可插拔的注解特性,可使用Feign 注解和JAX-RS注解(4)Feign支持可插拔的编码器和解码器(5)Feign默认集成了Ribbon,并和Eureka结合,默认实现了负载均衡的效果(6)概括: <...原创 2020-04-23 17:59:43 · 338 阅读 · 0 评论 -
java技术--SpringCloud:Feign概念解析(09)
1.Feign简介(1)Feign是由Retrofit,JAXRS-2.0和WebSocket启发的一个java到http客户端绑定(2) Feign的主要目标是将Java Http Clients变得简单 <1>Feign是一个声明式的伪Http客户端,它使得写Http客户端变得更简单 <2>使用Feign,只需要创建一个接口并注解@FeignClient...原创 2020-04-23 15:50:48 · 334 阅读 · 0 评论 -
java技术--SpringCloud:Ribbon微服务调用代码实现-ribbon+restTemplate(08)
1.在微服务架构中,业务都会被拆分成一个独立的服务(1)服务与服务的通讯是基于http restful的(2)Spring cloud有两种服务调用方式: <1>一种是ribbon+restTemplate,另一种是feign(3)在这一篇文章首先讲解下基于ribbon+rest2.Ribbon概念回顾:(1)Ribbon是一个负载均衡客户端,可以很好的控制htt和t...原创 2020-04-23 11:52:00 · 236 阅读 · 0 评论 -
java技术--SpringCloud:Ribbon深度概念解析(07)
1.LoadBalancerClient:负载平衡器客户端(1)Riibon中一个非常重要的组件LoadBalancerClient,它作为负载均衡的一个客户端 <1>LoadBalancerClient在spring-cloud-commons包下 <2>LoadBalancerClient是一个接口,它继承ServiceInstanceChooser...原创 2020-04-22 15:09:07 · 145 阅读 · 0 评论 -
java技术--SpringCloud:Ribbon概念解析(06)
1.Ribbon概念(1)Ribbon是Netflix公司开源的一个负载均衡的项目 <1>是一个客户端负载均衡器,运行在客户端上 <2>是一个经过了云端测试的IPC库,可以很好地控制HTTP和TCP客户端的一些行为 <3> Feign已经默认使用了Ribbon(2)Ribbon的特性: <1>负载均衡,容错 <...原创 2020-04-21 18:01:02 · 221 阅读 · 0 评论 -
java技术--SpringCloud:Eureka客户端/服务端代码实现(05)
1.首先要创建一个父工程(1)父工程的packaging为pom类型(2)父工程中只包含pom配置文件即可,不需要其余东西2.创建服务注册中心(Eureka服务端)(1)创建1个model工程:作为服务注册中心,即Eureka Server(2)下面以创建server为例子,详细说明创建过程如下:本人使用MyEclipse2016 <1>创建好父工程后,在父工程右键...原创 2020-04-16 17:38:00 · 236 阅读 · 0 评论 -
java技术--SpringCloud:Eureka概念解析(04)
1.Eureka是一个服务注册和发现模块(1)使用Eureka实现服务治理(2)Eureka分为服务端和客户端(3)一个基于 REST 的服务,用于定位服务2.Eureka的一些概念(1)Register:服务注册 <1>当Eureka客户端向Eureka Server注册时,它提供自身的元数据 <2>元数据包含:IP地址、端口,运行状况指示符URL...原创 2020-04-15 17:14:42 · 161 阅读 · 0 评论 -
java技术--Spring Cloud Netflix(03)
1.Spring Cloud是Spring推出的大型项目,类似于Spring推出的其他项目(1)Spring Cloud包含了很多独立的项目 <1>spring-cloud-netflix、spring-cloud-config、spring-cloud-security等 <2>这些项目会独立发版,其中包含的项目的版本并不统一(2)Spring Clo...原创 2020-04-15 16:10:44 · 187 阅读 · 0 评论 -
java技术--创建SpringCloudfu父maven project模块(02)
1.在MyEclipse中创建SpringCloudfu父maven project模块(1)File->new->other->maven->maven project<1>记得勾选框(两个都选),这里仅仅只是需要该项目的pom.xml文件<2>packging选择pom<3>生成后,有src文件,删除该文件,只保留pom.xm...原创 2020-04-13 15:06:01 · 155 阅读 · 0 评论 -
java技术--Spring Cloud简介(01)
1.Spring Cloud是一系列框架的有序集合,为开发人员提供了快速构建分布式系统的一些工具2.它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发(1)Spring Cloud并不重复造轮子,而是将市面上开发得比较好的模块集成进去,进行封装,从而减少了各模块的开发成本(2)通过Spring Boot风格进行再封装屏蔽掉了复杂的配置和实现原理(3)Spring ...原创 2020-01-15 15:07:57 · 122 阅读 · 0 评论