自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(70)
  • 收藏
  • 关注

原创 keepalived + nginx 实现网站高可用性(HA)

keepalivedheartbeat等。Heartbeat是比较早期的实现高可用软件,而keepalived是目前轻量级的管理方便、易用的高可用软件解决方案,得到互联网公司IT人的青睐。Keepalived是一个类似于工作在layer 3, 4 & 7交换机制的软件,Keepalived软件有两种功能,分别是健康检查、VRRP冗余协议,keepalived是模块化设计,不同模块负责不同的功能。Keepalived的作用。

2024-11-03 23:59:16 1305

原创 @Cacheable踩坑,服务停住,~lock

我出现这个原因是我kill -9 服务的端口,服务直接停止,可能导致了这个key~lock还没删除掉,下次要进来读的时候,发现这个锁还在,就在等待。这样即使服务崩溃,锁也会在超时后自动释放,允许其他服务继续获取缓存数据。:如果 Redis 锁没有被正确释放,下次启动时,服务可能会发现锁依然存在,从而无法进行缓存操作或者数据加载。:建议在服务中实现适当的异常处理和恢复机制,确保锁不会长时间存在,并尽可能恢复服务的正常运行。服务停止住了,发现redis会生成key~lock的锁,永不过期,也没有删除。

2024-09-07 12:29:33 615

原创 Vue2——前端笔记

Vue.js 是一个功能强大、易于学习和使用的前端框架,适用于构建各种规模的 Web 应用程序,并且在社区和生态系统方面拥有广泛的支持和资源。官网链接: https://cn.vuejs.org/以下是 Vue.js 的一些主要特性和优点:响应式数据绑定:Vue.js 使用了响应式的数据绑定机制,当数据发生变化时,视图会自动更新。这使得开发者可以轻松地管理和维护应用程序的状态。组件化开发:Vue.js 鼓励组件化开发,将界面拆分为独立、可复用的组件。每个组件都有自己的状态和逻辑,可以相互组合形成复杂的界面。

2024-05-05 22:48:19 984

原创 jenkins教程

Jenkins是一个流行的开源自动化服务器,用于自动化软件开发过程中的构建、测试和部署任务。它提供了一个可扩展的插件生态系统,支持各种编程语言和工具。Jenkins是一款开源 CI&CD 软件,用于自动化各种任务,包括构建、测试和部署软件。Jenkins 支持各种运行方式,可通过系统包、Docker 或者通过一个独立的 Java 程序。

2024-04-27 23:57:46 3223 3

原创 CSS——前端笔记

css前端笔记

2024-04-21 14:30:45 2094 1

原创 Prometheus 教程

Prometheus 是一个开源的系统监控和警报工具。它最初由 SoundCloud 开发,并于 2012 年发布为开源项目。Prometheus 专注于收集和存储时间序列数据,并提供强大的查询语言和灵活的警报机制。Prometheus 可以用于以下几个方面:系统监控:Prometheus 可以收集和存储各种系统指标,如 CPU 使用率、内存使用量、磁盘空间、网络流量等。它可以帮助您监控和分析系统的性能和资源使用情况,以及识别潜在的问题和瓶颈。

2024-02-20 22:11:26 3723 1

原创 Skywalking链路追踪

APM(Application Performance Monitoring)系统是一种用于监控和管理应用程序性能的工具。它可以帮助开发人员和运维团队实时监控应用程序的性能指标、识别潜在的性能问题,并提供性能优化建议。APM系统可以帮助用户及时发现和解决应用程序的性能问题,提升用户体验和系统稳定性。它可以应用于各种类型的应用程序,包括Web应用、移动应用、微服务架构等。SkyWalking是一个开源的应用性能监控(APM)系统,用于监控和管理分布式系统的性能。

2024-01-17 23:55:42 8556 1

原创 大数据技术之 Kettle(PDI)

Extract-Transform-Load(ETL)是一种常见的数据集成过程,用于从一个或多个数据源中提取数据,对数据进行转换和清洗,然后加载到目标数据存储中。ETL 过程通常包括以下三个步骤:提取(Extract):从一个或多个数据源中提取数据。数据源可以是关系型数据库、文件、API、日志文件等。在提取阶段,需要确定要提取的数据范围和数据格式。转换(Transform):对提取的数据进行转换和清洗。这包括数据格式转换、数据清洗、数据合并、数据计算等操作。

