- 博客(76)
- 收藏
- 关注
原创 记一次生产Kafka重复消费问题
通过使用唯一的消费者组ID、利用Kafka的消费者组协调器或手动管理消费者偏移量,我们可以避免重复消费并确保消息的正常处理。无论是使用唯一的消费者组ID、利用 Kafka 的消费者组协调器,还是手动管理消费者偏移量,都需要根据团队的实际情况来进行选择和配置。如果我们使用相同的消费者组ID,Kafka会将新的消费者组视为已经存在的消费者组的一部分,并从之前的消费偏移量位置开始消费。Kafka的消费者组协调器负责跟踪每个消费者组的消费偏移量,并确保每个消费者组都消费不同的消息。最后查了下Kibana。
2023-12-06 10:00:00
956
原创 记一次OSS上传html文件的缓存问题
在 html 文件上传到 oss 后,获取到的返回链接在 APP 和 Web 上正常展示, 但是奇怪的是 修改 html 中的内容后再次上传到 oss(前提,上传 oss 文件名不发生改变的情况下),再次访问该链接,发现 Web 端可以实时更新所更改的内容,在 APP 中展示的内容还是旧的内容,这究竟是怎么回事,又能怎么解决?
2023-02-17 16:10:36
1983
2
原创 Git强行替换覆盖master分支
在开发中,通常会保持,及,但是因为 dev 分支的开发周期过长,迭代太多而没有及时维护 master ,导致后来发版上线的大部分代码都在 dev 分支上,如果将代码在 master 分支合并会导致很多冲突,最后想丢弃原始 master 分支上的代码,直接将已经测试确认过的 dev 分支强行覆盖到 master 上,并且保留前期的开发提交 git 记录,该如何操作呢?考虑到问题,应提前和同事领导沟通方案。一般情况下 master 分支是受保护分支,需要拥有该服务的权限。
2023-02-09 15:38:43
4012
原创 基于Docker的K8s(Kubernetes)集群部署
忘记了重新获取:kubeadm token create --print-join-command。目的:在其他机器上创建 ~/.kube/config 文件也能通过 kubectl 访问到集群。复制授权文件,以便 kubectl 可以有权限访问集群。账号密码默认是:admin----Kuboard123。好了,集群就搭建成功了,至于怎么使用…接下来看下k8s可视化是否安装成功。三台主机名称呢就修改成功了。kubelet安装完成!关闭对话窗口,重新连接。kubelet安装中…在浏览器输入外网网址。...
2022-08-09 11:06:22
2907
原创 基于Docker的Redis一主二从集群搭建
本教程使用3台服务器搭建集群搭建规划采用一主二从的集群模式主 :88.88.88.33:6379从①:88.88.88.44:6379从②:88.88.88.55:6379下面的操作在三台服务器中同时进行进入到usr/local/目录创建redis目录进入到 docker 下的 redis 目录在 redis 目录下创建 config 和 data 目录进入到 config 配置文件目录编写配置文件。......
2022-08-06 19:41:54
514
3
原创 基于Docker的Redis三主三从集群搭建
本教程使用6台服务器搭建集群搭建规划:采用三主三从的集群模式下面的操作在所有的服务器中重复同样的步骤将下面复制粘贴到配置文件中下面内容复制到脚本中创建集群出现提示输入yes主从模式搭建成功。。。..................
2022-07-02 21:10:41
622
原创 Linux部署Nexus私服
对maven来说仓库分为两类:本地仓库和远程仓库,有三种专门的Maven仓库管理软件可以用来帮助我们建立私服:chiva、Artifactory和Nexus。Nexus是当前最流行的Maven仓库管理软件。Nexus包含了各种类型的仓库的概念,包括代理仓库、宿主仓库、仓库组等。每一种仓库都提供了丰富实用的配置参数,方便用户根据需要进行定制。https://www.sonatype.com/download-oss-sonatype这是百度云下载地址1、进入到local目录2、新建nexus目录3、进入
2022-06-08 01:08:45
2183
原创 SpringBoot整合RabbitMQ之广播模式
广播模式的简单描述通过对RabbitMQ的学习,可以发现,消息都是通过交换器发送至队列的,一条消息只能被一个消费者处理,实际开发中还会有一种情况,就是一条消息需要被多个消费者处理,就是广播的形式;广播的模式需要使用到FanoutExchange(散列交换器),FanoutExchange 会将消息发送至每一个与之绑定的队列中。具体使用:1. 引入Rabbit MQ依赖<!-- Rabbit Mq依赖 --><dependency> <groupId>org
2022-05-29 16:00:46
5474
5
原创 七、Docker安装Nacos
准备工作打开docker目录[root@localhost ~]# cd /usr/local/docker/创建nacos文件夹[root@localhost docker]# mkdir nacos打开nacos目录[root@localhost docker]# cd nacos/创建config文件夹[root@localhost docker]# mkdir config打开config文件夹[root@localhost docker]# cd config
2022-05-22 00:51:40
280
原创 六、Docker安装MongoDB
准备工作打开目录[root@localhost docker]# cd /usr/local/docker/创建 mongodb 文件夹[root@localhost docker]# mkdir mongodb打开 mongodb 文件夹[root@localhost docker]# cd mongodb/挂载目录数据挂载目录[root@localhost mongodb]# mkdir data启动脚本编写脚本[root@localhost mongodb]#
2022-05-22 00:09:01
399
原创 五、Docker安装MySQL
准备工作打开目录[root@localhost ~]# cd /usr/local/docker/创建文件夹[root@localhost docker]# mkdir mysql打开文件夹[root@localhost docker]# cd mysql/创建挂载目录创建数据挂在目录[root@localhost mysql]# mkdir data创建配置文件目录[root@localhost mysql]# mkdir config打开config[ro
2022-05-21 19:38:16
507
原创 四、docker可视化-portainer安装
创建文件夹进入目录[root@localhost docker]# cd /usr/local/docker创建文件夹[root@localhost docker]# mkdir -p portainer/data汉化包打开目录portainer[root@localhost docker]# cd portainer/下载汉化包[root@localhost portainer]# wget https://labx.me/dl/4nat/public.zip解压汉化包
2022-05-21 19:00:39
666
原创 三、Liunx安装Docker
配置yum国内镜像加速1、备份mv /etc/yum.repos.d/CentOS-Base.repo/etc/yum.repos.d/CentOS-Base.repo.backup2、下载新的CentOS-Base.repo 到/etc/yum.repos.d/wget -O /etc/yum.repos.d/CentOS-Base.repohttp://mirrors.aliyun.com/repo/Centos-7.repo3、生成缓存yum makecache安装dock
2022-05-21 18:47:03
295
原创 二、VMware安装Liunx系统
新建虚拟机安装向导选择自定义选择workstation 16.x选择稍后安装操作系统选择liunx - centos 7 64位选择虚拟机位置和名称选择虚拟机核心数量选择虚拟机内存选择虚拟机网络选择I/O控制器类型选择虚拟磁盘类型选择磁盘选择磁盘容量指定磁盘文件完成配置系统编辑虚拟机选择liunx镜像点击确定安装虚拟机开启虚拟机安装 CentOS 7等待调取安装程序选择中文选择最小安装选择磁盘网络设置记录网络记录到记事本
2022-05-20 12:59:02
114
原创 【2023年更新】自己手动去除 WinRAR 的弹窗广告
运行环境:Windows 11 专业版 21H2,经测试 Windows10 同样适用WinRAR 作为知名的老牌压缩软件,二十余年来风靡全球,经久不衰。但对于中国用户,其简体中文的个人免费版安装后会有“评估版本”的标记,而且每次启动时会有代理商的弹窗广告。本文教你如何去除标记和弹窗广告,让你的 WinRAR 恢复纯净体验。一、去除“评估版本”标记访问 WinRAR 中文版官网,安装 6.11 个人免费版。安装时注意安装目录,后面会用到。
2022-04-18 15:42:36
9493
11
原创 SpringBoot整合熔断器的使用
客户端熔断的使用配置yaml文件 开启熔断器#熔断器 feign: hystrix: enabled: true创建一个处理错误的类@Componentpublic class ServerFeignServiceFallback {}实现FallbackFactory接口 接口中的泛型为要对其进行错误处理的接口@Componentpublic class ServerFeignServiceFallback implements FallbackFact
2022-03-15 10:49:29
1612
原创 SpringBoot整合redis
springboot整合redis前言:Redis是目前使用最多的缓存,包括Spring Boot 中我们也是会用Redis做很多事情。那么今天就来说一说Spring Boot如何整合Redis。Spring Boot整合Redis 需要那些步骤呢?整合redis:一 pom.xml增加依赖如下:<dependency> <groupId>org.springframework.boot</groupId> <artifactId>s
2022-03-15 10:01:38
152
原创 SpringBoot项目整合RabbitMQ的使用
1、环境搭建引入RabbitMq的依赖<!-- rabbit-mq --><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-amqp</artifactId></dependency>改写配置文件spring: rabbitmq: host: 127.0.0
2022-03-15 09:46:50
2412
原创 图片文件ajax异步上传
图片异步上传 + 预览1、编写前端HTML页面代码<form id="student-add-fm"> <table> <tr> <th colspan="3">学生信息更改页面<input type="hidden" name="stuId"></th> </tr> <tr> <td>学号:&
2022-03-06 17:16:46
443
原创 Javaweb中的监听器Listener
servlet中的监听器servlet中的监听器是用于监听web常见对象HttpServletRequest,HttpSession,ServletContext。主要有下面三个作用:监听web对象创建与销毁。监听web对象的属性变化,添加、删除、修改。监听session绑定javaBean操作,活化(从硬盘读取到内存)与钝化(从内存持久化到硬盘)操作。当监听器发现被监听的对象发生变化时,可以做一些操作。在servlet中一共有8个监听器,按照监听器的作用分类如下:监听web对象创建与销
2021-11-03 20:41:27
495
原创 观察者设计模式
观察者设计模式简介现实生活中,每个人都是一个观察者,同时也是一个被观察者,"你站在桥上看风景,看风景的人在楼上看你"形容的就是这样的一个场景。观察者设计模式,定义了一种一对多的关联关系。一个对象 A 与多个对象 B、C、D 之间建立“被观察与观察关系”。当对象 A 的状态发生改变时,会通知所有观察者对象 B、 C、 D。当B、C、D 在接收到 A 的状态改变通知后,根据自身实际情况,做出相应改变。通常观察者和被观察者都是接口,上面所提到的对象是指实现了这些接口的对象。定义一个观察者接口Observe
2021-11-03 20:22:20
82
原创 注册和登录功能的一些问题
表单赋值的问题当请求request中携带了用户提交的数据时,需要将这些数据封装到JavaBean中,像之前写法需要一一赋值,倘若request携带了非常多的表单数据,此时的赋值操作就显得比较繁琐了,那有没有好的解决方法呢?这里可以使用apache的commons-beanutils搞定这个问题。使用commons-beanutils解决表单赋值的问题。首先需要下载两个jar包分别是:commons-beanutils.jar:http://pan.baidu.com/s/1slzAndbcommo
2021-11-03 20:19:58
957
转载 JavaWeb案例:实现注册和登录功能
业务需求分析在实际开发中,通常会有专门的人去跟客户进行沟通从而了解客户需要什么样的系统,之后由专业的美工将要做的系统以图片的形式表现出来,客户确认后作出一些静态的html demo页面,然后由软件开发人员创建相关数据库,编写代码将该静态页面做成动态页面,由测试人员通过测试后将其交付给客户使用。这里主要以学习为目的,所以简化一些流程,通常一般的注册和登录都由下面几个页面组成:注册页面:没有用户名时,首先需要在该页面注册成功之后才可进行登录操作,用户所提交的数据要持久化到数据库中。登录页面:用户
2021-11-03 20:17:24
9201
2
转载 MVC开发模式
mvc开发模式简介M: Model模型 JavaBeanV:view视图 JSPC:Controller控制器 Servlet其实就是JSP + Servlet + JavaBean上面的JavaBean就是一个普通类(实体bean),包含三部分:构造方法、私有成员变量、公共的getter和setter方法。上图中是一个简单的MVC模式的流程图,其中各层的主要作用如下:M:封装结果数据集V:将最终的结果展示给用户C:处理业务流程,将数据集发送给JSPMVC模式的优点:降低各个模块之间的
2021-11-03 20:08:32
1342
原创 JSTL格式化标签
要使用格式化标签库需要先引入标签库<%@taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>fmt:formatDate标签该标签用于使用不同的模式格式化日期。其常用属性有:value:将要被格式化的数据pattern:格式化的模式。其与 SimpleDateFormat 的参数设置方式相同。var:格式化后的字符串所要存放的变量。若不指定 var,则会将格式化过的结果直接显示在页面scope:变量存放的域属性
2021-11-03 20:01:59
298
原创 JSTL标签
JSTL标签简介JSTL是JavaServerPages Standard Tag Library的缩写,即JSP标准标签库。开发者可以使用JSTL实现JSP页面中逻辑处理。如判断、循环等,在JSTL中已经定义好了一套对于字符串进行处理的函数标签库,这样就不用我们自己去编写相关逻辑了。使用JSTL前的准备首先需要下载相关jar包。目前最新版本是1.2.5,如果使用该版本的话,需要添加下面这些jar包:taglibs-standard-spec-1.2.5.jartaglibs-standard
2021-11-03 19:56:23
216
原创 JSTL核心标签库
JSTL核心标签库简介JSTL中的核心标签库主要用于完成基本的逻辑运算,在开发中使用较多。在开发前导入相关jar包之后,还需要在页面中通过 taglib 指令将标签库导入:<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>c:out标签用于在页面上输出 EL 表达式的值,该标签不常使用,因为不使用该标签也能够在页面上输出EL表达式。<% pageContext.setAttribute("u
2021-11-03 19:53:43
873
原创 2021-09-23
很喜欢陆漓说的一段话:我的人生就像一个程序在写代码之前我习惯捋清楚逻辑写出流程就像我的人生喜欢做规划一样我清楚自己想要做什么喜欢什么样的人为了追逐梦想追求爱情我不断地优化自身算法添加函数虽然有时候也会程序异常但只要系统不崩溃我就一定会找出所有的漏洞直到写出满意的程序我希望我的人生也会像程序一样顺利运行 ——《程序员那么可爱》...
2021-09-23 12:43:16
171
转载 自定义EL函数
自定义EL函数EL函数不支持字符串连接的操作,即${“ab”+”cd”}这样的都不支持,可以通过自定义函数来解决这个问题。下面以实现“将一个字符串转全部换为大写”的功能为例,来讲解自定义 EL 函数的过程。1.定义Java方法自定义一个类名为StringFunction的类,创建一个静态方法:package com.monkey1024.el;/** * 自定义EL函数 * */public class StringFunction { public static Strin
2021-09-12 20:07:44
91
转载 EL表达式内置对象
EL表达式内置对象同JSP类似,在EL表达式中也有一些内置对象,共11个:pageContextpageScoperequestScopesessionScopeapplicationScopecookieparamparamValuesheaderheaderValuesinitParam上面除了pageContext是javax.servlet.jsp.PageContext类型,其他的都是java.util.Map类型。四个域属性相关的对象之前用过了,下面主要介绍一些其他
2021-09-12 19:59:37
948
转载 EL表达式
什么是EL表达式EL,Expression Language,表达式语言,是一种在JSP页面中获取数据的简单方式,通过${变量名}的方式可以获取到值,需要注意的是EL只能从 pageConext、request、session、application 四大域属性空间中获取数据。使用EL表达式获取数据下面不能成功取值<% int sum = 88; %><!-- 该值取不出来,因为没有放在四大域属性空间中 -->${sum }可以将这个值存放到四大域属性空间中的任意一个
2021-09-12 19:56:09
131
转载 JSP常用标签
什么是JSP标签JSP标签,有的地方也叫做JSP动作,在JSP中编写大量的java代码会使JSP页面显得杂乱无章,看起来非常不舒服,因此JSP提供了一些类似html的标签,通过这些标签能够替代部分java代码实现功能。语法格式如下:<jsp:标签名称 属性名=属性值 ... ></jsp:标签名称>或<jsp:标签名称 属性名=属性值 ... />常用JSP标签在JSP中有很多JSP标签,但是常用的主要有下面两个:< jsp:forward>
2021-09-12 19:03:51
2437
转载 JSP指令
JSP指令JSP 指令的作用是为当前页面做一些基本的属性设置,为当前的页面的运行提供基本的环境。在JSP中包含三类指令:page,页面指令include,包含指令taglib,标签库指令这些指令的使用的语法格式均为如下形式:<%@ 指令名称 属性名=属性值 ... %>page指令page指令用于设置当前JSP页面的相关信息, 一个 JSP中可以包含多个 page 指令,有以下几个常用的属性:pageEncodingpageEncoding属性用于设置当前JSP页面
2021-09-12 19:01:37
496
转载 HttpServlet类
继承HttpServlet类在实际应用中常用的http提交方式有get和post(除此之外还有put、delete),在之前所编写的servlet中是无法直接处理这两种提交方式的,为了方便开发,JavaEE规范的API提供了javax.servlet.http.HttpServlet类,在实际开发中也经常使用继承HttpServlet类的方式创建一个servlet。package com.monkey1024.servlet;import java.io.IOException;import j
2021-09-11 18:35:36
245
转载 GenericServlet类
继承GenericServlet类在通过实现Servlet接口来定义一个Servlet类时存在一个很不方便的问题:有太多不需要的方法必须要实现。通常我们只在service()方法中完成业务逻辑,但由于Servlet 接口中还存在另外四个方法,所以也要必须实现。为了解决这个问题JavaEE的API中提供了一个javax.servet.GenericServlet类,开发者在定义一个servlet时继承该GenericServlet类,此时只需要重写service方法即可。package com.monk
2021-09-11 18:33:40
464
转载 欢迎页面的设置和url-pattern
设置欢迎页面在浏览器地址栏中直接通过项目名称访问时,默认显示的页面就是欢迎页面,可以是.html.jsp,可以通过welcome-file-list进行设置。设置多个欢迎页面:<welcome-file-list> <welcome-file>index.html</welcome-file> <welcome-file>index.htm</welcome-file> <welcome-file>inde
2021-09-11 18:31:08
392
转载 ServletContext接口简介
ServletContext接口简介WEB容器在启动时,它会为每个WEB应用程序都创建一个对应的ServletContext对象,ServletContext对象包含Web应用中所有 Servlet 在 Web 容器中的一些数据信息。ServletContext随着Web应用的启动而创建,随着 Web 应用的关闭而销毁。一个 Web 应用只有一个ServletContext 对象。ServletContext中不仅包含了 web.xml 文件中的配置信息,还包含了当前应用中所有Servlet可以共享的数
2021-09-11 18:27:57
276
转载 ServletConfig接口
ServletConfig接口简介在 Servlet 接口的 init()方法中有一个参数 ServletConfig,这个参数类型是个接口,里面是一些 在 web.xml 中对当前 Servlet类的配置信息。Servlet 规范将Servlet 的配置信息全部封装到了 ServletConfig 接口对象中。在tomcat调用 init()方法时,首先会将 web.xml 中当前 Servlet 类的配置信息封装为一个对象。这个对象的类型实现了 ServletConfig 接口, Web 容器会将这个
2021-09-11 18:26:04
224
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人