自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(227)
  • 收藏
  • 关注

原创 通过二维码进行信息录入

码上游二维码​轻松将视频,语音,图片,文档等信息放入二维码所在行业网络服务-工具类机构网站https://ma3you.com机构简介视频 语音 图片 文档生成二维码,用于企业宣传,产品说明书,电子导游等各种场景机构主体...

2022-03-07 11:37:38 909

原创 npstion实现通过手机扫描二维码向电脑录入信息

今天介绍大家如何使用手机扫描二维实现Excel表格自动录入数据,我们用到的工具是“NPS二维码服务器”,这是一款可以实现内网穿透的数据库交互程序,使用是完全免费的。通过它我们是可以不用写任何程序代码,就可以实现手机扫描自动上传数据到自己的电脑。也可以通过手机扫描二维码来查询获取我们电脑上的表格数据,下面让我们一起来实现手机扫描数据到Excel表格吧!通过手机扫描二维码实现数据自动输入Excel表格工具/原料其它无windows10NPS二维码服务器NPSExcel二维码V1.5版Micros

2022-03-07 10:45:18 6530 3

原创 树的前序遍历(递归与非递归)

节点:class Node { public int val; public List<Node> children; public Node() {} public Node(int _val) { val = _val; } public Node(int _val, List<Node> _children) { val = _val; children = _childre

2020-09-13 09:51:58 287

原创 springcloud alibaba——seata的应用举例(@GlobalTransactional注解的使用)

@GlobalTransactional(name = “dc-order-service”, rollbackFor = Exception.class)相当于单体应用的@transactional注解,作用是当整个项目中任何一处发生异常,会发生回滚。1、订单微服务2、库存微服务3、账户微服务...

2020-08-19 19:35:42 7172 1

原创 springcloud alibaba——seata前言

分布式事务处理过程的ID+三组件模型Transaction ID XID:全局唯一的事务ID。Transaction Coordinator(TC|事务协调者):事务协调器,维护全局事务的运行状态,负责协调并驱动全局事务的提交或回滚。Transaction Manager(TM|事务管理器):控制全局事务的边界,负责开启一个全局事务,并最终发起全局提交或全局回滚的决议。Resource Manager(RM|资源管理器):控制分支事务,负责分支注册,状态汇报,并接收事务协调器的指令,驱动分支(本地)

2020-08-19 18:03:43 126

原创 springcloud alibaba——sentinel规则的持久化

1、将sentinel相关配置写进nacos2、微服务主配置文件的相关配置spring: application: name: cloud-alibaba-sentinel-service cloud: #nacos服务注册中心地址 nacos: discovery: server-addr: localhost:8848 sentinel: transport: #配置sentinel dashboa

2020-08-16 09:35:29 287

原创 springcloud alibaba——sentinel@sentinelResource注解中的blockHandler与fallback

@sentinelResource注解中存在blockHandler与fallback这两个相似的属性,其中blockHandler属性处理的是通过sentinel控制台来配置的属性(如流控、热点等等),而fallback属性处理的是java代码运行时产生的异常(如空指针异常,运算异常等等),相同的是这两个都有兜底的方法来应对异常产生时的情况,当产生异常时则会进入兜底方法执行。当程序中这两个都存在时,这两个属性则会互不影响对方,各自监控。通俗一点说,这相当于springMVC框架中的异常处理器。..

2020-08-15 16:31:28 493

原创 springcloud alibaba——@sentinelResource注解的使用(全局)

传统@sentinelResource注解使用的缺陷:1、系统默认的,没有体现我们自己的业务要求。2、依照现有条件,我们自定义的处理方法又和业务代码耦合在一块,不直观。3、每个业务方法都添加一个兜底的,那代码膨胀加剧。4、全局统一的处理方法没有体现。解决办法:定义一个兜底方法的工具类,全局都可以使用。1、工具类package com.springcloud.myHandler;import com.alibaba.csp.sentinel.slots.block.BlockExcepti

2020-08-15 15:59:18 581

原创 springcloud alibaba——@sentinelResource注解的使用

注:sentinel中的@sentinelResource注解的使用相当于Hystrix中的@HystrixCommand注解,目的是当微服务系统中出现异常时,能够反馈给客户我们自己定义的页面,如果不使用该注解也可以,那么出现异常反馈给客户的页面是由系统自定义的(比较的单调)。@GetMapping("/byResource") @SentinelResource(value = "byResource", blockHandler = "handleException") public

2020-08-15 15:53:25 253

原创 springcloud alibaba——sentinel服务热点key

1、主配置文件server: port: 8401spring: application: name: cloud-alibaba-sentinel-service cloud: #nacos服务注册中心地址 nacos: discovery: server-addr: localhost:8848 sentinel: transport: #配置sentinel dashboard地址

2020-08-15 15:03:54 146

原创 springcloud alibaba——将微服务程序连接到sentinel

需要启动的客户端:nacos、sentinel点击startup.cmd启动nacos命令行启动该jar包启动sentinel监视面板1、主配置类server: port: 8401spring: application: name: cloud-alibaba-sentinel-service cloud: #nacos服务注册中心地址 nacos: discovery: server-addr: localhost:884

2020-08-15 12:13:32 597

原创 springcloud alibaba——nacos持久化切换配置(由derby嵌入式数据库切换到本地mysql数据库)

注:nacos中存在嵌入式的数据库derby,所以当我们在nacos进行相关配置之后,其数据会保存在该数据库中,但是当重启nacos时,客户端的数据还是消失,因此我们可以把nacos中嵌入的数据库derby换成我们本地的mysql数据库来实现数据的持久化。操作1根据D:\nacos\conf目录下的nacos-mysql.sql文件里面的提示在mysql数据库中创建指定名字的数据库,然后执行里面的代码,在新创建的数据库中创建了若干个表。操作2在D:\nacos\conf目录下德application

2020-08-11 17:21:01 1741

原创 springcloud alibaba——nacos作为配置中心

注:spring cloud alibaba不会像以前的springcloud一样由ConfigServer先从github上获取文件,再由微服务从ConfigServer上读取文件;springcloud alibaba技术直接把nacos作为配置中心,文件在nacos上面创建,也不需要由人为的手动动态刷新。在nacos上存在namespace、group、dataId等概念,这些概念等同于:namespace——java类中的一级包,group——java类中的二级包,dataId——java类名,这

2020-08-11 16:25:19 135

原创 springcloud alibaba——nacos作为注册中心

一、服务提供者11、pom文件<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.a

2020-08-11 11:11:53 119

原创 springcloud alibaba——nacos基础知识

2020-08-11 11:02:27 127

原创 springcloud——sleuth(zipkin)服务调用路径跟踪

在微服务框架中,一个由客户端发起的请求在后端系统中会经过多个不同的服务节点调用来协同产生最后的请求结果,每一个前段请求都会形成一条复杂的分布式服务调用链路,链路中的任何一环出现高延时或错误都会引起整个请求最后的失败。SpringCloud Sleuth提供了一套完整的服务跟踪的解决方案,在分布式系统中提供追踪解决方案并且兼容支持了zipkin。1、额外添加的依赖<dependency> <groupId>org.springframework.cloud</gr

2020-08-10 18:29:59 203

原创 springcloud——stream(消息驱动)解决消息的重复消费和持久化问题

注:消息的重复消费和持久化问题都是通过对消息消费者(consumer)的分组实现的。同一个组之间的消息消费者存在消息的竞争关系,通过轮询的方式来实现消息的消费,同一个组之内的消息消费者(consumer)不能同时接收到相同的消息,只有其中一个能接收到这一消息。消息的持久化:如果给消息消费者配置相应的分组,那么即使当消息消费者宕机时,消息提供者发送消息,在消息消费者启动应用成功之后也能接收到消息提供者发来的消息。一、消息提供者1、pom文件<?xml version="1.0" encodin

2020-08-10 10:16:08 789

原创 springcloud——stream(消息驱动)基础概念原理

消息驱动的作用(SpringCloudStream):屏蔽底层消息中间件的差异,降低切换成本,统一消息的编程模型。SpringCloudStream:是一个构建消息驱动微服务的框架。应用程序通过inputs或者outputs来与SpringCloudStream中的binder对象交互。通过我们配置来(binding)绑定,而SpringCloudStream的binder对象负责与消息中间件交互。所以,我们只需要搞清楚如何与SpringCloudStream交互就可以方便使用消息驱动的方式。通过

2020-08-10 09:56:34 383

原创 springcloud——消息总线动态刷新(定点刷新)

使用的命令:curl -X POST “http://localhost:3344/actuator/bus-refresh/config-client:3355”config-client:指定被刷新的微服务的名称3355:指定被刷新的微服务的端口号

2020-08-08 14:27:11 220

原创 springcloud——消息总线演示程序

一、configServer(3344)1、pom文件<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 ht

2020-08-08 11:48:27 156

原创 springcloud——消息总线(bus)

什么是总线:在微服务架构的系统中,通常会使用轻量级得消息代理来构建一个共用的消息主题,并让系统中所有微服务实例都连接上来。由于该主题中产生的消息会被所有的实例监听和消费,所以称它为消息总线。在总线上的各个实例,都可以方便地广播一些需要让其它连接在该主题上的实例都知道的消息。基本原理:ConfigClient实例都监听MQ中同一个topic(默认是springCloudBus)。当一个服务刷新数据的时候,它会把这个消息放入到Topic中,这样其它监听同一Topic的服务就能得知通知,然后去更新自身的配

2020-08-08 11:08:51 162

原创 springcloud——Config动态刷新(手动)

解决的问题:该技术解决了github上内容修改,不能同步到微服务的问题,这就需要Config手动动态刷新的技术。1、pom文件<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="

2020-08-06 15:50:34 365

原创 springcloud——服务配置(微服务从ConfigServer上读取yml或properties文件)

bootstrap.yml:是系统级的配置文件,优先级更高。application.yml:是用户级的配置文件,优先级比系统级低。SpringCloud会创建一个“Bootstrap Context”,作为Spring应用的“Application Context”的父上下文。初始化的时候,“Bootstrap Context”负则从外部源加载配置属性并解析配置。这两个上下文共享一个外部获取的‘Environment’。“Bootstrap”属性有高优先级,默认情况下,它们不会被本地配置覆盖。‘Boo

2020-08-06 15:09:28 3049

原创 springcloud——服务配置(ConfigServer从GitHub上读取yml或properties文件)

1、pom文件<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org

2020-08-06 10:08:48 488

原创 springcloud——服务配置(config)前言

分布式系统面临的配置问题:1、集中管理配置文件。2、不同环境不同配置,动态化的配置更新,分环境部署比如dev/test/prod/beta/release。3、运行期间动态调整配置,不需要在每个服务部署的机器上编写配置文件,服务会向配置中心统一拉取配置自己的信息。4、当配置发生变动时,服务不需要重启即可感知到配置的变化并应用新的配置。5、将配置信息以REST接口的形式暴露。与GitHub整合配置:由于SpringCloud Config默认使用Git来存储配置文件(也有其它方式,比如支持svn和

2020-08-06 10:04:27 104

原创 springcloud——gateway的断言与过滤器

1、断言断言的作用:每一个Predicate的使用,你可以理解为:当满足这种条件后才会被转发,如果是多个,那就是都满足的情况下被转发。参照官网有多种断言,如下图:2、过滤器过滤器的作用与断言相似package com.springcloud.filter;import lombok.extern.slf4j.Slf4j;import org.springframework.cloud.gateway.filter.GatewayFilterChain;import org.springf

2020-08-03 16:45:44 1019

原创 springcloud——gateway配置动态路由

主配置文件#设置端口号server: port: 9527#指定微服务的名称spring: application: name: cloud-gateway cloud: gateway: routes: #设置路由的id - id: payment_routh #设置路由的路径 #uri: http://localhost:8081 #lb是LoadBalance

2020-08-03 16:10:30 430

原创 springcloud——配置路由的第二种(不推荐使用)方式

定义配置类package com.springcloud.config;import org.springframework.cloud.gateway.route.RouteLocator;import org.springframework.cloud.gateway.route.builder.RouteLocatorBuilder;import org.springframework.context.annotation.Bean;import org.springframework.c

2020-08-03 15:50:08 195

原创 springcloud——gateway的入门

gateway三大核心概念:1、路由(Route):路由是构建网关的基本模块,它由ID,目标URI,一系列的断言和过滤器组成,如果断言为true则匹配该路由。2、断言(Predicate):开发人员可以匹配Http请求中的所有内容(例如请求头或请求参数),如果请求与断言相匹配则进行路由。3、过滤(Filter):指的是spring框架中gatewayFilter的实例,使用过滤器,可以在请求被路由前或者之后对请求进行修改。第一个gateway程序1、pom文件<?xml version=

2020-08-03 15:30:14 97

原创 springcloud——hystrix图形化dashboard服务监控

监控模块与被监控服务必须添加的图形化依赖: <!--springboot框架web项目起步依赖--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency>

2020-08-01 16:28:59 146

原创 springcloud——hystrix服务熔断

哪些情况导致服务降级:1、程序运行异常2、超时3、服务熔断触发服务降级4、线程池/信号量打满也会导致服务降级服务熔断:类比保险丝达到最大服务访问之后,直接绝访问,拉闸限电,然后调用服务降级的方法并返回友好提示。服务熔断的过程:服务的降级->进而熔断->恢复调用链路多次错误,然后慢慢正确,发现刚开始不满足条件,就算是正常的访问地址也不能返回正确结果。熔断类型:1、熔断打开:请求不再进行调用当前服务,内部设置时钟一般为MITR(平均故障处理时间),当打开时长达到所设时钟则进入半熔

2020-08-01 10:23:23 96

原创 springcloud——服务消费者通配服务降级

注:通配服务降级通常在消费者端进行,在远程服务调用接口(service层)上进行,构建该接口的实现类来实现服务异常的兜底(服务降级fallback)。1、服务接口package com.springcloud.service;import org.springframework.cloud.netflix.eureka.EnableEurekaClient;import org.springframework.cloud.openfeign.FeignClient;import org.spri

2020-07-31 15:06:48 216

原创 springcloud——服务消费者方全局服务降级的使用

存在的问题:1、每个业务方法对应一个兜底的方法,代码膨胀。2、统一和自定义的分开。解决方法:使用@DefaultProperties(defaultFallback=“”)1:1 每个业务方法配置一个服务降级方法,技术上可以,实际上很傻X。1:N 除了个别重要核心业务有专属,其他普通的可以通过@DefaultProperties(defaultFallback=“”)统一跳转到统一处理结果页面。通用的和独享的各自分开,避免代码膨胀,合理减少了代码量。代码package com.spring

2020-07-30 16:52:34 300

原创 springcloud——hystrix服务消费者方服务降级

1、主配置文件server.port=81spring.application.name=payment-consumereureka.client.fetch-registry=trueeureka.client.register-with-eureka=trueeureka.client.service-url.defaultZone=http://eureka7001.com:7001/eureka/#开启feign对hystrix的支持feign.hystrix.enabl

2020-07-30 16:28:57 325

原创 springcloud——hystrix服务提供者方服务降级

注:服务降级是在服务层(service)上进行的。1、servicepackage com.springcloud.service;import ch.qos.logback.core.util.TimeUtil;import com.netflix.hystrix.contrib.javanica.annotation.HystrixCommand;import com.netflix.hystrix.contrib.javanica.annotation.HystrixProperty;i

2020-07-30 15:49:45 185

原创 springcloud——hystrix的相关知识

Hystrix是一个用于处理分布式系统的延迟和容错的开源库,在分布式系统里,许多依赖不可避免的会调用失败,比如超时、异常等,Hystrix能够保证在一个依赖出问题的情况下,不会导致整体服务失败避免级联故障,以提高分布式系统的弹性。“断路器”本身是一种开关装置,当某个服务单元发生故障之后,通过断路器的故障监控(类似熔断保险丝),向调用方返回一个符合预期的、可处理的备选响应(FallBack),而不是长时间的等待或者抛出调用方无法处理的异常,这样就保证了服务调用方的线程不会被长时间、不必要的占用,从而

2020-07-30 15:41:00 91

原创 springcloud——openfeign的增强日志

1、写配置类package com.springcloud.com.springcloud.config;import feign.Logger;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;/** * @author dc * @date 2020/7/28 - 9:25 */@Configuration

2020-07-28 09:35:32 259

原创 springcloud——openfeign的超时控制

在服务消费者的主配置文件中添加的配置#设置feign客户端超时时间(openfeign默认支持ribbon)#指的是建立连接所用的时间,适用于网络状况正常的情况下,两端连接所用的时间ribbon.ReadTimeout=5000#指的是建立连接后从服务器读取到可用资源所用的时间ribbon.ConnectTimeout=5000...

2020-07-28 09:23:08 381

原创 springcloud——openfeign(feign)的服务调用

feign的服务调用方法只需在服务消费者端声明服务提供者的service接口,然后调用接口即可。1、声明的业务接口package com.springcloud.com.springcloud.service;import com.springcloud.enties.CommonResult;import com.springcloud.enties.Payment;import feign.Param;import org.springframework.cloud.openfeign.F

2020-07-28 08:44:25 129

原创 springcloud——ribbon的工作模型

2020-07-27 17:02:42 82

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除