2023-12-17 22:50:52 12512 3

原创 Effective Java解读

对书本每一章节解读、代码示例,更清晰的理解书本内容,明确说明优缺点

2023-12-03 12:21:14 625

原创 html5——前端笔记

html笔记

2023-09-02 22:42:10 3086

原创 javaScipt

JavaScript是一种运行在客户端(浏览器)的编程语言,实现人机交互效果。网页特效 (监听用户的一些行为让网页作出对应的反馈)表单验证 (针对表单数据的合法性进行判断)数据交互 (获取后台的数据, 渲染到前端)服务端编程 (node.js)规定了js基础语法核心知识。比如:变量、分支语句、循环语句、对象等等Web APIs :DOM 操作文档,比如对页面元素进行移动、大小、添加删除等操作BOM 操作浏览器,比如页面弹窗,检测窗口宽度、存储数据到浏览器等等。

2023-09-02 22:35:03 569

原创 Springboot @Validated注解详细说明

在Spring Boot中,@Validated注解用于验证请求参数。它可以应用在Controller类或方法上。

2023-08-06 17:35:28 13110 1

原创 Linux,看这篇就够了

linux 常用命令大全

2023-06-13 00:22:36 32183 19

原创 为网站搭建域名(腾讯云)

购买域名教程,域名备案教程,网站配置域名教程

2023-05-11 00:07:44 3790

原创 kafka3.x详解

kafka简介、与其他mq的区别,安装包下载,docker下载kafka,springboot集成kafka

2023-05-08 22:08:25 4259 3

原创 springboot 接口防刷(根据IP与路径限制)

根据ip和路径处理接口防刷,有全局方式 与 aop注解方式

2023-04-23 00:59:30 2811 1

原创 JVM笔记——根据黑马jvm课程课件+自己总结

详解 java虚拟机

2023-01-14 23:47:43 4508 3

原创 设计模式——总结

一文讲解7种原则,23种设计模式

2022-11-13 19:00:09 929

原创 设计模式——行为型模式

设计模式之 行为型模式

2022-11-13 18:37:20 1671

原创 设计模式——结构型模式

本文详解设计模式的结构行模式,包含 适配器模式(Adapter Pattern) 桥接模式(Bridge Pattern) 组合模式(Composite Pattern) 装饰器模式(Decorator Pattern) 外观模式(Facade Pattern) 享元模式(Flyweight Pattern) 代理模式(Proxy Pattern)

2022-11-07 01:05:42 1903

原创 设计模式——创建型模式

所谓类的单例设计模式,就是采取一定的方法保证在整个的软件系统中,对某个类只能存在一个对象实例,并且该类只提供一个取得其对象实例的方法。一个全局使用的类频繁地创建与销毁。当您想控制实例数目,节省系统资源的时候。1、在内存里只有一个实例,减少了内存的开销,尤其是频繁的创建和销毁实例(比如管理学院首页页面缓存)。2、避免对资源的多重占用(比如写文件操作)。没有接口,不能继承,与单一职责原则冲突,一个类应该只关心内部逻辑,而不关心外面怎么样来实例化。1、要求生产唯一序列号。

2022-10-31 23:23:32 1075

原创 设计模式——七大原则

依赖方式,把A类作为参数传递到B类的两个方法中,从而达到调用A类的方法,耦合性低。就是当B类最好不要直接继承A类,去重写它,要再建一个更基础的类,两个都去继承,增强两个类的耦合性。组合/聚合的方式,在B类里注入A,通过注入的A类来调用方法,耦合性低,易扩展。这个原则讲的就是,将代码写的扩展性高点,如果新增功能,不用去改旧代码,直接新增新的功能。使用继承方式,B类继承了A类之后,就可以使用了A类中的两个方法,这样耦合性较高,不推荐。入性,程序的可移植性降低,增加对象间的耦合性,如果一个类被其他的类所继承,

2022-10-31 23:03:11 664

原创 Arthas线上服务诊断利器

