
SpringCloud
shuos_yan
最后悔的事不是失败而是我本可以
展开
-
zuul和gateway
总体说明spring-cloud-Gateway是spring-cloud的一个子项目。而zuul则是netflix公司的项目,只是spring将zuul集成在spring-cloud中使用而已。因为zuul2.0连续跳票和zuul1的性能表现不是很理想,所以催生了spring团队开发了Gateway项目。zuul使用的是阻塞式的 API,不支持长连接,比如 websockets。底层是servlet,Zuul处理的是http请求没有提供异步支持,流控等均由hystrix支持。原创 2020-08-24 14:08:08 · 600 阅读 · 3 评论 -
分布式事务-如何解决分布式事务
分布式事务的实现主要有以下 5 种方案:XA 方案TCC 方案本地消息表可靠消息最终一致性方案最大努力通知方案两阶段提交方案/XA方案所谓的 XA 方案,即:两阶段提交,有一个事务管理器的概念,负责协调多个数据库(资源管理器)的事务,事务管理器先问问各个数据库你准备好了吗?如果每个数据库都回复 ok,那么就正式提交事务,在各个数据库上执行操作;如果任何其中一个数据库回答不 ok,...转载 2020-05-06 15:26:55 · 256 阅读 · 0 评论 -
浅谈Spring Cloud 套餐
SpringCloud(一)简介SpringCloud(二)ZuulZuul解决跨域问题SpringCloud(三)EurekaSpringCloud(四)Fegin及源码介绍SpringCloud(五)Hystrix及源码介绍SpringCloud(六)Config统一配置中心SpringCloud(七)Ribbon及源码介绍CAP理论...原创 2020-05-05 16:24:50 · 250 阅读 · 0 评论 -
CAP理论
CAP理论概述:指的是再一个分布式系统中一致性(Consistency)、可用性(Avaiability)、分区容错性(Partition tolerance),三者不能同时获取一致性( C):再分布式的所有数据备份中,在同一时刻是否会有相同的值,就是所有的节点再同一时间需要完全一致,单节点越多数据同步越耗时 举例:比如说现在有A,B,C三个银行对应A,B,C三个数据库,因为无论是什...原创 2019-12-10 13:40:25 · 220 阅读 · 0 评论 -
Spring Cloud (七) - Ribbon及底层实现
RestTemplete跨服务调用技术,它和feign的使用基本一致。使用RestTemplete实现负载均衡:使用RestTemplete有多种方式:这里说明两种通过注入bean的方式主函数中使用@LoadBalanced注解public class TestApplication { public static void main(String[] args) { ...原创 2019-08-31 06:52:58 · 2278 阅读 · 0 评论 -
Spring Cloud (六) - Config
概述:问题:当多个团队同时开发一个项目时,每个团队的配置有可能不统一,会导致功能不兼容的情况,再比如一般情况下修改配置文件需要重启项目,这样很是浪费精力,再比如将一些配置的账号密码放在配置文件中,这样所有的开发者都会看到,安全性的不到更好保障,为了解决以上等问题,统一配置中心出现了它是cloud中的一个组件,我们可以通过这个组建对不同的服务进行不同的配置,这个组建存放于一些远程仓库比如svn...原创 2019-08-27 11:33:04 · 147 阅读 · 0 评论 -
Spring Cloud (五) - Hystrix及源码说明
雪崩效应介绍:简单来说如果A调用B ,B调用C 这个时候如果C服务器发生问题,B服务一直无法调用C服务的接口,这个时候A 如果继续有请求过来 就会造成服务延迟,最后服务就会崩溃。当多个服务同时调用时,没有及时响应,会形成一个堆积,会一直在等待,连接有没有释放,这样导致接口无法访问,hystrix就是为了解决这个问题解决方案:方案一:超时机制和服务降级(调用方处理)如果一个服务没有及时调...原创 2019-08-26 11:14:51 · 189 阅读 · 0 评论 -
Spring Cloud (四) - Fegin及源码介绍
Feign概述:是一种跨服务调用的技术,实现两个服务之间的通讯,只能在cloud架构中使用,Feign的使用依赖于Eureka,只有两个服务都注册到了Eureka才能够实现两个服务之间的通讯。使用它的使用在上一篇已经说明超时机制Feign有默认的超时机制,默认为1s,我们可以通过ribbon来实现超时机制#请求处理的超时时间ribbon.ReadTimeout=60000#请求...原创 2019-08-31 07:55:03 · 325 阅读 · 0 评论 -
Spring Cloud (三) - Eureka
EurekaEureka概述:注册中心、管理服务以及管理服务的地址,处理两个服务之间的通讯,只能在SpringCloud架构体系中使用,包括注册注册中心和服务消费者、服务提供者Eureka特点:可以自己向自己注册注册到注册中心的服务,在使用Fegin或TestTemplete跨服务调用时不需要得到其真是地址,只需要根据注册到注册中心的服务名称进行通讯可以实现高可用,一个服务可以同...原创 2019-08-22 13:29:45 · 159 阅读 · 0 评论 -
Eureka查看svn配置文件内容
进入Eureka页面点击配置的config-server服务,如下图所示进来之后:在地址栏输入看一下你想看的工程的配置文件的配置:地址栏的dev就是配置的label;"base-client-dev.properties"就是你的配置文件名称点击回车就可以看到工程的配置了...原创 2019-08-22 10:02:47 · 450 阅读 · 0 评论 -
Zuul解决跨域问题
需要在定义zuul的过滤器时添加response.setHeader()内容即可.../** * 拦截时的具体操作 */@Overridepublic Object run() { RequestContext ctx = RequestContext.getCurrentContext(); HttpServletResponse response = ctx.get...原创 2019-08-21 11:27:55 · 582 阅读 · 0 评论 -
Spring Cloud (二) - Zuul
概述:Zuul是cloud架构中的技术点,是Netflix出品的一个基于jvm路由和服务端的负载均衡器,只能在cloud中使用作用:负载均衡的作用:它的负载均衡依赖于ribbon,包括Fegin和RestTemplete都是依赖于ribbon实现的负载均衡网关功能:其实是一系列过滤器,拥有前置过滤器、后置过滤器、路由、错误过滤器等流程:zuul是前台服务访问后台服务时使用的技术...原创 2019-08-21 11:13:21 · 181 阅读 · 0 评论 -
Spring Cloud (一)简介
单体架构和微服务单体架构:将所有的功能模块全部放在一个工程中开发使用,各个功能模块都是在这一个工程中相互调用,使用同一个数据库微服务:将功能拆分成多个模块,也就是多个服务进行开发,每个服务可以单独运行单独部署,每个服务之间可以相互调用,每个服务可以使用不同的数据库单体架构优缺点优点:可以节省功能服务之间调用的时间,直接本地调用,不需要远程调用易于部署,只需要部署一个项目即可易...原创 2019-08-20 17:37:41 · 238 阅读 · 0 评论