自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 plsql创建用户

1:首先win+r,输入cmd打开命令窗口2:接着输入-----sqlplus sys as dba,出现如下提示:3:使用----- sqlplus sys as sysdba ,以sys超级管理员的权限去登录oracle 这个数据库,输入oracle密码接着出现连接到:4:这样出现‘sql>’,就可以输入create user (用户名)identified by (用户名),创建用户5:然后给创建的用户授权就可以了,,,grant dba,resource,connect to

2021-05-15 09:41:42 1030

原创 redis常见数据结构以及使用场景分析

1:String:string数据结构是简单的key-value类型,value其实不仅可以是String,也可以是数字。常规key-value缓存应用;常规计数:微博数,粉丝数,做验证码 可以把手机发送的验证码作为string类型的字符串存储 进行发送2 :Hash:是一个String 类型Filed和Value的映射表,可以用来储存用户信息,商品信息等3.List常用命令: lpush,rpush,lpop,rpop,Irange等list就是链表,Redis list的应用场景非常多,也

2021-03-22 19:37:28 148

原创 list,set,map之间的区别

**LinkedList:**是双向链表的数据结构存储数据,在做查询时会按照序号索引数据进行前向或后向遍历,查询效率偏低,但插入数据时只需要记录本项的前后项即可,所以插入速度较快。Map 未继承Collection,而是独立的接口,Map是一种把键对象和值对象进行映射的集合,它的每一个元素都包含了一对键对象和值对象,Map中存储的数据是没有顺序的,其key是不能重复的,它的值是可以有重复的。List的实现类有ArrayList,Vector和LinkedList:ArrayList和Vector 内部

2021-03-22 18:05:08 145

原创 spring cloud gateway配置路由的两种方式

spring boot 2.3.5spring cloud Hoxton.RELEASE使用gateway需要排除掉boot的web依赖,不然会启动报错pom.xml <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-gateway</artifactId> </d

2021-02-05 20:12:29 919

原创 阻塞和非阻塞、同步和异步 、五种IO模型

同步和异步同步就是烧开水,需要自己去轮询(每隔一段时间去看看水开了没),异步就是水开了,然后水壶会通知你水已经开了,你可以回来处理这些开水了。同步和异步是相对于操作结果来说,会不会等待结果返回。阻塞和非阻塞阻塞就是说在煮水的过程中,你不可以去干其他的事情,非阻塞就是在同样的情况下,可以同时去干其他的事情。阻塞和非阻塞是相对于线程是否被阻塞。其实,这两者存在本质的区别,它们的修饰对象是不同的。阻塞和非阻塞是指进程访问的数据如果尚未就绪,进程是否需要等待,简单说这相当于函数内部的实现区别,也就是未就绪

2021-02-04 18:24:38 137

原创 GetWay的简单使用

Gateway 是 Spring Cloud 新推出的网关框架,该项目基于 Spring 5.0,Spring Boot 2.0 和 Project Reactor 等技术,底层使用了高性能的通信框架Netty。网关的作用:在没有API网关作为统一出口的情况下,需要调用方自己组合各种服务,而且容易让调用方感知后端各种服务的存在,加入网关后,客户端调用服务需要通过网关来进行,并且网关可以处理路由,安全,限流,缓存,日志,监控,重试,熔断等事务,使业务开发更纯净。一些概念:Route(路由):这是网关的基

2021-02-04 18:19:23 3790

原创 如何简单使用gateway

(1)创建 cloud-gateway-gateway9527模块(2)引入POM依赖org.springframework.cloudspring-cloud-starter-gatewayorg.springframework.cloudspring-cloud-starter-netflix-eureka-clientorg.springframework.bootspring-boot-devtoolsruntimetrueorg.projectlombok

2021-01-20 21:23:16 220

原创 什么是网关? gateway 的核心概念

Getway新一代网关Gateway 的三大核心概念:Route(路由)路由是构建网关的基本模块,它由ID,目标URI,一系列的断言和过滤器组成,如果断言为true则匹配该路由Predicate(断言)开发人员可以匹配HTTP请求中的所有内容(例如请求头或请求参数),如果请求与断言相匹配则进行路由Filter(过滤)指的是Spring框架中GatewayFilter的实例,使用过滤器,可以在请求被路由前或者之后对请求进行修改web请求,通过一些匹配条件,定位到真正的服务节点。并在这个转发过程

