SpringCloud
文章平均质量分 68
做一道光
互联网软件开发,已转汽车嵌入式软件开发
展开
-
34.nacos客户端读取共享配置文件实例(springcloud)
指 定 多 个 配 置 的dataId。其他配置环境和上文相同,本实例不再演示。1.新建共享配置文件,使用默认分组。,必须包含文件格式,支持。上面的配置中,我们分别从。3.运行项目,进行测试。共享配置文件成功显示。原创 2022-11-20 22:01:32 · 1323 阅读 · 0 评论 -
33.nacos客户端读取多配置文件实例(springcloud)
即 配 置 分 组 , 默 认 为 DEFAULT_GROUP , 可 以 通 过spring.cloud.nacos.config.group。分别修改配置文件的内容 ,发现A_GROUP可以正常更改,B_GROUP不能正常修改。为 配 置 内 容 的 数 据 格 式 , 可 以 通 过 配 置 项。比如,我们现在有一个项目需要开发,项目名称为。的 值 , 也 可 以 通 过 配 置 项。3.再次在shop命名空间里新建配置文件。2.在shop命名空间里面新建配置文件。,项目分为三个环境:开发环境。原创 2022-11-20 21:39:48 · 5559 阅读 · 1 评论 -
32.nacos配置文件中心,使用实例(springcloud)
1.如果在生产情况下,修改了配置文件,项目需要下架,重新打包,重新发布。3.该配置文件中心的修改,微服务群里的项目都会自动感知到,并实时的跟随配置文件中心的修改而修改。2.该配置文件会统一存储项目的核心配置文件,而不用把配置文件分别存在每台集群中的机器上,这样极大的方便了项目后期的修改维护。输入配置文件id(可以自定义,一般与项目名称相同),自动生成默认分组,选择YAML格式,也就是yml结尾的格式。8.现在通过nacos控制台修改配置文件中的内容,再次访问项目,测试是否能够实时的同步修改后的文件。原创 2022-11-20 18:08:49 · 1005 阅读 · 0 评论 -
Nacos 注册中心、配置文件中心的常用配置(springcloud)
地址,如果此项也未配置,则。,数值越大,权重越大。默认取第一块网卡的地址。原创 2022-11-20 16:47:18 · 1360 阅读 · 0 评论 -
31.nacos集成Feign和Gateway实例(springcloud)
如果不运行动态路由模块,使用localhost/nacos-client-a会导致页面报错,无法正常访问。不需要额外添加springcloud的依赖,使用springcloudalibaba即可。只有在同一个命名空间,同一个分组下的项目模块才能互相调用,测试其他情况均不能调用。新增了springcloud的依赖管理。一、项目nacos-client-a。二、项目nacos-client-b。新增了springcloud的依赖。新增springcloud的依赖。1.pom.xml文件。新增了feign依赖。原创 2022-11-20 16:08:10 · 572 阅读 · 0 评论 -
30.nacos做注册中心入门实例(springcloud)
2. 因为我的idea是2019版本,更改了springboot下载路径后,不会自动更新,第一次选中依赖时,仍然时springboot官方的依赖选项,没有nacos依赖。因此,我首先创建了一个下载路径为aliyun的model,在该model初次加载之后(该model就没有用了,只是为了初次加载aliyun版本)。1.因为官方的springboot没有集成nacos的依赖,所以不再使用springboot的官方下载依赖地址。5.NacosClientAApplication启动类。1.创建过程与上面相同。原创 2022-11-20 11:18:01 · 643 阅读 · 0 评论 -
29.Nacos的简介与安装(springcloud)
首先在mysql数据库中创建一个名称为nacos的数据库,在下载的nacos目录下找到conf目录,复制里面的nacos-mysql.sql粘贴到刚才创建的数据库中。服务是指一个或一组软件功能(例如特定信息的检索或一组操作的执行),其目的是不同的客户端可以为不同的目的重用(例如通过跨进程的网络调用)。在数据中心中,系统中所有配置的编辑、存储、分发、变更管理、历史版本管理、变更审计等所有与配置相关的活动统称为配置管理。、服务标签、服务版本号、服务实例权重、路由规则、安全策略等描述服务的数据。原创 2022-11-20 09:50:19 · 1306 阅读 · 0 评论 -
28.Spring Cloud Alibaba简介
Spring Cloud应用接入阿里微服务解决方案,通过阿里中间件来迅速搭建分布式应用系统。此项目包含开发分布式应用微服务的必需组件,方便开发者通过。,您只需要添加一些注解和少量配置,就可以将。编程模型轻松使用这些组件来开发。原创 2022-11-17 21:58:54 · 133 阅读 · 0 评论 -
27.gateway的限流实战(springcloud)
目前 RequestRateLimiterGatewayFilterFactory 的实现依赖于 Redis,所以我们还要引入spring-boot-starter-data-redis-reactive。4)、请求达到后首先要获取令牌桶中的令牌,拿着令牌才可以进行其他的业务逻辑,处理完业务逻辑之后,将令牌直接删除;5)、令牌桶有最低限额,当桶中的令牌达到最低限额的时候,请求处理完之后将不会删除令牌,以此保证足够的限流;漏斗算法 ,令牌桶算法,窗口滑动算法 计数器算法。2)、根据限流大小,设置按照一定的。原创 2022-11-16 22:36:40 · 2765 阅读 · 0 评论 -
26.gateway的IP 认证拦截,gateway做token验证 流程图(springcloud)
一般把token放在请求头里面,请求头里面是key-value结构,key统一设置成Authorization value统一设置成 bearer token。1.拿到请求的url。5.在redis中校验。原创 2022-11-15 21:23:10 · 2900 阅读 · 2 评论 -
25.gateway的Filter 过滤器工厂(springcloud)
gateway 里面的过滤器和 Servlet 里面的过滤器,功能差不多,路由过滤器可以用于修改进入Http 请求和返回 Http 响应。全局过滤器的优点的初始化时默认挂到所有路由上,我们可以使用它来完成。全局过滤器 统计请求次数 限流。开头的电话 限制一些。黑名单拦截 跨域本质。原创 2022-11-15 20:18:49 · 525 阅读 · 0 评论 -
24.Gateway 断言工厂Predicate的使用(springcloud)
命名需要以 RoutePredicateFactory 结尾,比如 CheckAuthRoutePredicateFactory,那么在使用的时候 CheckAuth 就是这个路由断言工厂的名称。在 apply 方法中可以通过 exchange.getRequest() 拿到 ServerHttpRequest 对象,从而可以获取到请求的参数、请求方式、请求头等信息。apply 方法的参数是自定义的配置类,在使用的时候配置参数,在 apply 方法中直接获取使 用。使用断言判断时,我们常用。原创 2022-11-13 22:48:15 · 295 阅读 · 0 评论 -
23.Gateway 动态路由,负载均衡(springcloud)
从之前的配置里面我们可以看到我们的 URL 都是写死的,这不符合我们微服务的要求,我们微服务是只要知道服务的名字,根据名字去找,而直接写死就没有负载均衡的效果了。如果不加服务名称,还是按照以前的方法写,会导致访问报404。协议:就是双方约定的一个接头暗号。原创 2022-11-13 22:07:40 · 2071 阅读 · 0 评论 -
22.gateway路由实例(springcloud)
1.1LoginController类。80为浏览器默认端口可以不写,直接访问。2.2pom.xml文件。原创 2022-11-13 17:41:11 · 458 阅读 · 0 评论 -
21.Spring Cloud Gateway 简介
SpringCloud Gateway作为Spring Cloud生态的网关,目标是替代Zuul,在SpringCloud2.0以上的版本中,没有对新版本的 zuul2.0 以上的最新高性能版本进行集成,仍然还是使用的。在【post】 类型的过滤器中可以做响应内容、响应头的修改、日志的输出,流量监控等有着非常重要的作用。有网关:客户端访问网关,网关来访问微服务,(网关可以和注册中心整合,通过服务名称找到目标的。的配置文件,把需要负载均衡,路由,限流的规则加在里面。在做路由,负载均衡,限流之前,都有修改。原创 2022-11-13 16:35:44 · 963 阅读 · 0 评论 -
20.Sleuth链路追踪(springcloud)
在微服务框架中,一个由客户端发起的请求在后端系统中会经过多个不同的服务节点调用来协同产生最后的请求结果,每一个请求都会开成一条复杂的分布式服务调用链路,链路中的任何。该系统让开发者可通过一个 Web 前端轻松的收集和分析数据,例如用户每次请求服务的处理时间等,可方便的监测系统中存在的瓶颈。Zipkin 是 Twitter 的一个开源项目,允许开发者收集 Twitter 各个服务上的监控数据,并提供查询接口。1.运行zipkin的jar包,才可以进入zipkin的控制台,查看链路。原创 2022-11-13 15:27:01 · 614 阅读 · 0 评论 -
19.Feign 的工程化实例:eureka,ribbon,feign,hystrix(springcloud)
本实例创建model都是通过maven手动创建,依赖进行手动导入,好处是比使用springboot模板创建更加灵活,更方便的进行父子模块的管理。6.4UserController类,调用另一个子模块common-api的UserOrderFeign接口中的方法,进行远程调用。5.4OrderController类,实现另一个子模块common-api的UserOrderFeign接口,重写接口中的方法。4.1.使用maven进行创建,选择父项目为feign-project。6.2pom.xml文件。原创 2022-11-13 11:20:00 · 448 阅读 · 0 评论 -
18.Hystrix 的常用配置
隔离方式 两种隔离方式 thread 线程池 按照 group(10 个线程)划分服务提供者,用户请求的线程。# 好处 当 B 服务调用失败了 或者请求 B 服务的量太大了 不会对 C 服务造成影响 用户访问比较大的情。# SEMAPHORE 信号量隔离 每次请进来 有一个原子计数器 做请求次数的++ 当请求完成以后 --# 缺点 并发请求不易太多 当请求过多 就会拒绝请求 做一个保护机制。# 应用场景 调用第三方服务 并发量大的情况下。# 场景 使用内部调用 ,并发小的情况下。和做远程的线程不一样。原创 2022-11-12 20:23:41 · 649 阅读 · 0 评论 -
17.hystrix手写断路器:线程池,切面,面向对象(springcloud)
关:服务正常调用 A---》B开:在一段时间内,调用失败当20s后,将拦截器设置成半开半关状态,此时有一部分数据尝试访问该服务,如果还是不能访问,则再次设置为拦截器开启状态。第一次判断发现该服务无法使用,直接把拦截器设置成打开状态,这个时间窗口(20s)内访问该服务,都直接不会访问。半开半关状态下,当为随机取值为1时会尝试访问服务查看其是否恢复正常,为其他数时不访问服务。1.创建项目,导入依赖。2.创建拦截器状态类。3.创建拦截器模型类。4.创建拦截器注解类。5.创建拦截器切面类。6.创建拦截器控制类。原创 2022-11-12 18:27:50 · 231 阅读 · 0 评论 -
16.Hystrix 实例(springcloud)
Hystrix 是 Netflix 公司开源的一个项目,它提供了熔断器功能,能够阻止。Hystrix 是通过隔离服务的访问点阻止联动故障的,并提供了故障的解决方案,从。而提高了整个分布式系统的弹性。熔断器,也叫断路器!将服务间的调用超时时长改小,这样就可以让线程及时回收,保证服务可用。@FeignClient需要指定访问失败的路径,即熔断路径。,有的服务需要更长的时间去处理(写库,整理数据)当有服务调用的时候,才会出现服务雪崩,所以。优点:非常简单,也可以有效的解决服务雪崩。思想和我们上面画的拦截器一样。原创 2022-11-12 15:30:26 · 495 阅读 · 0 评论 -
15.OpenFeign 总结(springcloud)
从前面的测试中我们可以看出,没有任何关于远程调用的日志输出,如请头,参数 Feign 提供了日志打印功能,我们可以通过配置来调整日志级别,从而揭开。之上增加了请求和响应的正文及无数据。之上增加了请求和响应头的信息。,响应状态码及执行时间。原创 2022-11-11 21:51:04 · 737 阅读 · 0 评论 -
14.OpenFeign 源码分析(springcloud)
动态代理1jdk(invoke)2cglib子类继承的。原创 2022-11-11 21:29:05 · 1120 阅读 · 0 评论 -
13.OpenFeign 多个传递参数的方式:开发重点(springcloud)
日期和时间,接收方只有秒,没有毫秒)post传递一个对象和一个参数。类型,接收方的时间会相差。个小时,是因为时区造成的。post传递一个对象。原创 2022-11-11 20:39:41 · 5090 阅读 · 3 评论 -
12.OpenFeign 实例(springcloud)
并支持使用 HttpMessageConverters。Feign 还支持可插拔编码器和解码器。它具有可插入注解支持,包括。集成了 Ribbon。服务客户端更加容易。原创 2022-11-11 17:01:45 · 938 阅读 · 0 评论 -
eureka的docker镜像部署
5.打开linux虚拟机,启动docker镜像,并创建目录为了方便编写自定义镜像。6.创建docker目录,把jar包粘贴过来,并重命名(为了后面调用时方便)7.把项目中docker目录下的三个文件上传到linux虚拟机。2.EurekaServerApplication主函数类。解决办法:修改项目中的文件,并重新上传该文件到虚拟机。选择新建文件,编写DockerFile文件。选择新建文件,编写run.sh脚本。现在,再次执行脚本,运行成功。10.通过浏览器访问。本地主机ip+8761。原创 2022-11-11 12:43:23 · 2461 阅读 · 0 评论 -
11.如何修改默认的负载均衡算法(springcloud)
那么访问该服务的时候就会按照自定义的负载均衡算法。指定调用所有的服务都用此算法。下面有很多实现的负载均衡算法。几种算法的全限定类名。原创 2022-11-11 10:00:58 · 867 阅读 · 0 评论 -
10.Ribbon 源码分析(springcloud)
想要把上面这个请求执行成功,我们需要以下几步。原创 2022-11-11 08:47:06 · 348 阅读 · 0 评论 -
8.Ribbon 概述(springcloud)
负载均衡构建在原有网络结构之上,它提供了一种透明且廉价有效的方法扩展服务器和网络设。就是指将负载(工作任务)进行平衡、分摊到多个操作单元上进行运行,例如。备的带宽、加强网络数据处理能力、增加吞吐量、提高网络的可用性和灵活性。企业核心应用服务器和其它主要任务服务器等,从而协同完成工作任务。客户端组件提供了一套完善的配置项,比如连接超时,重试等。自动转换成客户端负载均衡的服务调用。的封装,可以让我们轻松地将面向服务的。公司的一个开源项目,主要功能是提供。构建的微服务系统中,的负载均衡器,有两种使。原创 2022-09-22 22:31:55 · 112 阅读 · 0 评论 -
9.ribbon的第一个实例(springcloud)
2. 修改pom.xml文件中的springboot版本号(为了对应springcloud的版本号),在springcloud中不同的版本号是不兼容的,本项目使用springcloud的Hoxton.SR12版本,对应到springboot的2.3.12版本。注意:这是新建springboot的model时默认的地址,如果不修改这个地址会导致新建的eureka-server的model覆盖掉eureka-01的这个model,所以这个路径需要手动更改。2.修改provider-a的pom.xml文件。原创 2022-09-22 22:33:22 · 533 阅读 · 0 评论 -
7.restTemplate的使用(springcloud)
测试1:通过josn传参,由于通过json传参需要用实体类去接收参数,新建User类。先运行主函数类,再运行测试类中得到testGet()方法,控制台输出ok。点击运行该测试,控制台会输出这些访问页面的html代码。此时,启动的主函数类中会打印出代码中要求打印的数据。此时,启动的主函数类中会打印出代码中要求打印的数据。此时,启动的主函数类中会打印出代码中要求打印的数据。在测试类中调用controller类中的方法。测试类中编写测试方法,进行测试。测试类中编写测试方法,进行测试。5.测试Post请求方式2。原创 2022-09-21 22:25:18 · 756 阅读 · 0 评论 -
6.eureka服务发现实例(springcloud)
通过eureka-client-a中编写的方法,用eureka-client-b作为参数进行查询eureka-client-b的具体信息,并遍历打印出来。5.先运行eureka-server,再运行eureka-client-b,最后运行eureka-client-a。里面编写方法,通过服务eureka-client-b的应用名,找到服务eureka-client-b的具体信息。3.编写eureka-client-a的配置文件。2.编写eureka-client-b的配置。原创 2022-09-20 21:36:05 · 429 阅读 · 0 评论 -
5.Eureka服务注册的源码分析(springcloud)
就会认为此节点死掉了,会把它剔除掉,也不会放流量和请求到此节点了。汇报自己,心跳,表示自己还活着。自己实现服务的注册和发现。,健康的状态监控等,因为使用的是。我们就能对项目实现注册和发现。发送请求,把自己节点的数据以。方法具体发送注册请求(post。方法完成具体的注册保留数据到。当项目超过了指定时间没有向。启动的时候,会向我们指定的。post请求的方式,数据以。报告,说明自己要下机了。方法接受客户端的注册请求。动词的请求方式,完成对。项目启动成功了,除了向。,让我们的项目只要依赖。原创 2022-09-20 20:28:23 · 456 阅读 · 0 评论 -
4.构建高可用的 Eureka-Server 集群(springcloud)
5.修改.eureka-server-b和.eureka-server-c的主函数启动类,添加上@EnableEurekaServer注解。的集群里面,没有主机和从机的概念,节点都是对等的,只有集群里面有一个集群存活,就能保证服务的可用性。把eureka-server的配置去掉,改为eureka-client的配置,使这三个eureka-server互相注册。9.复制eureka-server的配置文件两份,并配置端口,分别运行。eureka-server-c的application.yml配置文件。原创 2022-09-19 23:55:22 · 374 阅读 · 0 评论 -
3.eureka的常用application.yml设置(springcloud)
【代码】3.eureka的常用application.yml设置(springcloud)原创 2022-09-19 21:53:19 · 2503 阅读 · 0 评论 -
1.Spring Cloud Eureka 简介
分区的容错性(在集群里面的机器,因为网络原因,机房的原因,可能导致数据不会里面同步),它在分布式必须需要实现的特性!原则指的是,这三个要素最多只能同时实现两点,不可能三者兼顾。集群整体不对外提供服务了,需要选一个新的出来(都能作为注册中心,我们的选择还是很多。集群只有一台活着,它就能对外提供服务。定理,指的是在一个分布式系统中,公司的服务组件(例如负载均衡、熔断器、网关等) 一起,被。)(这个特性是不可避免的)不是很注重数据的一致性!里面的数据是一致的)里面,若主机挂了,则。注重服务的可用性,当。原创 2022-09-18 23:01:42 · 713 阅读 · 0 评论 -
2.eureka的第一个实例(springcloud)
3.修改pom.xml文件中的springboot版本号(为了对应springcloud的版本号),在springcloud中不同的版本号是不兼容的,本项目使用springcloud的Hoxton.SR12版本,对应到springboot的2.3.12版本。注意:这是新建springboot的model时默认的地址,如果不修改这个地址会导致新建的eureka-server的model覆盖掉eureka-01的这个model,所以这个路径需要手动更改。6.点击运行此主函数,如果出现如下语句,表示运行成功。原创 2022-09-18 23:02:01 · 411 阅读 · 0 评论 -
SpringCloud 简介
配置中心、熔断器、远程调用,智能路由、微代理、控制总线、全局锁、分布式会话等。Dubbo+Zookeeper 半自动化的微服务实现架构 (别的管理没有)提供了开发分布式微服务系统的一些常用组件,例如服务注册和发现、SpringCloud Alibaba 新的一站式微服务架构。是通过包装其他技术框架来实现的,例如包装开源的。,有快速开发、持续交付和容易部署等特点。非常多,涉及微服务的方方面面,井在开源。的一些优点,提高其在开发和部署上的效。两大公司的推动下越来越完善,如今。配置和基于模版开发的微服务框。原创 2022-09-16 20:48:13 · 405 阅读 · 0 评论 -
快速了解什么是:微服务
微服务的“微”到底需要定义到什么样的程度,这是个非常难以界定的概念,可以从以个方面来界定: 是根据代码量来定义,根据代码的多少来判断程序的大小: 是根据开发时间的长短。随着互联网技术的飞速发展,目前全球超过半的人口在使用互联网,人们的生活随着互联网的发展,发生了翻天覆地的变化。自动化部署可以提高部署的效率,减少人为的控制,部署过程中出现错误的概率降低,部署过程的每一步自动化,提高软件的质量。1. 将一个复杂的业务分解成若干小的业务,每个业务拆分成一个服务,服务的边界明确,将复杂的问题简单化。原创 2022-09-14 22:02:45 · 1069 阅读 · 0 评论