spring cloud学习
文章平均质量分 94
梦.之.蓝
这个作者很懒,什么都没留下…
展开
-
springcloud整合seata实现分布式事务(三)
描述: 前面两篇文章已经讲完怎么启动项目了,现在,主要讲项目启动的时候,代码的寻找逻辑,注意,这是重点,官网的描述有些问题,我在采坑后才分享的。 坑一:,seata-server的版本问题 我在下载seata 0.7.0的时候,还有点开里面的file-conf,还有vgroup_mapping的配置,可是,到了1.4.0的时候,已经没有了, 官网的配置地址为:https://github.com/seata/seata-samples/tree/master/springcloud-eureka-f原创 2020-11-28 13:57:54 · 334 阅读 · 0 评论 -
springcloud整合seata实现分布式事务(二)
描述: 本篇文章继承上一篇文章:主要讲述,对于里面的相关的代码,如何改的问题 步骤一:改seata1.4.0里面的配置 改seata-1.4.0\conf\file.conf ## transaction log store, only used in seata-server store { ## store mode: file、db、redis mode = "db" -----改成db ## file st...原创 2020-11-28 13:31:10 · 372 阅读 · 0 评论 -
springcloud整合seata实现分布式事务(一)
1,描述: 从零开始搭建分布式事务,官网版本的相对落后,在经过相互对应的改进后,得到匹配最新版本的seata框架的分布式事务搭建。 步骤一: 下载seata-server 网址为:https://github.com/seata/seata/releases/tag/v1.4.0 网盘地址为:https://pan.baidu.com/s/1AJad5F34Nfe-FUPetJBp7A 验证码为:85qf 步骤二,创建4个数据库: seata-server是seata框架的数据库,accou原创 2020-11-28 13:11:13 · 589 阅读 · 0 评论 -
spring cloud 学习之-13 分布式事务
分布式事务 事务(Transaction),一般是指要做的或所做的事情,由**事务开始(begin transaction)和事务结束(end transaction)**之间执行的全体操作组成。 简单的讲就是,要么全部被执行,要么就全部失败。 那分布式事务,自然就是运行在分布式系统中的事务,是由多个不同的机器上的事务组合而成的。同上,只有分布式系统中所有事务执行了才能是成功,否则失败。 事务的基本特征ACID: 原子性(Atomicity) 一个事务是一个不可分割的工作单位,事务中包括的诸操作要么都做原创 2020-11-11 13:28:54 · 248 阅读 · 0 评论 -
spring cloud 学习之-12-分布锁-接口安全-面试题
项目介绍 接口安全设计 安全问题及解决方案 数据在网络中传输,中间会经历无数路由器,而每个路由器都可以抓包。比如网约车查询用户信息中,有用户身份证,余额等信息。或者订单中用户的行程记录。 用fiddler演示一下: 打开fiddler。 浏览器访问:http://localhost:9100/api-driver/test/hello 查看fiddler中:Inspectors下 Headers。 为防止被窃取需要加密,有对称加密和非对称加密。 《加密》 看图,知道两者区别。 对称加密:两个密原创 2020-11-11 13:27:27 · 331 阅读 · 0 评论 -
spring cloud 学习之-11-总结SpringCloud
Spring cloud总结 服务注册中心:eureka 服务调用:restTemplate,feign 负载均衡:ribbon 熔断:hystrix 配置中心:config-server,config-client 网关:zuul。 链路追踪:sleuth,zipkin。 上面这一套解决方案,足以应对日常的微服务搭建。 常见问题 解决服务注册慢,被其他服务发现慢的问题。 eureka.instance.lease-renewal-interval-in-seconds: 10,续约的时间间隔,默认是3原创 2020-11-11 13:24:30 · 95 阅读 · 0 评论 -
spring cloud 学习之-10-链路追踪和健康检查
18 链路追踪 18.1 概念 分布式计算八大误区 网络可靠。 延迟为零。 带宽无限。 网络绝对安全。 网络拓扑不会改变。 必须有一名管理员。 传输成本为零。 网络同质化。(操作系统,协议) 链路追踪的必要性 如果能跟踪每个请求,中间请求经过哪些微服务,请求耗时,网络延迟,业务逻辑耗时等。我们就能更好地分析系统瓶颈、解决系统问题。因此链路跟踪很重要。 《链路追踪》看看微服务之熵。 我们自己思考解决方案:在调用前后加时间戳。捕获异常。 链路追踪目的:解决错综复杂的服务调用中链路的查看。排查慢服务。 市面上原创 2020-11-08 21:42:42 · 540 阅读 · 0 评论 -
spring cloud 学习之-09-配置中心
17 配置中心 17.1 概念 为什么需要配置中心 单体应用,配置写在配置文件中,没有什么大问题。如果要切换环境 可以切换不同的profile(2种方式),但在微服务中。 微服务比较多。成百上千,配置很多,需要集中管理。 管理不同环境的配置。 需要动态调整配置参数,更改配置不停服。 配置中心介绍 分布式配置中心包括3个部分: 存放配置的地方:git ,本地文件 等。 config server。从 1 读取配置。 config client。是 config server 的客户端 消费原创 2020-11-08 21:42:15 · 221 阅读 · 0 评论 -
spring cloud 学习之-08-网关
16 网关 16.1 概念 服务治理,服务注册发现,服务调用,熔断。已经学完。 微服务基本模块已经有了,也可以做微服务了。但完成一个复杂的业务,可能需要多个微服务合作来完成,比如下单,需要用户服务,支付服务,地图服务,订单服务。一般是我们对外服务的窗口,进行服务内外隔离。一般微服务都在内网,不做安全验证, 就好像:很多明星,可以独立开演唱会(独立提供服务)。也可以去春晚(微服务群提供服务)。但一台春晚就不能让 观众一个一个调用了。观众要调用,需要检票啥的,检票就类似于网关,进来之后,界面随便看,不会说你 看原创 2020-11-08 21:41:39 · 417 阅读 · 1 评论 -
spring cloud 学习之-07-熔断
15 熔断 15.1 概念: 概述 前面我们学过: Eureka实现了服务注册与发现 服务间调用。 Ribbon实现了客户端负载均衡 Feign实现了声明式 API调用 这节学习 微服务间的容错 在分布式系统下,微服务之间不可避免地会发生相互调用,但每个系统都无法百分之百保证自身运行不出问题。在服务调用中,很可能面临依赖服务失效的问题(网络延时,服务异常,负载过大无法及时响应)。因此需要一个组件,能提供强大的容错能力,为服务间调用提供保护和控制。 我们的目的:当我自身 依赖的服务不可用时,服务自身不会原创 2020-11-08 21:41:07 · 495 阅读 · 1 评论 -
spring cloud 学习之-06-Feign声明式REST调用
14. Feign声明式REST调用 14.1 概念 OpenFeign是Netflix 开发的声明式、模板化的HTTP请求客户端。可以更加便捷、优雅地调用http api。 OpenFeign会根据带有注解的函数信息构建出网络请求的模板,在发送网络请求之前,OpenFeign会将函数的参数值设置到这些请求模板中。 《Ribbon流程图》 feign主要是构建微服务消费端。只要使用OpenFeign提供的注解修饰定义网络请求的接口类,就可以使用该接口的实例发送RESTful的网络请求。还可以集成Ribb原创 2020-11-08 21:40:23 · 423 阅读 · 1 评论 -
spring cloud 学习之-05-Ribbon负载均衡
13 Ribbon负载均衡 13.1 两种负载均衡 当系统面临大量的用户访问,负载过高的时候,通常会增加服务器数量来进行横向扩展(集群),多个服务器的负载需要均衡,以免出现服务器负载不均衡,部分服务器负载较大,部分服务器负载较小的情况。通过负载均衡,使得集群中服务器的负载保持在稳定高效的状态,从而提高整个系统的处理能力。 软件负载均衡:nginx,lvs 硬件负载均衡:F5 我们只关注软件负载均衡, 第一层可以用DNS,配置多个A记录,让DNS做第一层分发。 第二层用比较流行的是反向代理,核心原理原创 2020-11-08 21:39:34 · 680 阅读 · 1 评论 -
spring cloud 学习之-04-服务间调用
12 服务间调用 微服务中,很多服务系统都在独立的进程中运行,通过各个服务系统之间的协作来实现一个大项目的所有业务功能。服务系统间 使用多种跨进程的方式进行通信协作,而RESTful风格的网络请求是最为常见的交互方式之一。 http。 思考:如果让我们写服务调用如何写。 硬编码。不好。ip域名写在代码中。目的:找到服务。 根据服务名,找相应的ip。目的:这样ip切换或者随便变化,对调用方没有影响。 Map<服务名,服务列表> map; 加上负载均衡。目的:高可用。 sp原创 2020-11-08 21:38:42 · 150 阅读 · 0 评论 -
spring cloud 学习之-03-服务注册与发现
11 服务注册与发现 11.1 Eureka 单节点搭建 pom.xml <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId> </dependency> 有的教程中还引入spring-boot-starter-web,其实不用。因原创 2020-11-08 21:37:50 · 453 阅读 · 0 评论 -
spring cloud 学习之-02-独立微服务编写
10 独立微服务编写 10.1 目的 通过这个服务来看eureka注册中心的效果。 复习Spring Boot。 减少了大量配置。快速开发。 用Starter集成一个新框架。比如redis,web等。添加依赖,加配置文件。 嵌入式服务器,令开发和部署变的方便。 Spring Boot介绍: https://docs.spring.io/spring-boot/docs/2.1.7.RELEASE/ 10.3 服务定义 service-app-update 10.4 代码步骤 pom.xml applic原创 2020-11-08 21:36:15 · 125 阅读 · 0 评论 -
spring cloud 学习之-01-微服务概述
1 课程概述 Spring Cloud技术点 Eureka:服务注册与发现,用于服务管理。 Feign: web调用客户端,能够简化HTTP接口的调用。 Ribbon:基于客户端的负载均衡。 Hystrix:熔断降级,防止服务雪崩。 Zuul:网关路由,提供路由转发、请求过滤、限流降级等功能。 Config:配置中心,分布式配置管理。 Sleuth:服务链路追踪 Admin:健康管理 3 服务进化概述 传统服务到微服务进化。 《传统到分布式演进》 单体应用-> SOA ->微原创 2020-11-08 21:33:04 · 169 阅读 · 0 评论