- 博客(184)
- 资源 (5)
- 收藏
- 关注
原创 集成elastic-job分布式调度定时任务
定时任务这一组件在工作过程中经常使用到,在单机节点上可以直接选择使用自带的定时任务组件,而这种定时任务一旦确定固化了定时触发策略,也无法动态开启关闭,所以后来有了。是定时任务领域的一个开源项目,由开发,可以通过调度定时任务的启停及策略,还有对事务跟集群的支持等等强大功能。但是而就是当当在Quartz的基础上进行了二次封装,这两个版本除了部署方式不一样在上是一样的,相对于。
2022-10-21 18:27:24 2491 6
原创 Spring boot集成RocketMQ
之前安装好了RocketMQ,这一篇就简单记录一下是怎么集成RocketMQ的,如果有需要安装RocketMQ的同学看这一篇,Linux在线安装RocketMQ,如果没有linux环境的同学也可以本地启动,只需要有java环境即可。
2022-10-21 18:23:44 1542 1
原创 Linux在线安装RocketMQ
消息队列是在工作中作为服务解耦和消息推送等各种场景的应用中使用的组件,常用的队列组件有ActiveMQRabbitMQRocketMQKafka消息队列主要有2种模式,点对点模式跟发布/订阅模式。
2022-10-15 23:47:27 913
原创 使用redis就可以获得root权限,怎么做的?
我在云服务上安过两次redis,每次都被提示攻击他人。(我是好人怎么可能会干坏事呢) 所以我的服务器肯定被人入侵了,因为是个人服务器没什么重要东西端口是常年开放的也没有开启白名单防火墙,最重要的是密码都不设。怪不得天天被入侵,下面进行一下复现。
2022-10-10 16:36:18 1682 1
原创 Linux在线安装nodejs并配置定时任务
昨天安装redis后晚上提醒被当做跳板机给入侵了,当时也没有管,那台机器上没啥紧急重要的东西,也就挂了两个node的定时任务,但是在今天早上发现定时任务没触发,进服务器里wget、curl、node等命令都失效了,看来是给服务器深层保洁了一遍,连定时任务都没了。重装完系统重新安装一下node,配置一下定时任务。
2022-10-09 14:28:56 532
原创 Linux在线安装redis并开启远程访问
今天一个之前的项目需要进行一下调整,但是因为项目的redis连不上了,项目启动是可以启动的,但是登陆不了,需要缓存token,我又不想动历史代码。我本机又安装了太多东西扛不住了,本来在k8s集群中搞了一个,但是端口能通用redis客户端却无法连接,时间紧急还是先安装一个linux的吧。
2022-10-08 16:48:06 1250
原创 KubeSphere安装redis集群,全程超带劲
redis是在开发过程中经常用到的缓存中间件,在生产环境中为了考虑稳定性和高可用一般为集群模式的部署。常规部署在虚拟机上的方式配置繁琐并且需要手动重启节点,而使用K8S进行redis安装便捷:使用镜像或者yaml配置文件即可一件安装自动调度:容器挂掉后会自动调度重启和资源分配缩扩容方便:在扩容、缩容方面的优点无需多说,一键伸缩稳定高效k8s在整个集群上进行调度,只要整个集群不挂掉总会调度到合适节点重启容器服务。
2022-09-20 18:26:02 2422 1
原创 最小栈(155)题解
方法,获取堆栈中的最小元素,如果遍历整个堆栈区找寻最小值时间复杂度为。辅助栈跟原始栈的操作是一致的,但是辅助栈的数据需要取。,这样在获取栈内最小值时直接从辅助栈进行。操作就简单了,不需要判断直接两个栈进行。等类可以支持的,它们的时间复杂度为。辅助栈的步骤跟原始栈的步骤一致,即可,就不画图了,看下面代码。,要达到两个栈操作的一致。,想要将时间复杂度优化到。
2022-09-14 10:34:34 219
原创 手工实现一个字符串内容替换方法来替换replace
在遇到字符串替换的场景上replace方法跟replaceAll方法是最常用的解决办法,那如果让你手动处理字符串替换你会怎么做呢?《剑指Offer》的05题就是这样一道:如果使用replace方法一行代码就处理完毕} }如果让我自己实现的话,代码如下i ++) {i ++) {j ++) {} else {} f ++;} }
2022-09-13 14:36:23 625
原创 零矩阵题解
首先给定的矩阵是个方形矩阵,宽高不一定一样。所以在定义临时数组存储时要注意宽高长度。编写一种算法,若M × N矩阵中某个元素为0,则将其所在的行与列清零。如果都在一个循环里进行标记和值刷新有点混乱不好梳理,所以将。的值则按十字清除所在行和列的值,想想如何实现呢。所以如果使用这种方式需要标记行列为已修改值。,这种方式是可以的,但是要注意修改了的行跟列。,后面进行这两个数组的遍历,如果为。,否则后修改的值跟原始数据会产生。时就清除对应矩阵的行、列数据。
2022-09-07 16:01:32 446
原创 方形矩阵旋转(48)题解
在原地旋转的话会覆盖一部分值,所以也需要存储被覆盖的值,如果按上面的直接一行进行覆盖调整那产生的覆盖值太多 ,所以要一个一个值进行调整到正确的位置。从每行第一位开始调整。矩阵表示的图像,其中每个像素的大小为 4 字节。请你设计一种算法,将图像旋转 90 度。题目还要求尝试不适应额外空间,所以就不能用临时矩阵,需要再给定的矩阵内旋转,也就是。的正方形矩阵,所以他的宽高是已知的。不占用额外内存空间能否做到?
2022-09-07 14:30:57 337
原创 安装Android Studio并创建一个Android Demo
安卓的开发环境可以使用也可以使用,现在常用的都是,毕竟是Google官方提供专门为Android量身定做的开发工具,响应速度相比Eclipse更快更轻量。
2022-09-06 09:50:12 1880
原创 整数数组判断重复(217)题解
暴力破解的方式很简单,使用双循环,两个集合每一种结果都进行遍历比较对值是否相同,但是同一项值不能跟同一项比,所以循环方式为梯形。排序比重的方式就是先将整个数组按递增或者递减的方式排序,保证相邻数值是最小差,循环时通过当前。值进行判断,只要相等则是有重复的。但是这种情况下优先排序也比较浪费时间。使用去重集合是这三种中的最优解了,不需要额外排序,循环插入。如果数组中每个元素互不相同,返回。如果任一值在数组中出现。这种方式数据越多效率越低。集合,如果插入返回的。
2022-09-02 17:21:06 451
原创 罗马数字转整数(13)题解
因为正常情况下都是递减相加,所以判断非正常逻辑也就是递增相减的情况。通常情况下,罗马数字中小的数字在大的数字的右边。为后举例,从上面的特征分析如果相邻的两个数字是递减则相加()、递增则判断是否符合六种情况,而那六种情况的共同特征则是。,因为被减的数字在前已经执行过一次增加。:先预制罗马数字跟整数的对照关系,使用。:循环字符串,获取对应每个字符的整数。给定一个罗马数字,将其转换成整数。则判断是否上面的六种情况并且相减。的左边,所表示的数等于大数。判断的效率跟内存消耗更低。,内存消耗相差不多,如下图。
2022-09-02 14:53:45 342
原创 手写一个二叉搜索树(BST)
在上一篇写了一个简单的双向链表,难度是简简单单,这次来尝试二叉树,难度是也还行吧,多少有点夸张的成分了,不过对于大佬来说这些就是简简单单。难度列表:集合:有手就行链表:简简单单队列:基础操作二叉树:也还行吧平衡二叉树:普普通通红黑树:有点难度了堆/栈:难度提升了图:今天是高端局。......
2022-08-31 18:33:39 416
原创 手写一个泛型双向链表
在当前大环境的背景下面试不问点算法都不算个合格的面试了(卷),而与算法紧密相关的数据结构也是经常问到的,像集合、链表、树、图、栈、堆、队列、矩阵等等等等。是不是感觉难度如下:集合:有手就行链表:简简单单队列:基础操作二叉树:也还行吧平衡二叉树:普普通通红黑树:有点难度了堆/栈:难度提升了图:今天是高端局这么一套组合拳下来,还是有点难度的,本篇就先手写简简单单的链表,链表里有单向链表跟双向链表,会双向链表还能不会单向链表吗,直接上双向链表。双向链表的属性内容上节点prev跟下节点next。...
2022-08-31 13:47:05 369
原创 WebSocket开发(心跳监测)功能
在之前的文章中完成了客服对话的Demo功能,但是现在的连接是无限制的长时间连接没有做心跳、失活、超时断连等功能,心跳的实现方法有很多种,并且WebSocket就提供了ping/pong类型的消息。如果是前端发送心跳,后端需要返回心跳,也就是ping pong的过程会有两次数据传递。后端来发送心跳的话,就只需要发送ping,前端不需要回应。这两种后续的处理方式也有各自优缺点。客户端触发:优点灵活控制无需设置主动超时逻辑清晰服务端简单缺点两次消息传递消息内容容易篡改服务端触发:优点节省宽带。...
2022-08-30 17:45:19 16644 6
原创 WebSocket开发(客服对话)功能
在前两篇中完成了客户端一对一聊天跟消息落地的场景,这次来实现客服对话的场景,先考虑客服对话场景的核心需求。区分角色在连接建立时区分用户跟客服的客户端角色客服角色客户端id固定用户角色客户端id可变连接指定客户端无需选择指定客户端,系统自动匹配客服客户端一对多一个客服是对应多个用户的双向绑定一个客户跟一个客服建立消息连接后重新进入尽量分配给此客服消息同步一个客户重新进入连接后并且更换客服后历史消息同步。...
2022-08-26 16:52:57 2262 2
原创 WebSocket开发(记录落地)功能
在上文WebSocket开发(一对一聊天)完成了一对一聊天的功能,但是消息补偿的功能并没有验证,这需要将客户端id的设置参数进行修改。而且光日志打印记录WebSocket事件的流转有点不靠谱,所以需要将事件进行落地,结构化数据像用户登陆记录、用户代收消息、用户在线状态、操作日志等业务线强的数据可以放到mysql中,像聊天记录、图片、漫游等已经落地的消息数据可以放到mongodb、es中备份存储。这里demo为了方便就都使用mysql存储。
2022-08-24 17:10:10 1309 3
原创 使用WebSocket在Server类中无法使用Autowired注解进行自动注入
在SpringBoot项目中使用`WebSocket`的过程中有其他的业务操作需要注入其它接口来做相应的业务操作,但是在`WebSocket`的`Server`类中使用`Autowired注解`无效,这样注入的对象就是空,在使用过程中会报空指针异常。
2022-08-24 10:05:04 917
原创 WebSocket开发(一对一聊天)功能
从0开始基于WebSocket建立easy-chatroom,本篇为websocket实现一对一私聊和统计在线人数等功能。下面代码都是基于上篇文章中的代码进行的修改,开始的步骤中为了一步步的循环渐进所以只展示修改部分的代码,如果有感觉不连贯的同学可以完成上篇文章后再按本篇步骤执行,完整代码会在最后贴出。
2022-08-22 18:55:25 2484 1
原创 websocket使用sendObject产生的问题
当在使用`WebSocket`服务端向客户端发送消息时使用`sendObject`的方式传递信息出现了以下这个错误:javax.websocket.EncodeException: No encoder specified for object of class
2022-08-22 14:34:01 2338 1
原创 WebSocket的核心事件
Spring Boot使用WebSocket模拟聊天已经简单实现了我们WebSocket的Demo,里面使用的WebSocket事件函数在此做一个总结。WebSocket整体通讯的流程就是建立链接->发送消息->关闭链接/终止链接,这几步需要的事件Api主要就是以下几个不管客户端还是服务端WebSocket的核心事件分为两类,一类是监听事件、一类是触发事件。...
2022-08-18 13:59:29 2287
原创 Spring Boot使用WebSocket模拟聊天
WebSocket 是一种网络传输协议,可在单个 TCP 连接上进行全双工通信,位于 OSI 模型的应用层。WebSocket 协议在 2011 年由 IETF 标准化为 RFC 6455,后由 RFC 7936 补充规范。WebSocket 使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据。在 WebSocket API 中,浏览器和服务器只需要完成一次握手,两者之间就可以创建持久性的连接,并进行双向数据传输。上面是百科对于WebSocket。......
2022-08-18 13:54:23 1312
原创 Kubernetes安装KubeSphere可视化应用
本篇的选择是KubeSphere,不光看着好看,KubeSphere3.0后还开源了KubeKey组件,KubeKey支持一键部署单机或者集群k8s,并且也支持在已有K8s的环境下安装KubeSphere,本篇就是在k8s的环境下安装KubeSphere。KubeSphere是在Kubernetes之上构建的面向云原生应用的分布式操作系统,完全开源,支持多云与多集群管理,提供全栈的 IT 自动化运维能力,简化企业的DevOps 工作流。......
2022-08-12 17:49:53 901
原创 Linux通过公网安装k8s集群
之前安装`k8s集群`都是在同一网段内,关闭防火墙后就不涉及到`网卡`跟`DNS`等网络对集群的影响,但是在`跨区域`的网络上进行安装`k8s集群`如果没有配置局域网络映射可能会遇到各种问题比如以下几种问题etcd无法启动disabled;Active: activating (auto-restart) (Result: exit-code) since 四 2022-08-11 14:17:50 CST;7s ago。...
2022-08-11 16:22:55 582 1
原创 k8s使用KubeSphere三步集成Harbor
k8s集群在Linux上一键安装K8s集群,但是我们想将服务交给k8s调度时需要手动在各个节点服务器上进行打包镜像,或者上传到docker hub上。镜像仓库在线安装harbor镜像仓库。
2022-08-11 16:16:54 2505 5
原创 Linux在线安装harbor镜像仓库
在之前的文章中已经搭建好了k8s集群跟KubeSphere的可视化系统,但是在实际应用上我们服务的镜像推送都需要在集群的所有节点上手动进行,非常不方便。所以我们需要一个私有的镜像仓库。
2022-08-09 18:02:07 1839 3
原创 手动部署java项目到k8s中
一般在正式环境下我们都会有以下几部分构成容器化部署:但是组成这么一整套的资源比较大,不利于个人安装学习。所以本文就介绍在只有的环境下部署到容器环境中。生成一个java的Demo项目,在本机进行启动测试能访问web页面即可,如下图在上面的目录结构图里的中有一个,代码如下如果项目设置了分环境注意修改参数里的进行修改将打好的和上传到容器集群的所有节点上,然后执行以下命令:就是要打包的容器镜像名称,我们下面的配置也是以此名称来找镜像进行调度的。使用命令查看是否存在镜像这个文件是给使用的,里面配置了需要调度使用
2022-08-04 14:13:34 2532
原创 Linux一键安装K8s集群
KubeSphere是在Kubernetes之上构建的面向云原生应用的分布式操作系统,完全开源,支持多云与多集群管理,提供全栈的 IT 自动化运维能力,简化企业的DevOps 工作流。它的架构可以非常方便地使第三方应用与云原生生态组件进行即插即用 (plug-and-play)的集成。上面是官网对KubeSphere的介绍,k8s的web调度系统多种多样,KubeSphere是其中相对不错的,并且在KubeSphere3.0之后推出了KubeKey。KubeKey支持一键安装k8s或者。......
2022-08-03 16:08:46 1429
原创 单机K8s加入节点组成集群
在上一篇中搭建了单机的k8s和它的管理系统KubeSphere,但是在实际应用中肯定不是`All-in-One`形式的。所以要在目前单机的基础上添加工作节点形成集群,默认我们上一篇安装的就是master节点,在master节点的基础上增加node节点。...
2022-08-02 16:15:15 633 2
原创 Linux在线安装Mongodb
创建log文件用于保存数据库日志,这里创建的是文件,不然启动时会报错。我这里选择linux版本最新6.0.0的,下载命令如下。创建data文件夹用于后续数据库信息保存。执行启动命令,在上面的配置文件目录下。页面展示上图内容即为成功。将解压包拷贝到指定目录。在最下面添加配置内容。...
2022-08-02 14:22:11 576 4
原创 安装部署KubeSphere管理kubernetes
KubeSphere是Kubernetes的多集群管理的分布式操作系统,并且支持了DevOps工作流,并且它的架构可以非常方便地使第三方应用与云原生生态组件进行即插即用(plug-and-play)的集成。KubeSphere提供了运维友好的向导式操作界面,帮助企业快速构建一个强大和功能丰富的容器云平台。KubeSphere为用户提供构建企业级Kubernetes环境所需的多项功能,例如-多云与多集群管理、-Kubernetes资源管理、-DevOps、KubeKey。......
2022-07-28 18:36:34 5255
原创 Docker两行命令安装汉化版Gitlab
GitLab是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的Web服务。在做本地化git仓库时一般都会选择Gitlab,但是在部署时进行初始化安装不是很容易,但是我们使用容器的话可以执行三四个命令即可完成Gitlab的部署。...
2022-07-14 19:01:37 1770
原创 java程序设置开机自启动
先创建一个start.bat的文件,直接创建一个txt将后缀名称改为bat就可以在脚本内添加如下代码第二行代码是删除所有的java程序,本来是保证启动时没有冲突的,如果本地有其他java应用的话去掉第二行代码即可。编写完保存双击执行bat脚本测试查看是否可以运行如果都启动成功即可先找到如下目录 如果没有展示这些内容可能是隐藏了,设置展示隐藏的文件编写vbs脚本,编写以下代码bat地址为刚才我们编写的脚本的地址,编写好以后放到我们上图的启动目录里,重启测试启动看看效果,如果重启后自启动了脚本即可.
2022-07-13 10:56:55 4561
原创 Skywalking接入前端监控
Skywalking从8.2版本开始了支持浏览器端的监控,也就是在仪表盘中的Web Browser选项,但是应用的人好像并不多,我在搜索相关文章时对配置Skywalking前端监控的文章很少,所以只能在组合有限的资料中进行配置因为是从8.2开始的所以Skywalking的版本必须为8.2之上。我的前一篇文章搭建的Skywalking为8.6版本的,如果有低版本的同学或者需要搭建的同学可以看一下,地址如下:Docker安装SkyWalking并监控Java程序Skywaking的浏览器接入需要引入一个客户
2022-07-08 17:28:41 3569 11
原创 Docker安装SkyWalking并监控Java程序
安装Skywalking可以采用H2存储数据或者ElasticSearch存储,这里采用ElasticSearch存储,采用OAP处理数据,并基于Skywalking UI展示数据。因为安装ElasticSearch的要求比较高建议内存在2G以上Skywalking可以选择H2存储,也就是内存存储,但是做demo可以,在正式使用时还是使用elasticsearch,本篇选择安装ElasticSearch7。使用docker安装启动elasticsearch安装完成访问服务器ip+端口查看是否成功,上面命
2022-07-08 17:02:39 1419
fel计算引擎0.9官方版本.zip
2020-05-20
phantomjs-2.1.1-windows和echarts-convert
2019-12-04
dayTimeDemo.java
2019-11-23
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人