自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(23)
  • 问答 (3)
  • 收藏
  • 关注

原创 黑马头条详解(四)

当任务调度以集群方式部署,同一个任务调度可能会执行多次,例如:电商系统定期发放优惠券,就可能重复发放优惠券,对公司造成损失,信用卡还款提醒就会重复执行多次,给用户造成烦恼,所以我们需要控制相同的任务在多个运行实例上只执行一次。如果将任务调度程序分布式部署,每个结点还可以部署为集群,这样就可以让多台计算机共同去完成任务调度,我们可以将任务分割为若干个分片,由不同的实例并行执行,来提高任务调度的处理效率。

2024-02-21 14:02:16 636

原创 黑马头条项目详解(三)

定时任务:有固定周期的,有明确的触发时间延迟任务:没有固定的开始时间,它常常是由一个事件触发的,而在这个事件触发之后的一段时间内触发另一个事件,任务可以立即执行,也可以延迟应用场景场景一:订单下单之后30分钟后,如果用户没有付钱,则系统自动取消订单;如果期间下单成功,任务取消场景二:接口对接出现网络问题,1分钟后重试,如果失败,2分钟重试,直到出现阈值终止。

2024-02-19 16:59:26 727

原创 黑马头条详解(二)

文章数据流主要涉及技术。

2024-02-18 17:47:52 1114

原创 黑马头条详解(一)

1、需求分析2、表结构3、加密方式(手动加密:md5+盐)4、微服务结构。

2024-01-29 17:35:44 487

原创 代码实现接口自动化测试