Arthas 是一款线上监控诊断产品,通过全局视角实时查看应用 load、内存、gc、线程的状态信息,并能在不修改应用代码的情况下,对业务问题进行诊断,包括查看方法调用的出入参、异常,监测方法执行耗时,类加载信息等,大大提升线上问题排查效率。Arthas(阿尔萨斯)能为你做什么?这个类从哪个 jar 包加载的?为什么会报各种类相关的 Exception?我改的代码为什么没有执行到?难道是我没 commit?分支搞错了?遇到问题无法在线上 debug,难道只能通过加日志再重新发布吗?

2022-10-31 00:41:33 2050

原创 Springboot整合HBase——大数据技术之HBase2.x

Apache HBase 是以hdfs为数据存储的,一种分布式、可扩展的noSql数据库。是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,利用HBase技术可在廉价PC Server上搭建起大规模结构化存储集群。HBase使用与BigTable(BigTable是一个稀疏的、分布式的、持久化的多维排序map)非常相似的数据模型。用户将数据行存储在带标签的表中。数据行具有可排序的键和任意数量的列。该表存储稀疏,因此如果用户喜欢,同一表中的行可以具有疯狂变化的列。

2022-10-11 00:17:05 5835

原创 The server quit without updating PID file (/usr/local/mysql/data/localhost.pid).

兄弟们,不要网上瞎找,报这个错误,每个人的原因都不一样,最好的办法就是。如果没有设置,自己先设置存放错误日志,再重新启动,然后看日志。

2022-08-04 15:08:11 632

原创 Spring boot admin 服务监控利器

用于对 Spring Boot 应用的管理和监控。可以用来监控服务是否健康、是否在线、以及一些jvm数据等等。Spring Boot Admin 分为服务端(spring-boot-admin-server)和客户端(spring-boot-admin-client),服务端和客户端之间采用 http 通讯方式实现数据交互;单体项目中需要整合 spring-boot-admin-client 才能让应用被监控。......

2022-08-04 00:43:44 7721 2

原创 基本数据类型int与包装类Integer的区别

1、包装类是对象,拥有方法和字段,对象的调用都是通过引用对象的地址;基本类型不是。2、声明的方式不同:基本数据类型不需要new关键字;包装类型需要new在堆内存中进行new来分配内存空间3、存储位置不同:基本数据类型直接将值保存在值栈中包装类型是把对象放在堆中,然后通过对象的引用来调用他们4、初始值不同:int的初始值是0、boolean的初始值是false包装类的初始值是null5、包装类型是应用的传递;基本类型是值的传递我们先定义一个Interger的值,进源码看看怎么回事。1、断点刚进来

2022-07-11 00:52:48 751

原创 封装rabbitmq消息确认、异常回退类

消费mq做消息确认机制时,消息要是消费过程中发送异常,将消息回退。通常我们会直接try/catch我们的方法,如下但是这样会有一个缺点,要是我们有很多个消费者,重复的代码太多。封装后我们只需要处理消息内容.........

2022-07-10 19:51:25 1626

原创 centos下载安装nginx在线版、离线版

保姆式安装nginx、包含在线版、离线版

2022-07-03 14:29:00 1651

原创 docker0: iptables: No chain/target/match by that name.

docker0: iptables: No chain/target/match by that name.已解决

2022-06-21 09:48:14 1194

原创 rabbitmq详解

整理rabbitmq下载安装、rabbitmq界面、rabbitmq五种模型、rabbitmq并发消费、rabbitmq批量发送,rabbitmq批量消费,rabbitmq延迟队列,ttl队列,死信队列,消息确认,集群搭建等

2022-06-19 18:01:33 35266 13

原创 springboot整合webSocket(看完即入门)

webSocket1、什么是webSocket?2、webSocket可以用来做什么?3、webSocket协议4、服务端WebSocket操作类5、客户端1、什么是webSocket?WebSocket是一种在单个TCP连接上进行全双工通信的协议。WebSocket使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据。在WebSocket API中,浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接,并进行双向数据传输。2、webSocket可以用来做什么

2022-05-27 00:59:56 94847 61

原创 微服务下访问docker容器内部服务无法访问问题

我们将微服务部署在docker容器内,但是在容器内没有指定ip和端口时,默认就是内部本地的ip端口,虽然feign访问的路径是用的服务名且服务注册进去了,但是还是会拿注册的服务的IP端口,外部的服务是访问不到的。点击服务列表–>服务详情 查看服务ip端口所以容器外的服务要想访问到容器内的这个服务就要将这个服务的ip改为宿主机的映射的IP和端口解决:先关闭防火墙或者开放端口方式一: 指定nacos服务注册时的IP端口(推荐)就是将服务注册时的服务(容器内部)的IP端口改成外部可以访问的IP