2021-01-20 21:22:15 1054

原创 如何开启熔断?

(1)service层的方法设置服务熔断:首先在启动类上开启服务熔断 @EnableCircuitBreaker //开启服务熔断@Servicepublic class PaymentService {/** * 可以正常访问的方法 * @param id * @return */public String paymentInfo_Ok(Integer id){ return "线程池:" + Thread.currentThread().getName() + " ,paym

2021-01-20 21:21:04 536 1

原创 什么是熔断? 熔断有哪几种状态 ?断路器的工作原理

熔断器,也叫断路器,其英文单词为:Circuit Breaker熔断状态机3个状态: Closed:关闭状态,所有请求都正常访问。Open:打开状态,所有请求都会被降级。Hystix会对请求情况计数,当一定时间内失败请求百分比达到阈值,则触发熔断,断路器会完全打开。默认失败比例的阈值是50%,请求次数最少不低于20次。Half Open:半开状态,open状态不是永久的,打开后会进入休眠时间(默认是5S)。随后断路器会自动进入半开状态。此时会释放部分请求通过,若这些请求都是健康的,则会完全关闭断路器

2021-01-20 21:19:46 1370

原创 全局降级处理方式

上面的降级策略,很明显造成了代码的杂乱,提升了耦合度,而且按照这样,每个方法都需要配置一个兜底方法,很繁琐。现在将降级处理方法(兜底方法)做一个全局的配置,设置共有的兜底方法和独享的兜底方法。全局服务降级处理在服务消费方上面实现(1)在消费方的controller里面编写全局降级逻辑的方法// 全局降级处理方法public String globalHandler(){return “这是全局处理降级逻辑的方法…”;}(2)使用注解开启全局服务降级逻辑处理(3)启动测试全局服务降级—服务

2021-01-20 21:16:43 509

原创 hystrix的局部降级逻辑的处理方式

局部服务降级(在服务提供方设置)一般服务降级放在消费端,即 消费者端 ,但是提供者端一样能使用。首先提供者,即8001 先从自身找问题,设置自身调用超时的峰值,峰值内正常运行,超出峰值需要有兜底的方法处理,作服务降级fallback(1)在8001服务提供方引入Hystrix依赖 org.springframework.cloud spring-cloud-starter-netflix-hystrix**(2)对 8001 的service进行配置(对容易超时的方法进行配置)

2021-01-20 21:12:02 207

原创 Hystrix服务降级

在8001服务提供方引入Hystrix依赖org.springframework.cloudspring-cloud-starter-netflix-hystrix对 8001 的service进行配置(对容易超时的方法进行配置)在启动类上开启服务熔断@SpringBootApplication@EnableDiscoveryClient@EnableCircuitBreaker //开启服务熔断public class HystrixPaymentApplication {p

2021-01-19 19:27:07 68

原创 Hystrix案例

新建提供者cloud-provider-hystrix-payment8001模块:引入POM文件<!--eureka-client--><dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId></depend

2021-01-19 19:22:59 220 1

原创 OpenFeign日志打印

Feign提供了日志打印功能,我们可以通过配置来调整日志级别,从而了解Feign中Http的请求细节。说白了就是对Feign接口的调用情况进行监控和输出。日志的级别有以下:(1)编写一个配置类@Configurationpublic class FeignConfig {@BeanLogger.Level feignLoggerLevel(){return Logger.Level.FULL;}}(2)定义配置文件logging:level:com.kriss.service.Pa

2021-01-19 19:20:14 367

原创 feign超时控制

(1)在8001服务提供方的controller里面定义一个方法这个方法就是故意模拟一个调用时间超时的方法//故意模拟服务超时@GetMapping("/payment/feign/timeout")public String paymentFeignTimeOut(){try {TimeUnit.SECONDS.sleep(3);} catch (InterruptedException e) {e.printStackTrace();}return “time out…”;}(2

2021-01-19 19:17:42 360 2

原创 OpenFeign

新建一个消费者募模块.feign自带负载均衡配置,所以不用手动配置.创建cloud-consumer-feign-order80****导入Pom依赖**** org.springframework.cloud spring-cloud-starter-openfeign org.springframework.cloud spring-cloud-starter-netflix-eur

2021-01-19 19:15:17 78

原创 如何自定义负载均衡

