随笔分类 -  SpringCloud

摘要:TxManager是LCN分布式事务框架的事务协调器,框架基于Netty做消息通讯,事务控制数据存储在redis中。 TxManager采用高可用集群化部署方案,多个TM通过eureka集群完成服务注册,各个TxClient通过服务名称向TxManager发送事务信息。 一、搭建TxManager 阅读全文
posted @ 2020-08-03 16:03 64Byte 阅读(923) 评论(0) 推荐(0)
摘要:常见的分布式解决方案 1、两阶段提交协议(2PC) 解决分布式系统的数据一致性问题出现了两阶段提交协议(2 Phase Commitment Protocol), 两阶段提交由协调者和参与者组成,共经过两个阶段和三个操作,部分关系数据库如Oracle、MySQL支持两阶段提交协议。 说到2pc就不得 阅读全文
posted @ 2020-07-21 22:40 64Byte 阅读(4706) 评论(0) 推荐(0)
摘要:转载:https://www.cnblogs.com/qdhxhz/p/9594521.html 一、什么是路由网关 网关是系统的唯一对外的入口,介于客户端和服务器端之间的中间层,处理非业务功能 提供路由请求、鉴权、监控、缓存、限流等功能。 它将"1对N"问题转换成了"1对1”问题。 通过服务路由的 阅读全文
posted @ 2020-07-14 14:30 64Byte 阅读(424) 评论(0) 推荐(0)
摘要:微服务意味着要将单体应用中的业务拆分成一个个子服务,每个服务的粒度相对较小, 因此系统中会出现大量的服务,由于每个服务都需要必要的配置信息才能运行, 所以一套集中式的、动态的配置管理是必不可少的。Spring Cloud 提供了 ConfigServer 来解决这个问题。 Spring Cloud 阅读全文
posted @ 2020-07-13 19:35 64Byte 阅读(258) 评论(0) 推荐(0)
摘要:1、简单数据类型的参数采用的restFull的方式,发送Get请求 服务提供方的controller: //类名加了窄化请求:@RequestMapping(path = "house",produces = "application/json;charset=utf-8")@GetMapping( 阅读全文
posted @ 2020-07-13 19:07 64Byte 阅读(1472) 评论(0) 推荐(0)
摘要:Hystrix实现服务降级 实现服务降级的条件:1、线程池已满 2、超时 一、使用@HystrixCommand(fallbackMethod = "备选方法名")在服务使用方添加 备选方法写在Controller类中, 违背了类单一原则, 不推荐 1、导入Hystrix依赖 <!-- hystri 阅读全文
posted @ 2020-07-13 14:59 64Byte 阅读(465) 评论(0) 推荐(0)
摘要:什么是缓存穿透? 发生场景 缓存穿透的概念很简单,用户想要查询一个数据,发现redis内存数据库没有,也就是缓存没有命中,于是向持久层数据库查询。 发现也没有,于是本次查询失败。当用户很多的时候,缓存都没有命中,于是都去请求了持久层数据库。 这会给持久层数据库造成很大的压力,这时候就相当于出现了缓存 阅读全文
posted @ 2020-07-11 14:19 64Byte 阅读(1274) 评论(1) 推荐(1)
摘要:使用Spring Cloud 中的 Ribbon 和 Feign 实现负载均衡机制。但是有个问题需要注意下: 多个微服务之间调用的时候,假设微服务A调用微服务B和微服务C,微服务B和微服务C又在调用其他的微服务,这就是所谓的“扇出”。 如果扇出的链路上某个微服务的调用响应时间过长或者不可用,那么对微 阅读全文
posted @ 2020-07-11 14:00 64Byte 阅读(410) 评论(0) 推荐(0)
摘要:在微服务体系中,后端微服务经常会存在多个项目,但这些项目中往往会有很多公共的配置和工具等, 这时候我们就需要一个common项目同时为多个后端项目服务,这样可以减少许多重复代码和重复配置后端项目的时间。 1、新建SpringBoot jar项目,取名为commons 2、将公共的类、依赖、配置存放于 阅读全文
posted @ 2020-07-11 11:35 64Byte 阅读(553) 评论(0) 推荐(0)
摘要:Feign:假装、伪装的意思 Feign可以把HTTP 的请求进行隐藏,伪装成类似 SpringMVC 的 Controller一样。你不用再自己拼接 url,拼接参数等等操作,一切都交给 Feign 去做。 提供一个接口, 封装服务提供方的服务接口(url),便于Controller的调用, 谁需 阅读全文
posted @ 2020-07-11 11:16 64Byte 阅读(607) 评论(0) 推荐(0)
摘要:Spring Cloud Ribbon是一个基于Http和TCP的客户端负载均衡工具 ,Ribbon主要 解决集群服务中,多个服务高效率访问的问题。 负载均衡在系统架构中是一个非常重要,并且是不得不去实施的内容。因为负载均衡是对系统的高可用、网络压力的缓解和处理能力扩容的重要手段之一。 目标 理解R 阅读全文
posted @ 2020-07-11 10:50 64Byte 阅读(202) 评论(0) 推荐(0)
摘要:我们之前搭建的是一个简单的注册中心,而且这个注册中心是一个单点的,那么我们的系统就会存在一个风险, 一旦我们这个注册中心故障了,则整个服务都不可用,那我们可以对注册中心进行集群部署, 这样我们不会担心因为某一台注册中心出现故障,而影响到整个服务.也就实现了注册中心的高可用。 分布式和集群这两个概念: 阅读全文
posted @ 2020-07-10 20:32 64Byte 阅读(280) 评论(0) 推荐(0)
摘要:一、首页显示的微服务名 Eureka 首页显示的微服务名默认为:机器主机名:应用名称:应用端口,也就是: ${spring.cloud.client.hostname}:${spring.application.name}:${spring.application.instance_id}:${se 阅读全文
posted @ 2020-07-10 20:09 64Byte 阅读(1294) 评论(0) 推荐(0)
摘要:一、创建一个maven的pom的父包继承SpringBoot-parent 子项目--继承-->父项目 --> 继承 -->springBoot-parent 1、添加相关依赖 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi= 阅读全文
posted @ 2020-07-09 20:58 64Byte 阅读(351) 评论(0) 推荐(0)
摘要:SpringCloud的版本名 官网中会看到如下的版本名:Dalston、Edgware、Finchley、Greenwich、Hoxton. 开发代号看似没有什么规律,但实际上首字母是有顺序的,比如:Dalston版本,我们可以简称 D 版本, 对应的 Edgware 版本我们可以简称 E 版本。 阅读全文
posted @ 2020-07-09 20:35 64Byte 阅读(1502) 评论(0) 推荐(0)
摘要:SpringCloud介绍 Spring Cloud 是一系列框架的有序集合,它利用 Spring Boot 的开发便利性巧妙地简化了分布式系统基础设施的开发, 如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用 Spring Boot 的开发风格做到一键启动和部署。 Spr 阅读全文
posted @ 2020-07-09 20:16 64Byte 阅读(303) 评论(0) 推荐(0)
摘要:微服务的定义 微服务的流行,离不开Martin Fowler,他的博客(https://www.martinfowler.com/articles/microservices.html), 对微服务进行的概括,如果英文不行,可以查看翻译版(http://blog.cuicc.com/blog/201 阅读全文
posted @ 2020-07-09 19:40 64Byte 阅读(158) 评论(0) 推荐(0)