2022-05-24 08:40:18 2921

原创 CompletableFuture异步编排

异步一、线程基本了解1、创建线程的四种方式1.1、继承Thread类1.2、实现Runnable接口1.3、实现Callable接口 + FutureTask (可以拿到返回结果,可以处理异常)1.4、使用线程池2、线程池2.1、线程池七大参数2.2、运行流程2.3、常见的4种线程池特点二、CompletableFuture异步编排1、创建CompletableFuture1.1、runAsync(无返回值)1.2、supplyAsync(有返回值)2、各个方法使用1、`whenComplete`2、`ha

2022-04-19 01:54:06 2023

原创 Spring Cache 总结

SpringCache1、配置2、注解`@EnableCaching` (开启缓存功能)`@Cacheable` (将数据保存到缓存)1、key参数设置,SpringEl表达式2、其他参数示例`@CacheEvict` (将数据从缓存删除)`@CachePut ` (不影响方法执行更新缓存)`@Caching` (组合多个缓存操作)`@CacheConfig` (在类级别共享缓存的相同配置)1、配置1、依赖<!--springcache依赖--> <depende

2022-04-17 22:57:27 2151

原创 mysql跨库关联查询(dblink)

dblink1、解决方案2、操作3、缺点1、解决方案mysql是不支持跨库连接的,如果我们实在要连接的话可以用dblink方式。解释:dblink就是我们在创建表的时候连接到我们的远程库,然后我们本地新建的表数据就是映射远程的表的数据。如我现在本地要连接我的阿里云的sys_user表所以我需要在本地建一个相同字段的表,我取名叫sys_user_copy,并连接到远程库建好后,我本地sys_user_copy的表里面的数据是映射远程的表的数据所以我关联查询,可以直接关联我本地sys_user

2022-04-11 00:25:38 29568 3

原创 ShardingSphere数据库分库分表、数据库中间件

shardingSphere一、了解1.1、简介一、了解1.1、简介Apache ShardingSphere 由 JDBC、Proxy 和 Sidecar(规划中)这 3 款既能够独立部署,又支持混合部署配合使用的产品组成。 它们均提供标准化的基于数据库作为存储节点的增量功能,可适用于如 Java 同构、异构语言、云原生等各种多样化的应用场景。...

2022-04-09 17:51:23 1818

原创 feign动态服务名、路径(亲测可用)

业务:同一个服务,需要部署在两台服务器上,连的是同一个nacos,现需要根据配置,将数据存储在各自服务器上,所以我们需要将其中一个服务改个服务名和路径部署,需要在业务上就判断他是存在属于哪个服务上的,才能去调用那个服务的feign接口。重新再放个feign接口也不动态,万一后面又加了很多个服务,又要改代码,所以我们的解决办法就是动态服务名和路径。我们都知道feign调用的时候路径是http://服务名/路径/所以我们如果要动态的调用,就需要替换服务名和路径。1、新增替换url的配置就是把有/

2022-03-20 19:39:51 6209

原创 springboot整合xxl-job分布式任务调度平台

springboot整合xxl-job分布式任务调度平台1、下载xxl-job源码2、运行数据库文件、修改propertis为自己数据库3、在自己工程新建xxl-job模块4、引入xxl-job依赖,添加yml配置5、xxl-job配置类6、定时任务小测试7、启动两个项目,xxl-job默认端口链接:8、配置执行器9、配置任务管理1、下载xxl-job源码链接: https://www.xuxueli.com/xxl-job/XXL-JOB是一个分布式任务调度平台,其核心设计目标是开发迅速、学习简单、

2022-03-20 18:45:15 596

原创 shiro配置不被拦截路径,不生效踩得坑记录

请求的requestURI的路径是 /gaw-job/test/test3所以我很自然的就配置shiroConfig的不拦截路径为然后一直不生效,后来断点到shiro路径匹配的时候shiro匹配的路径request.getServletPath()而我们上方的request.getRequestURI()(就是/gaw-job/test/test3)等于request.getContextPath() + request.getServletPath()request.getContextPa

2022-03-16 13:06:15 5310 1

空空如也

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

TA关注的人

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