接口自动化:使用工具或代码代替人对接口进行测试的技术测试目的:防止开发修改代码时引入新的问题测试时机: 开发进行系统测试转测前,可以先进行接口自动化脚本的编写。 开发进行系统测试转测后,优先进行系统测试用例的执行,再进行接口自动化脚本的编写。1、选取自动化测试用例 优先级高(先实现业务流程用例、后实现单接口用例) 功能稳定2、搭建自动化测试环境 核心技术: 编程语言:python(也可以使用其他

2023-11-19 21:50:10 158 1

原创 Postman实现接口自动化测试

功能测试从页面发起请求进行测试,接口测试可以借助工具或代码直接将数据发送到服务端进行测试。功能测试和接口测试对应的时间接口测试的流程URL的组成。

2023-11-19 11:30:17 1642 4

原创 JMeter进阶

学习目标能掌握JMeter的逻辑控制器能掌握JMeter的关联操作能掌握JMeter能掌握JMeter能掌握JMeter能知道JMeter的分布式原理。

2023-11-16 16:45:56 133 1

原创 JMeter基础

JMeter是Apache组织使用Java 开发的一款测试工具:1、可以用于对服务器、网络或对象模拟巨大的负载;(高并发)2、通过创建带有断言的脚本来验证程序是否能返回期望的结果。以测试该接口为例:首先要有个测试计划测试计划右键点击添加-线程-线程组线程组右键点击添加-取样器-Http请求想查看结果,右键点击测试计划-添加-监听器-查看结果树,当jmeter执行完接口后会获取结果当需要调用时,使用 ${变量名}

2023-11-15 16:46:38 86

原创 软件测试之缺陷

软件在使用过程中存在的任何问题都叫软件的缺陷,简称bug。

2023-11-15 10:31:35 31

原创 软件测试基础知识

通过经验推测系统可能出现的问题。

2023-11-14 20:27:59 120

原创 微服务(七)之分布式事务

下单业务整体流程:由于订单、购物车、商品分别在三个不同的微服务,而每个微服务都有自己独立的数据库,因此下单过程中就会跨多个数据库完成业务。而每个微服务都会执行自己的本地事务:交易服务:下单事务购物车服务:清理购物车事务库存服务:扣减库存事务整个业务中,各个本地事务是有关联的。因此每个微服务的本地事务,也可以称为。多个有关联的分支事务一起就组成了。我们必须保证。分布式事务就是解决全局事务同时成功或失败的问题。出现以下情况之一就可能产生分布式事务问题:业务跨多个服务实现业务跨多个数据源实现。

2023-11-06 18:22:03 71 2

原创 微服务(六)之服务保护

微服务调用链路中的某个服务故障,引起整个链路中的所有微服务都不可用,这就是雪崩。例如,购物车服务,有些业务调用服务B,有些调用商品服务,此时商品服务出现了故障,导致购物车服务查询商品服务变得很慢。假如,此时购物车服务访问商品服务的接口的频率很高,此时购物车服务也会阻塞,导师tomcat资源耗尽,然后购物车服务也变得很慢。这样整个调用链路都可能会出现故障,造成雪崩。微服务相互调用,服务提供者出现故障或阻塞。服务调用者没有做好异常处理,导致自身故障。调用链中的所有服务级联失败,导致整个集群故障。

2023-11-06 15:07:26 63 1

原创 微服务(五)之配置管理

到目前为止已经解决了微服务相关的几个问题:微服务远程调用微服务注册、发现微服务请求路由、负载均衡微服务登录用户信息传递不过,现在依然还有几个问题需要解决:网关路由在配置文件中写死了,如果变更必须重启微服务某些业务配置在配置文件中写死了,每次修改都要重启服务每个微服务都有很多重复的配置,维护成本高这些问题都可以通过统一的解决。

2023-11-05 15:53:20 157 1

原创 微服务(四)之网关

无论是还是都支持自定义,只不过编码方式、使用方式略有差别。自定义不是直接实现,而是实现。最简单的方式是这样的://该类的名称一定要以GatewayFilterFactory为后缀!@Component@Override@Override// 获取请求// 编写过滤器逻辑System.out.println("过滤器执行了");

2023-11-04 21:45:50 343 1

原创 微服务(三)之服务注册

在上一章我们实现了微服务拆分,并且通过Http请求实现了跨微服务的远程调用。不过这种手动发送Http请求的方式存在一些问题。试想一下,假如商品微服务被调用较多,为了应对更高的并发,我们进行了多实例部署,如图:此时,每个的实例其IP或端口不同,问题来了:item-service这么多实例,cart-service如何知道每一个实例的地址?http请求要写url地址,服务到底该调用哪个实例呢?如果在运行过程中,某一个实例宕机,依然在调用该怎么办?如果并发太高,临时多部署了N台实例,

2023-11-02 12:13:07 220

原创 微服务(二)之服务拆分

黑马商城项目的基本结构: 登录模块的流程登录入口在中的方法 1.2、搜索商品在首页搜索框输入关键字,点击搜索即可进入搜索列表页面: 该页面会调用接口:,对应的服务端入口中的方法:1.3、购物车在搜索到的商品列表中,点击按钮,即可将商品加入购物车 同时这里还可以对购物车实现修改、删除等操作。相关功能全部在中: 其中,查询购物车列表时,由于要判断商品最新的价格和状态,所以还需要查询商品信息,业务流程如下:在购物车页面点击按钮,会进入订单结算页面:点击提交订单,会提交请求到服务端,

2023-11-01 21:01:46 173

原创 微服务(一)

顾名思义,整个项目中所有功能模块都在一个工程中开发;项目部署时需要对所有模块一起编译、打包;项目的架构设计、开发模式都非常简单。是一种软件架构风格,它是以专注于单一职责的很多小型项目为基础,组合出复杂的大型应用。如图所示。

2023-10-31 21:14:55 43 1

原创 Docker

镜像就是包含了应用程序、程序运行的系统函数库、运行配置等文件的文件包。构建镜像的过程其实就是把上述文件打包的过程。举个例子,我们要从0部署一个Java应用,大概流程是这样:准备一个linux服务(CentOS或者Ubuntu均可)安装并配置JDK上传Jar包运行jar包那因此,我们打包镜像也是分成这么几步:准备Linux运行环境(java项目并不需要完整的操作系统,仅仅是基础运行环境即可)安装并配置JDK拷贝jar包配置启动脚本。

2023-10-30 10:36:23 84 1

原创 RabbitMQ(五)之延迟消息

生产者发送消息时指定一个时间,消费者不会立刻收到消息,而是在才收到消息。:设置在一定时间之后才执行的任务延迟消息的实现有两种:死信交换机,延迟消息插件。

2023-10-21 18:34:26 482 1

原创 RabbitMQ(四)之消息可靠性

以支付服务为案例进行分析问题一、在扣减余额和更新支付状态之后,支付服务会发送消息通知交易服务更新状态,如果在支付服务与MQ之间出现了网络故障,消息无法到达MQ,交易服务无法收到消息。问题二、消息投递到了MQ,但在MQ将消息传递给交易服务之前,MQ挂掉了,消息也会丢失。问题三、消息投递到了交易服务,但在处理的过程中抛出异常,也会丢失消息。

2023-10-20 21:09:49 443 1

原创 RabbitMQ基础(三)之交换机

;。:接收publisher发送的消息;将消息按照规则路由到与之绑定的队列。

2023-10-18 20:37:13 102 1

原创 RabbitMQ基础(二)之安装使用

publisher:消息发送者。consumer:消息的消费者。queue:队列,存储消息。(消费者与队列绑定)exchange:交换机,负责路由消息。(消息先发送给交换机,然后交换机选择将消息路由给一个或多个队列):虚拟主机,起到数据隔离的作用。(不同服务使用同一个RabbitMQ服务器,创建任意多个虚拟主机,实现数据隔离,每个虚拟主机只能访问自己的数据)

2023-10-17 20:10:39 20

原创 RabbitMQ基础(一)之同步异步

实时通信,例如,微信语音通话,打电话是实时的,当你说话之后,对方立马就能收到,并对你做出回应。:非实时通讯,例如,微信短信聊天,当你发送短信之后,对方可能稍等一会才会给你回信。一般情况下,我们只能跟一个人进行实时的通话,别人打进来会占线,而短信则没有这种情况,你可以同时接收多条短信,并逐步回信。

2023-10-15 16:45:56 328 1

空空如也

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

TA关注的人

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