伴随着时代的飞速发展,人们对于完成各种行为的效率要求越来越高,需要摄取的知识与技能也越来越繁杂。而信息时代科技的发展可以通过计算机技术来大大提高工作效率,在教学中的应用也越来越广泛。世界经济的发展促使英语不断普及,背单词作为英语学习的重要环节也越来越被人们所重视。英语学习者们不再拘泥于词典背单词的传统方法,而是渴望有一款高效、实用而又声形并茂的软件。
文件:url80.ctfile.com/f/25127180-734961555-09e945=551685 (访问密码: 551685)
目前市场上的背单词软件多种多样,且各具优势。一般软件都会采用大量单词记忆和循环记忆的学习模式,很多单词记忆软件的开发者宣称自己的软件是按照艾宾浩斯遗忘规律科学安排单词的记忆与复习的,并且各款软件都或多或少地存在一些缺陷,如:遗忘率高、系统初始化繁杂、收费高等。因此,对于英语语言的学习,尤其是认知与记忆其单词,人们需要有体系的,科学的且高效便携的学习方式。通过直观且趣味的智能背单词自测系统,完成高效率的学习。
单机启动:startup.cmd -m standalone
1.2 Sentinel
启动命令:java -Dserver.port=8858 -Dcsp.sentinel.dashboard.server=localhost:8858 -Dproject.name=sentinel-dashboard -jar sentinel-dashboard-1.8.0.jar
1.3 JMeter
2、流控规则限流
2.0 环境搭建
2.0.1 依赖
com.alibaba.cloud spring-cloud-starter-alibaba-nacos-discovery com.alibaba.cloud spring-cloud-starter-alibaba-sentinel org.springframework.boot spring-boot-starter-actuator 2.0.2 application.yml # 端口 server: port: 9604
服务名
spring:
application:
name: kgcmall-sentinel
数据源配置
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/kh96_alibaba_kgcmalldbseUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=GMT
username: root
password: 17585273765
jpa配置
jpa:
hibernate:
ddl-auto: update
show-sql: true
cloud:
#nacos 配置
nacos:
discovery:
server-addr: 127.0.0.1:8848
暴露/actuator/sentinel端点 单独配置,management 开顶格写
management:
endpoints:
web:
exposure:
include: ‘*’
2.0.3 测试
http://localhost:9604/actuator/sentinel
2.1 流控模式
2.1.1 直接模式
2.1.1.1 测试请求
/**
- @param : [sentinelDesc]
- @return : java.lang.String
- @author : huayu
- @date : 26/11/2022
- @description : 测试 Sentinel 流控 – 直接失败
*/
@GetMapping(“testSentinelFlowFail”)
public String testSentinelFlowFail(@RequestParam String sentinelDesc) {
log.info(“—— testSentinelFlowFail 接口调用 —— “);
return sentinelDesc;
}
2.1.1.2 添加直接流控规则
2.1.1.2.1 需要先发起异常请求
2.1.1.2.2 簇点链路 添加流控规则
2.1.1.2.3 设置流控规则
2.1.1.3查看流控规则
2.1.1.4 测试
2.1.1.5 自定义sentinel统一已成返回处理
/**
-
Created On : 26/11/2022.
-
Author : huayu
-
Description: 自定义sentinel统一已成返回处理
*/
@Slf4j
@Component
public class MySentinelBlockExceptionHandler implements BlockExceptionHandler {@Override
public void handle(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, BlockException e) throws Exception {
// 记录异常日志
log.warn(“—— MySentinelBlockExceptionHandler 规则Rule:{} ——”, e.getRule());}
}
2.1.1.6 再次测试
2.1.2 关联模式
2.1.2.1 测试请求
/**
- @param : [sentinelDesc]
- @return : java.lang.String
- @author : huayu
- @date : 26/11/2022
- @description : 测试 Sentinel 流控 – 关联
*/
@GetMapping(“testSentinelFlowLink”)
public String testSentinelFlowLink(@RequestParam String sentinelDesc) {
log.info(“—— testSentinelFlowLink 接口调用 —— “);
return sentinelDesc;
}
2.1.1.2 添加关联流控规则
2.1.1.3 JMeter压测配置
2.1.1.3.1 线程组
2.1.1.3.2 Http请求
2.1.1.3.3 测试 testSentinelFlowLink 接口
2.1.3.1 添加调用方法
2.1.3.1.1 接口
/**
-
Created On : 26/11/2022.
-
Author : huayu
-
Description: 测试链路 模式
*/
public interface SentinelService {void message();
}
2.1.3.1.2 实现类
/**
-
Created On : 26/11/2022.
-
Author : huayu
-
Description: 测试链路 模式 实现类
*/
@Service
public class SentinelServiceImpl implements SentinelService {@Override
@SentinelResource(“message”) // 在@SentinelResource中指定资源名
public void message() {
System.out.println(“message”);
}
}
文章知识点与官方知识档案匹配,可进一步学习相关知识Java技能树首页概览91537 人正在系统学习中
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!