(1)引入依赖由于spring-cloud-starter-netflix-eureka-client这个依赖已经集成了ribbon,所以我们不需要单独引入。(2)在服务消费方开启负载均衡(3)测试负载均衡在8001和8002服务分别添加:测试:...

2021-01-18 20:03:27 188

原创 ribbon负载均衡的策略有哪些?

2021-01-18 20:02:02 475

原创 使用ribbon进行负载均衡的步骤

使用ribbon之前的准备工作:1.你要有两个服务,一个是服务消费方(下图的xing-movie是消费方),一个是服务提供方(xing-user是服务提供者),并且服务提供方要有两个实例,也就是xing-user有两个实例,分别运行在8070和8071端口。2.所有服务注册到eureka server中。接下来我们在movie服务使用ribbon实现负载均衡调用中调用user服务,spring cloud使用ribbon很简单1.引入依赖,因为user服务的pom.xml中引入了eureka的依赖

2021-01-18 19:57:00 324

原创 eureka 和zookeeper consul的区别?

主要区别的话,看CAP选择,大部分注册中心,就是在这个定理去选择的,具体怎么选择,看下文CAP定理: 指的是在一个分布式系统中,Consistency(一致性)、 Availability(可用性)、Partition tolerance(分区容错性),三者不可同时获得。一致性(C): 在分布式系统中的所有数据备份,在同一时刻是否同样的值。(所有节点在同一时间的数据完全一致,越多节点,数据同步越耗时)可用性(A): 负载过大后,集群整体是否还能响应客户端的读写请求。(服务一直可用,而且是正常响应时间)

2021-01-18 19:55:12 88 1

原创 什么是CAP理论? cp ap原则的含义

