- 博客(36)
- 资源 (2)
- 收藏
- 关注
原创 SentinelResource配置(下)
@SentinelResource更多属性说明@SentinelResource 注解注意:注解方式埋点不支持private方法@SentinelResource 用于定义资源,并提供可选的异常处理和 fallback 配置项。 @SentinelResource 注解包含以下属性:value:资源名称,必需项(不能为空)entryType:entry 类型,可选项(默认为 EntryType.OUT)blockHandler / blockHandlerClass: blockHandl
2021-08-03 13:22:42
161
原创 SentinelResource配置(中)
客户自定义限流处理逻辑一、创建CustomerBlockHandler类用于自定义限流处理逻辑package com.junfu.springcloud.myhandler;import com.alibaba.csp.sentinel.slots.block.BlockException;import com.junfu.springcloud.entities.CommonResult;import com.junfu.springcloud.entities.Payment;publ
2021-08-03 13:08:34
136
原创 SpringCloud整合订单微服务
SpringCloud整合订单微服务一、创建订单微服务cloud-consumer-order80二、修改pom.xml文件添加spring-cloud-starter-netflix-eureka-client依赖以及其他必要依赖<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eu
2021-07-31 22:02:06
163
原创 Sentinel系统规则
Sentinel系统规则一、介绍系统自适应限流Sentinel 系统自适应限流从整体维度对应用入口流量进行控制,结合应用的 Load、CPU 使用率、总体平均 RT、入口 Q PS 和并发线程数等几个维度的监控指标,通过自适应的流控策略,让系统的入口流量和系统的负载达到一个平衡,让系统尽可能跑在最大吞吐量的同时保证系统整体的稳定性。二、配置说明系统规则系统保护规则是从应用级别的入口流量进行控制,从单台机器的 load、CPU 使用率、平均 RT、入口 QPS 和并发线程数等几个维度监控应用指标
2021-07-31 16:39:03
335
2
原创 Sentinel热点key
Sentinel热点key一、基本介绍官网:https://github.com/alibaba/Sentinel/wiki/%E7%83%AD%E7%82%B9%E5%8F%82%E6%95%B0%E9%99%90%E6%B5%81热点参数限流何为热点?热点即经常访问的数据。很多时候我们希望统计某个热点数据中访问频次最高的 Top K 数据,并对其访问进行限制。比如:商品 ID 为参数,统计一段时间内最常购买的商品 ID 并进行限制用户 ID 为参数,针对一段时间内频繁访问的用户 ID 进行
2021-07-31 15:53:29
186
1
原创 Sentinel第六篇(Sentinel降级-异常数)
Sentinel降级-异常数一、 是什么异常数 (ERROR_COUNT):当单位统计时长内的异常数目超过阈值之后会自动进行熔断。经过熔断时长后熔断器会进入探测恢复状态(HALF-OPEN 状态),若接下来的一个请求成功完成(没有错误)则结束熔断,否则会再次被熔断。时间窗口一定要大于等于60秒。异常数是按照分钟统计二、测试代码@GetMapping("/testE") public String testE(){ log.info("------testE 异常
2021-07-31 14:06:33
767
原创 Sentinel第五篇(Sentinel降级-异常比例)
Sentinel降级-异常比例一、是什么 异常比例(DEGRADE_GRADE_EXCEPTION_RATIO ):当资源的每秒请求量>=5,并且每秒异常总数占通过量的比值超过阈值( DegradeRule中的count)之后,资源进入降级状态,即在接下的时间窗口( DegradeRule中的 timewindow,以s为单位)之内,对这个方法的调用都会自动地i回。异常比率的阈值范围是[0.0,1.0],代表0% -100%。二、测试代码@G
2021-07-31 13:24:50
1041
1
原创 Sentinel第四篇(Sentinel降级-RT)
Sentinel降级-RT一、是什么 平均响应时间( DEGRADE_GRADE_RT ):当1s内持续进入5个请求,对应时刻的平均响应时间(秒级)均超过阈值( count,以ms为单位),那么在接下的时间窗口(( DegradeRule中的timeWindow,以s为单位)之内,对这个方法的调用都会自动地熔断(抛出DegradeException )。注意Sentinel默认统计的RT上限是4900 ms,超出此阈值的都会算作4900 ms,若需要变更
2021-07-31 12:25:23
1160
原创 Sentinel第三篇(Sentinel降级简介)
Sentinel降级简介官网:https://github.com/alibaba/Sentinel/wiki/%E7%86%94%E6%96%AD%E9%99%8D%E7%BA%A7一、基本介绍RT (平均响应时间,秒级)平均响应时间超出阈值 且 在时间窗口内通过的请求>=5,两个条件同时满足后触发降级窗口期过后关闭断路器RT最大4900(更大的需要通过-Dcsp.sentinel.statistic.max.rt=XXXX才能生效)异常比列(秒级)QPS >= 5且异
2021-07-30 13:52:43
208
原创 Sentinel第二篇(Sentinel初始化监控)
Sentinel初始化监控一、新建工程cloudalibaba-sentinel-service8401二、修改pom.xml文件导入spring-cloud-starter-alibaba-sentinel以及其他必要依赖<dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-sentinel</art
2021-07-29 22:56:33
216
原创 Sentinel第一篇(Sentinel介绍及下载)
Sentinel介绍及下载官网:https://github.com/alibaba/Sentinel/wiki/%E4%BB%8B%E7%BB%8D一、介绍Sentinel: 分布式系统的流量防卫兵随着微服务的流行,服务和服务之间的稳定性变得越来越重要。Sentinel 以流量为切入点,从流量控制、熔断降级、系统负载保护等多个维度保护服务的稳定性。Sentinel 具有以下特征:丰富的应用场景:Sentinel 承接了阿里巴巴近 10 年的双十一大促流量的核心场景,例如秒杀(即突发流量控制
2021-07-29 22:17:02
511
原创 Nacos作为配置中心-基础配置
Nacos作为配置中心-基础配置一、创建工程cloudalibaba-config-nacos-client3377二、修改pom.xml添加spring-cloud-starter-alibaba-nacos-config以及其他必要依赖<dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-
2021-07-27 18:53:38
520
原创 基于Nacos的服务消费者
基于Nacos的服务消费者一、 创建工程cloudalibaba-consumer-nacos-order83二、修改pom.xml文件<?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:schemaLoca
2021-07-25 22:48:55
234
原创 基于Nacos的服务提供者
基于Nacos的服务提供者创建工程cloudalibaba-provider-payment9001修改pom.xml文件添加spring-cloud-starter-alibaba-nacos-discovery依赖以及其他必要依赖<dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-dis
2021-07-25 22:40:00
172
原创 短路器演示(服务监控hystrixDashboard)
短路器演示(服务监控hystrixDashboard)一、修改cloud-provider-hystrix-payment8001注意:新版本Hystrix需要在主启动类MainAppHystrix8001中指定监控路径Unable to connect to Command Metric Stream.404修改主启动类由于springcloud升级后springboot的默认路径不是"/hystrix.stream",所以我们需要在项目里手动配置路径@Bean publi
2021-07-20 23:02:55
92
原创 服务监控hystrixDashboard
服务监控hystrixDashboard一、概述除了隔离依赖服务的调用以外,Hystrix还提供了准实时的调用监控(Hystrix Dashboard),Hystrix会持续地记录所有通过Hystrix发起的请求的执行信息,并以统计报表和图形的形式展示给用户,包括每秒执行多少请求多少成功,多少失败等。Netflix通过hystrix-metrics-event-stream项目实现了对以上指标的监控。Spring Cloud也提供了Hystrix Dashboard的整合,对监控内容转化成可视化界面。
2021-07-20 22:23:24
102
原创 Hystrix之服务熔断支付侧breaker
服务熔断一、概念类比保险丝达到最大服务访问后,直接拒绝访问,拉闻限电,然后调用服务降级的方法并返回友好提示就是保险丝服务的降级->进而熔断->恢复调用链路二、修改cloud-provider-hystrix-payment8001Hystrix之服务降级支付侧fallbackcloud-provider-hystrix-payment8001:https://blog.youkuaiyun.com/qq_45078781/article/details/118854118//=====服务熔
2021-07-20 14:57:28
263
原创 Hystrix之服务降级支付侧fallback
服务降级一、解决的要求超时导致服务器变慢(转圈)出错(宕机或程序运行出错)解决:对方服务(8001)超时了,调用者(80)不能一直卡死等待,必须有服务降级对方服务(8001)down机了,调用者(80)不能一直卡死等待,必须有服务降级对方服务(8001)OK,调用者(80)自己出故障或有自我要求 (自己的等待时间小于服务提供者) ,自己处理降级二、Hystrix之服务降级支付侧fallback1、降级配置@HystrixCommand2、8001从自身找问题设置自
2021-07-17 11:57:35
195
原创 OpenFeign篇
OpenFeign篇一、OpenFeign是什么OpenFeign是一个声明式的Web服务客户端,让编写Web服务客户端变得非常容易,只需创建一个接口并在接口上添加注解即可OpenFeign官方文档https://cloud.spring.io/spring-cloud-static/Hoxton.SR1/reference/htmlsingle/#spring-cloud-openfeign二、OpenFeign能干什么Feign旨在使编写Java Http客户端变得更容易。前面
2021-07-15 17:41:54
366
原创 Consul第二篇(Spring cloud整合consul)
(Consul第二篇)Spring cloud整合consul一、创建cloud-provider-payment8006工程二、修改pom.xml文件添加cloud依赖以及其他必要依赖<!-- SpringBoot整合consul客户端--> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-st
2021-07-14 18:52:26
140
原创 Consul第一篇(Consul安装)
Consul安装一、概述Consul 是一种服务网格解决方案,提供具有服务发现、配置和分段功能的全功能控制平面。这些功能中的每一个都可以根据需要单独使用,也可以一起使用以构建完整的服务网格。Consul 需要一个数据平面并支持代理和本地集成模型。Consul 附带一个简单的内置代理,因此一切都可以开箱即用,而且还支持 3rd 方代理集成,例如 Envoy。二、下载Consul下载地址:https://www.consul.io/downloads三、安装将下载好的Consul解压缩到自定义目
2021-07-14 13:04:23
177
原创 Zookeeper第四篇(SpringCloud整合zookeeper)
Zookeeper第四篇(SpringCloud整合zookeeper)一、关闭防火墙二、启动zookeeper二、linux虚拟机和本机ip地址ping通三、创建工程cloud-provider-payment8004四、修改pom.xml文件,添加zookeeper依赖以及其他必要依赖注意:这里需要先排除自带的zookeeper3.5.3,并且添加与linux虚拟机zookeeper版本相同的版本zookeeper3.5.8<!-- SpringBoot整合zookeep
2021-07-13 20:56:22
140
1
原创 Zookeeper第三篇(Zookeeper安装)
Zookeeper第三篇(Zookeeper安装)一、下载Zookeeper压缩包Zookeeper所有版本下载地址:https://zookeeper.apache.org/documentation.html二、 安装Zookeeper将Zookeeper压缩包拷贝到虚拟机自定义目录下使用命令行跳转到zookeeper压缩包目录下使用tar -zxvf apache-zookeeper-3.5.8-bin.tar.gz -C /opt/model/命令行将zookeeper安装到指定目
2021-07-13 20:31:19
277
原创 Zookeeper第二篇(在虚拟机上安装jdk1.8)
Zookeeper第二篇(在虚拟机上安装jdk1.8)一、安装jdk1.8官方下载地址:https://www.oracle.com/cn/java/technologies/javase/javase-jdk8-downloads.html将下载的jdk1.8拷贝到linux虚拟中,我的jdk1.8放在了usr/bin/java文件夹下的在linux界面打开终端,使用vi /etc/profile命令行进入环境配置在文件末尾添加export JAVA_HOME=/"你的jdk
2021-07-13 19:44:18
289
原创 Zookeeper第一篇(虚拟机安装)
Zookeeper第一篇(虚拟机安装)一、下载 CentOS Linux ISO 映像最新 CentOS Linux ISO 映像下载地址:https://wiki.centos.org/Download二、VMware 安装 Linux 系统进入VMware 主页面,创建新的虚拟机、这里我们选择“典型(推荐)”,并进入下一步。安装程序光盘映像文件(iso)(M):选择刚才下载好的CentOS-6.4-x86_64-bin-DVD1镜像文件设置登录名和登陆账户设置主机名
2021-07-13 19:18:20
259
原创 actuator微服务信息完善
actuator微服务信息完善一、主机名称:服务名称修改修改payment8001和payment8002中的application.yaml文件效果:访问信息有IP信息提示效果:鼠标放上去有ip提示
2021-07-12 16:47:06
76
原创 支付微服务集群
支付微服务集群一、参考cloud-provider-payment8001工程,创建一个新的cloud-provider-payment8002工程cloud-provider-payment8002工程跟cloud-provider-payment8001工程一样,唯一不同的就是端口号不用,因此我们可以将cloud-provider-payment8001工程复制到cloud-provider-payment8002工程中二、修改application.yaml文件server: port:
2021-07-12 16:12:18
154
原创 订单支付两服务注册进Eureka集群
订单支付两服务注册进Eureka集群一、修改cloud-consumer-order80的pom.xml文件二、修改cloud-provider-payment8001的pom.xml文件三、测试
2021-07-12 14:42:39
98
原创 Eureka集群
Eureka集群一、新建服务工程cloud-eureka-server7002构造流程参考cloud-eureka-server7001二、修改映射配置文件找到host文件添加映射##########SpringCloud2020.1.2### ##################127.0.0.1 eureka7001.com127.0.0.1 eureka7002.com三、修改application.yaml文件文件修改cloud-eureka-server
2021-07-12 14:01:12
119
原创 支付微服务8001入驻EurekaServer
支付微服务8001入驻EurekaServer一、修改支付微服务8001的pom.xml文件<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId> <version>3.0.3</version><
2021-07-12 12:06:33
115
原创 Euraka介绍
Euraka介绍1、Spring-Cloud Euraka介绍Spring-Cloud Euraka是Spring Cloud集合中一个组件,它是对Euraka的集成,用于服务注册和发现。Eureka是Netflix中的一个开源框架。它和 zookeeper、Consul一样,都是用于服务注册管理的,同样,Spring-Cloud 还集成了Zookeeper和Consul。在项目中使用Spring Cloud Euraka的原因是它可以利用Spring Cloud Netfilix中其他的组件,如zu
2021-07-12 11:47:10
8474
5
原创 IDEA热部署devtools
IDEA热部署devtools一、为什么要热部署 为了方便开发者开发,在每次修改源代码之后不至于每次需要程序员手动启动项目,在不重新启动的情况下能够自动把增量内容编译并部署到服务器上,使得修改立即生效。通过热部署从而达到提高开发效率,减轻程序员负担的操作。二、如何实现热部署1.添加devtoolsjar包到工程(Adding devtools to your project)<dependency> <groupI
2021-07-09 20:07:47
179
原创 生产者-消费者问题
线程状态生产者生产了一个产品:0生产者生产了一个产品:1消费者2取消走了产品0消费者1取消走了产品1生产者生产了一个产品:2生产者生产了一个产品:3消费者1取消走了产品2生产者生产了一个产品:4消费者2取消走了产品3生产者生产了一个产品:5生产者生产了一个产品:6消费者1取消走了产品4消费者2取消走了产品5生产者生产了一个产品:7生产者生产了一个产品:8消费者1取消走了产品6生产者生产了一个产品:9消费者2取消走了产品7生产者生产了一个产品:10消费者1取消走了产品
2021-07-08 16:52:40
271
原创 Java中使用Thread线程
Java中使用Thread线程一、进程Process与线程Thread我们手机或者电脑里有很多应用,当我们启动这个应用的时候,也就启动了一个程序,程序是指令和数据的有序集合,其本身没有任何运行的含义,是一个静态的概念。而进程则是执行程序的一次执行过程,它是一个动态的概念。是系统资源分配的最小单位。通常在一个进程中可以包含若干个线程,当然一个进程中至少有一个线程,不然没有存在的意义。线程是CPU调度的最小单位。注意:很多多线程是模拟出来的,真正的多线程是指有多个cpu, 即多核,如服务器。如
2021-07-02 16:52:34
77
原创 学习RBAC
一级标题1、什么是系统权限定义:对某个功能进行操作时,需要先获得相关的“许可”,才可以进行功能的操作,否则操作就会被拒绝。这里的许可也可称为权限。系统权限是一个复杂的过程:一个功能有多种权限操作,比如新增权限、修改权限、查看权限、删除权限等一个系统存在多种权限、比如功能权限、菜单权限、数据权限等一个管理员能拥有多种权限和多种操作2、什么是RBACRBAC模型(Role-Based Access Control:基于角色的访问控制)模型是20世纪90年代研究出来的一种新模型,但
2021-06-23 22:12:10
186
基于java语言开发的c语言编译器,javafx实现界面化的LR1编译器
2021-06-25
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人