什么是CAP理论?CAP原则又称CAP定理,指的是在一个分布式系统中,一致性(Consistency)、可用性(Availability)、分区容错性(Partition tolerance)。CAP 原则指的是,这三个要素最多只能同时实现两点,不可能三者兼顾CAP分别是什么?一致性(Consistency) (所有节点在同一时间具有相同的数据)可用性(Availability) (保证每个请求不管成功或者失败都有响应)分区容错性(Partition tolerance) (系统中任意信息的丢失或

2021-01-18 19:53:47 1253

原创 简述eureka的自我保护模式? 如何配置其自我保护模式

如果在Eureka Server的首页看到以下这段提示,则说明Eureka已经进入了保护模式:EMERGENCY! EUREKA MAY BE INCORRECTLY CLAIMING INSTANCES ARE UP WHEN THEY’RE NOT. RENEWALS ARE LESSER THAN THRESHOLD AND HENCE THE INSTANCES ARE NOT BEING EXPIRED JUST TO BE SAFE.产生原因:Eureka Server在运行期间,会统计心跳

2021-01-18 19:48:08 107

原创 服务提供方集群如何搭建

创建cloud-customer-order80服务模块,不使用骨架加入Eureka 的有关依赖,全部 pom 依赖如下:org.springframework.cloudspring-cloud-starter-netflix-eureka-client <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-

2021-01-18 19:36:16 79

原创 如何搭建eureka集群

Eureka 集群的原理,就是 相互注册,互相守望我们假设要运行两个EurekaServer的集群,端口分别为:7001和7002(1)模拟多个 Eureka Server 在不同机器上 : 进入C:\Windows\System32\drivers\etc\hosts 添加如下:127.0.0.1 eureka7001.com127.0.0.1 eureka 7002.com(2)创建cloud-eureka-server7002服务pom文件依赖org.springframework

2021-01-18 19:13:47 120

原创 eureka微服务创建的流程

一:首先创建父级项目后面的项目模块都在此工程中:不使用骨架创建。Settings -> File Encodings里面的项目的编码格式为UTF-82.配置POM依赖 首先要加 pom 这个。<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><maven.compiler.source>1.8</maven.compiler.source><mave

2021-01-18 19:08:19 121

原创 springBoot总结

1.什么是java配置java配置使用Java类替代原来的xml文件。 它的作用与优点:程序员就可以完全脱离xml文件,避免了开发人员在Java类与xml文件之间的频繁切换问题2.谈谈你如何理解springbootSpringBoot其实并不是一个全新的框架,而是内部集成了很多的其他框架,并且做好了默认的配置,比如spring与mybatis的整合,spring与springmvc的整合,spring与redis的整合等等。使得开发者可以非常方便的开发,部署项目。 SpringBoot的原理

2021-01-14 19:59:57 138

原创 在springboot中,如何扩展springmvc的功能

SpringBoot中的SpringMVC扩展功能在之前我们在springmvc中配置视图解析器和拦截器的时候都是需要在xml文件中编写一些配置文件以达到扩展的功能。如下所示添加视图映射。<mvc:view-controller path="/hello" view-name=“success”/>mvc:interceptorsmvc:interceptor<mvc:mapping path="/hello"/></mvc:interceptor>&lt

2021-01-14 19:52:40 175

原创 在springboot中,如何使用拦截器

在每个项目中,拦截器都是我们经常会去使用的东西,基本上任一一个项目都缺不了拦截器的使用。如日志记录、登录验证,session验证等,都需要拦截器来拦截URL请求,那springboot中的拦截器是如何去使用的呢,我们一起试试。首先,我们去创建一个名为LoginInterceptor的拦截器,来过滤请求,我们创建的拦截器要去实现HandlerInterceptor接口,然后定义我们的方法public class LoginInterceptor implements HandlerInterceptor

2021-01-14 19:38:14 194

原创 springboot如何处理异常的

SpringBoot中有五种处理异常的方式:一、自定义错误页面:  SpringBoot默认的处理异常机制:SpringBoot默认的已经提供了一套处理异常的机制。一旦程序出现了异常SpringBoot就像/error的url发送请求。在springboot中提供了一个叫BasicExceptionController来处理/error请求,然后跳转到默认显示异常的页面来展示异常信息。  如果我们需要将所有的异常统一跳转到自定义的错误页面,需要在src/main/resources/templates

2021-01-14 19:35:48 105

原创 SpringBoot怎样完成自动配置

Spring Boot自动配置的核心注解是@SpringBootApplication,该注解是spring boot的启动类注解,它是一个复合注解,里面有SpringBoot启动的时候加载主配置类,开启了自动配置功能 @EnableAutoConfiguration@EnableAutoConfiguration可以帮助SpringBoot应用将所有符合条件的@Configuration配置都加载到当前SpringBoot创建并使用的IoC容器。...

2021-01-14 18:59:28 122

原创 springboot整合log4j日志记录

**首先引入log4j依赖**<!-- springboot-log4j --> org.springframework.boot spring-boot-starter-log4j 1.3.8.RELEASE接着引入Aop依赖org.springframework.bootspring-boot-starter-aop

2021-01-12 20:31:48 116

原创 hashMap原理

1.hashmap的底层数据结构以key-value存储形式存在;线程不安全的。key、value都可以为null,储存无序 JDK1.8之前 HashMap由数组+链表组成的,数组是HashMap的主体,链表则是主要为了解决hash冲突(两个对象调用的hashCode方法计算的哈希码值一致导致计算的数组索引值相同)而存在的JDK1.8以后在解决哈希冲突时有了较大的变化,当链表的长度大于8(默认)并且当前数组的长度大于64时,此时此索引位置上的所有数据改为使用红黑树存储。在这之前不用红黑树得原因是因为

2021-01-12 19:37:36 87

原创 springboot的配置

**首先呢,了解一下它配置的优先级*•配置文件一般使用以.yml为后缀的文件,例如:application.ymlspringBoot配置文件的优先级项目/main/resources/.yml < 项目/main/resources/.yml < 项目/.yml < 项目/config/.yml一般我们只用 项目/config/.yml 下面的.yml配置文件###YML*(YAML)*的基本语法key: value //注意::后面必须加上个空格例如:server

2021-01-11 21:56:41 106

原创 SpringBoot入门案例

这里写自定义目录标题这里写自定义目录标题boot入门1.1.1 springboot的基本概述1.1.1.1诞生背景在普通的java项目中,大量的XML文件配置起来是很繁琐就会导致开发效率低,整合第三方框架的配置可能存在冲突问题导致部署效率低,还有其它的问题,传统java项目的打包方式:打包成一个war放入到tomcatwebapps目录下进行执行,也就是说需要依赖外部的tomcat服务器才能执行。1.1.1.2springboot的优点 快速创建独立运行的Spring项目以及与主流框架集成

2021-01-09 21:20:03 223 2

空空如也

空空如也

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

TA关注的人

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