自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 RocketMQ分布式消息队列(2)

我们通常使用定时任务比如Quartz来解决超时业务,比如:订单支付超时关单,VIP会员超时提醒。但是使用定时任务来处理这些业务场景在数据量大的时候并不是一个很好的选择,会造成大量的空扫描浪费性能。我们可以考虑使用延迟消息来解决。延迟消息即:把消息写到Broker后需要延迟一定时间才能被消费 , 在RocketMQ中消息的延迟时间不能任意指定,而是由特定的等级(1 到 18)来指定,分别有:可以通过修改配置来增加级别,比如在mq安装目录的 broker.conf 文件中增加。

2025-12-24 09:33:33 433

原创 rocketMQ的下载和使用(1)

下载地址==>由于我使用的是jdk17和springboot2.7.6。请询问ai选择适合你的版本写入:首先被顺序、快速地追加到 commitlog文件中。索引:同时,会更新对应Topic的 consumequeue索引文件。消费:消费者拉取消息时,先查 consumequeue找到位置,再去 commitlog读取消息体。总结一下:commitlog是统一存储,保证了高吞吐写入;consumequeue是逻辑索引,实现了高效随机读取。

2025-12-23 08:00:00 336

原创 Seata1.7.0的安装和使用

如果你还对seata没有什么概念可以看我之前的文章===>Seata1.7.0版本分布式事务介绍本篇接着上篇的讲解。

2025-12-17 16:48:25 839

原创 Seata1.7.0版本分布式事务介绍

AT 模式是一种无侵入的分布式事务解决方案。阿里 Seata 框架,实现了该模式。在 AT 模式下,用户只需关注自己的“业务 SQL”,用户的 “业务 SQL” 作为一阶段,Seata 框架会自动生成事务的二阶段提交和回滚操作。Seata 分布式事务的本质,就是通过 XID 串联所有微服务的本地事务,由 TC(总指挥)记录全局状态,TM(发起者)决定事务结果,RM(执行者)执行具体操作 —— 最终实现 “要么所有微服务的事务都成功,要么都回滚” 的一致性。

2025-12-17 15:06:03 1067

原创 canal1.1.8+mysql8.0+jdk17+rabbitMQ+redis的使用02

新建数据库smbms,在smbms中新建两张表system_users表新建项目新建项目引入依赖修改配置文件2流程分析我们canal1.1.8+mysql8.0+jdk17+rabbitMQ+redis的使用流程如下图所示主要涉及两个类CanalClientConfig和CanalRabbitMQConsumer下面我把代码复制过来看3.2 mybatisplus3.2.1 MybatisPlusConfig3.3 rabbitmq3.3.1 CanalRabbitMQCons

2025-12-15 17:05:02 964

原创 windows家庭版,D盘安装docker,下载大模型

这些就是模型的参数大小,越大推理能力就越强,需要的算力也越高。需要注意的是,Ollama提供的DeepSeek是量化压缩版本,对比官网的蒸馏版会更小,对显卡要求更低。Dify 是通过Docker部署的,而Ollama 是运行在本地电脑的,得让Dify能访问Ollama 的服务。比如,我的电脑内存32G,显存是6G,我选择部署的是7b的模型,当然8b也是可以的,差别不大,都是可以流畅运行的。首先,我们需要下载一个Ollama的客户端,在官网提供了各种不同版本的Ollama,大家可以根据自己的需要下载。

2025-12-10 20:26:17 769

原创 websocket(即时通讯)

WebSocket是一种在单个TCP连接上进行全双工通信的协议。WebSocket通信协议于2011年被IETF定为标准RFC 6455,并由RFC7936补充规范。WebSocket API也被W3C定为标准。WebSocket使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据。在WebSocket API中,浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接,并进行双向数据传输。为什么有了HTTP协议还要WebSocket。

2025-11-11 19:00:19 900

原创 HTML+CSS常见问题合集

* background: rgba(0, 0, 0, 0.4) url(../assets/wallpaper/搜索.png) center/30px no-repeat;/* 鼠标经过盒子,盒子中遮罩的图片变大,遮罩从透明变半透明 *//* 这个说明绝对定位是的方位是相对于上一个定位而言,上一个定位可以是相对定位也可以是绝对定位。注意父级的定位一定要有高度宽度否则不显示。/* 可在遮罩上加个图片控制图片大小 *//* 如果不加这个属性 */

2025-11-10 09:38:58 967

原创 canal1.1.8+mysql8.0+jdk17+redis+rabbitMQ的使用

Mysql主从,根据2/8原则,80%的性能问题都在读上面,当我们数据库的读并发较大的时候,我们可以使用Mysql主从来分担读的压力。它的原理是所有的写操作在主库上,读操作在从库上,当然主库也可以承担读请求,而从库的数据则通过主库复制而来。在工作中,我们常常会遇到同步MySQL数据到Redis的需求,我们也会有很多种方式去解决,常见的方式有如下几种。binlog是二进制日志文件,用于记录mysql的数据变更,数据在恢复的时候binlog日志起着至关重要的作用。修改完毕后,启动canal,找到。

2025-11-07 09:50:03 889

原创 visio的使用

2025-11-06 11:03:32 133

原创 Elasticsearch之(java操作Elasticsearch的索引库内容)

Elasticsearch之(java操作Elasticsearch的索引库结构)初始化RestHighLevelClient创建XxxRequest。XXX是Index、Get、Update、Delete、Bulk准备参数(Index、Update、Bulk时需要)发送请求。调用RestHighLevelClient#.xxx()方法,xxx是index、get、update、delete、bulk解析结果(Get时需要)

2025-11-05 08:45:00 2028

原创 Elasticsearch之基础知识讲解

随着业务发展,我们的数据量越来越庞大,传统的mysql数据库就渐渐的难以满足复杂的业务需求了,所以在微服务架构下,一般都会用到一种分布式搜索的技术,其中最流行的就是Elasticsearch。

2025-11-05 08:15:00 1059

原创 Elasticsearch之(java操作Elasticsearch的索引库结构)

JavaRestClient操作elasticsearch的流程基本类似。核心是client.indices()方法来获取索引库的操作对象。初始化RestHighLevelClient创建XxxIndexRequest。XXX是Create、Get、Delete准备DSL( Create时需要,其它是无参)发送请求。调用RestHighLevelClient#indices().xxx()方法,xxx是create、exists、delete。

2025-11-05 08:15:00 717

原创 Docker安装Elasticsearch、kibana、IK分词器

"text": "hello,我是渣渣辉!是兄弟就来砍我"POST:请求方式/_analyze:请求路径,这里省略了http://你的虚拟机IP:9200,有kibana帮我们补充。也就是上面的运行kibana镜像时已经通过参数指定过了。analyzer:分词器类型,这里是默认的standard分词器text:要分词的内容上面把hello,我是渣渣辉!是兄弟就来砍我拆分成一个一个词就是分词,但是我们发现上面分词只能是英文的,中文的兄弟和渣渣辉都没有分到一起,而是被拆散了,这显然不是我们需要的。

2025-11-04 01:02:06 1236

原创 微服务之ShardingSphere

分库分表就是为了解决由于数据量过大而导致数据库性能降低的问题;1.将原来独立的数据库拆分成若干数据库组成;2.将原来的大表(存储近千万数据的表)拆分成若干个小表;目的:使得单一数据库、单一数据表的数据量变小,从而达到提升数据库性能的目的。Apache ShardingSphere是一款开源的分布式数据库中间件组成的生态圈,它由Sharding-JDBC、Sharding-Proxy和Sharding-Sidecar(规划中)这3款相互独立的产品组成。

2025-10-30 08:00:00 1144

原创 Java全栈面试题及答案汇总(2)

最左前缀原则是指组合索引中,查询条件需从索引最左列开始匹配,否则索引失效。笛卡尔积是指两个集合中所有可能的元素组合。在SQL中,当多表连接时未指定关联条件,会产生笛卡尔积。表级锁锁定整个表,开销小,并发低MyISAM存储引擎默认锁适用:全表操作(如ALTER TABLE)行级锁锁定单行记录,开销大,并发高InnoDB存储引擎支持适用:高并发写操作页级锁锁定一页数据(16KB),介于表级和行级之间BDB存储引擎支持并发中等,开销中等进程。

2025-10-30 04:22:54 876

原创 MySQL的读写分离配置

你的mysql3381配置文件中的server-id这个值一定要和mysql8080的值不一样,否则你的读写分离时从库的Slave_IO_Running值为No。你的mysql3381配置文件中的server-id这个值一定要和mysql8080的值不一样,你可以改为server-id=102。cmd打开dos命令,以管理员身份运行,注意一定要用管理员身份运行否则生成的初始化密码可能不能用。对应的MySQL3381的smbms的数据库表也会修改。修改主库的smbms数据库的随便一张表的数据。

2025-10-29 08:00:00 1603

原创 百度AI(身份证识别)

点开后让使用postman或者apifox接口测试工具获取access_token。选择完自己需要的东西并填写完名称以及应用场景描述就选创建按钮。apifox接口测试工具获取access_token如下。这里记住API Key和Secret Key一会用。注意登录后必须实名认证否则有些功能你用不了。我们可以看到自动跳到已经创建好的应用列表。再次搜索看见付费使用中说明开通成功。如果你不想下载可以直接复制下面的类。注意下面代码有三处需要改成你自己的。身份证可以从网上随便找一张即可。根据上述文档可知需要获取。

2025-10-28 08:00:00 698

原创 工作流activiti(1)

工作流就是类似于请假的流程需要谁审批BPMN(Business Process Model and Notation,业务流程模型与标记法)是一套国际标准的图形化建模语言,主要用于描绘业务流程的各个步骤、决策顺序和逻辑关系。它的核心目标是为业务分析人员、技术开发和管理人员提供一种​​通用的可视化语言​​,从而减少沟通障碍,确保大家对业务流程有统一的理解。/*** 查询当前部署表和定义表的信息*/@Test// 查询有哪些部署的流程--》查询相关的流程定义信息。

2025-10-22 21:53:57 957

原创 微服务之Sentinel限流熔断

在基于 SpringCloud 构建的微服务体系中,服务间的调用链路会随着系统的演进变得越来越长,这无疑会增加了整个系统的不可靠因素。在并发流量比较高的情况下,由于网络调用之间存在一定的超时时间,链路中的某个服务出现宕机都会大大增加整个调用链路的响应时间,而瞬间的流量洪峰则会导致这条链路上所有服务的可用线程资源被打满,从而造成整体服务的不可用,这也就是我们常说的 “雪崩效应”。而在微服务系统设计的过程中,为了应对这样的糟糕情况,最常用的手段就是进行 ”流量控制“ 以及对网络服务的调用实现“熔断降级”。

2025-10-20 08:15:00 1612

原创 微服务之Gateway网关(2)限流

网关可以做很多的事情,比如,限流,当我们的系统 被频繁的请求的时候,就有可能 将系统压垮,所以 为了解决这个问题,需要在每一个微服务中做限流操作,但是如果有了网关,那么就可以在网关系统做限流,因为所有的请求都需要先通过网关系统才能路由到微服务中。除了网关可以做限流,Sentinel也可以做限流,若依就是使用的Sentinel做限流。

2025-10-20 08:00:00 1515

原创 微服务之Gateway网关(1)

来看上面就是我们的微服务项目,上面的项目有问题当前端调用我们的接口的时候端口号需要一直修改,ip也可能一直修改有点乱。登录拦截:我们上面三个模块都需要登录拦截。跨域问题需要对每一个服务进行改造如果添加鉴权功能,需要对每一个服务进行改造为了实现统一管理,就提出了网关的概念。网关就是当前微服务项目的"统一入口有时候SpringCloudGateWay提供的过滤器工厂不能满足自己的要求。可能有时候需要在过滤时做一些其它的逻辑操作。那么这时候可以选择使用java代码自定义全局过滤器。

2025-10-19 08:00:00 689

原创 微服务之配置中心Nacos

如果你还没有学习OpenFeign可以看之前的博客微服务之hystrix熔断降级和负载均衡,本篇博客是接着上一篇写的。

2025-10-19 07:45:00 823

原创 微服务之hystrix熔断降级和负载均衡

如果你还没有学习OpenFeign可以看之前的博客微服务之OpenFeign 服务调用,本篇博客是接着上一篇写的。

2025-10-18 12:39:11 898

原创 微服务之OpenFeign 服务调用

如果你还没有学习nacos可以看之前的博客微服务之SpringCloud Alibaba(注册中心Nacos),这篇博客接着上一篇的讲的微服务架构中使用OpenFeign进行服务调用,OpenFeign提供了一种简洁的方式来定义和处理服务间的调用。OpenFeign作为一个声明式的、模块化的HTTP客户端,通过接口的定义和注解的使用,简化了微服务之间的通信调用。

2025-10-18 08:30:00 1847

原创 微服务之SpringCloud Alibaba(注册中心Nacos)

顾名思义,是一个微小的服务,为什么会说是"微"呢?意思整个服务的是比较微小的,是一个独立的业务模块,专做改业务的事情,是一个独立的功能单元。一种独特的架构设计模式,它将是软件、web或移动应用拆分为一系列独立的服务一一如微服务。这些服务仅用于某一个特定的业务功能,例如:用户管理、用户角色、电子商务购物车、搜索引擎、社交媒体登录等。此外,它们是相互独立的,这意味着它们可以采用不同的编程语言和数据存储。微服务中几乎不存在集中管理,它使用轻量级的HTTP、REST来进行内部通信。

2025-10-16 13:36:09 1544

原创 Linux之CentOS7安装docker+使用

从镜像仓库拉取(下载)镜像到本地:查看本地镜像docker rmi:删除镜像:基于定义的DOCKERFILE来实现自定义镜像:将打包好的镜像保存到本地,变成一个压缩文件。:将压缩文件加载到本地镜像。:将镜像推到镜像仓库,这个仓库可以是共用的,也可以是公司内部的私服。docker run创建并运行容器(自动化)。如果镜像不存在,会先拉取镜像,拉取完再去自动创建容器并运行。相当于先执行了docker pull再进行运行到容器。:停止容器内的进程,但容器还在。:把停掉的进程再次重新启动。

2025-10-15 08:30:00 1179

原创 分布式之RabbitMQ的使用(3)QueueBuilder

本篇帖子是上一篇分布式之RabbitMQ的使用(3)的续写。QueueBuilder 是在与消息队列系统(如 RabbitMQ)集成时,用于以编程方式构建队列(Queue)的工具类或构建器模式的实现。它提供了一种便捷的方法来配置队列的各种属性,使得在应用程序中能够根据具体需求灵活创建不同类型和特性的队列。方法: QueueBuilder.durable(String queueName)说明:用于创建一个持久化队列。

2025-10-14 13:54:36 846

原创 微服务之若依(1)分离版

我们下面来学习若依框架什么是若依框架若依=(html+css+js+vue+ElementUI+Java+MQ+ES+Redis+数据库)

2025-10-11 14:54:16 245

原创 百度ai之鉴黄接口

配置完成后,我们就可以写代码了。

2025-10-10 08:15:00 1044

原创 支付宝的沙箱系统之订单码支付

如果你在家里的电脑(卧室201)上搭建了一个网站或游戏服务器,你的朋友(快递员)从外部互联网想访问它,他只知道你小区的公网地址(幸福路123号),但不知道如何找到你的“卧室201”。电脑网站支付是指商户在电脑网页展示商品或服务,用户在商户页面确认使用支付宝支付时,浏览器自动跳转支付宝电脑网页完成付款的支付产品。内网穿透​​(也称为 ​​NAT 穿透​​)是一种网络技术,它能使位于局域网(内网)中的服务(如网站、服务器、远程桌面等)被公共互联网(公网)上的其他用户所访问。扩展出的一种具有可读性的条码。

2025-10-08 11:02:04 1134

原创 Java全栈面试题及答案汇总(1)

定义:查询不存在的数据,穿透缓存直击DB解决方案布隆过滤器拦截无效KEY缓存空值(短期过期)接口层参数校验多态是指同一行为的不同表现形式,即父类引用指向子类对象,调用方法时表现出子类特性。定义:将对象的创建、依赖关系管理交给Spring容器,而非手动new对象,实现组件解耦。核心思想:反转对象控制权,由容器管理Bean的生命周期和依赖注入(DI)。实现方式依赖注入:构造器注入、Setter注入、字段注入(@Autowired)。反射机制:动态加载类、创建实例、调用方法。优势。

2025-10-07 11:23:59 726

原创 分布式之抢购

新建数据库。

2025-09-25 15:47:12 1001

原创 分布式之RabbitMQ的使用(2)

ch.confirmSelect()声明开启发送方确认模式,再使用ch.waitForConfirmsOrDie()等待消息被服务器确认即可。ch.confirmSelect()声明开启发送方确认模式,再使用ch.waitForConfirms()等待消息被服务器确认即可。在springboot中编写队列时,一般在消费者创建队列就行了,生产者不需要创建队列。生产者将消息发送出去之后,消息有没有到达rabbitm服务器?异步模式的优点,就是执行效率高,不需要等待消息执行完,只需要监听消息即可。

2025-09-24 10:43:33 611

原创 分布式之RabbitMQ的使用(1)

消息队列(Message Queue,简称MQ),从字面意思上看,本质是个队列,FIFO先入先出,只不过队列中存放的内容是message而已。MQ框架非常之多,比较流行的有RabbitMq、ActiveMq、ZeroMq、kafka,以及阿里开源的RocketMQ。开发语言:Erlang – 面向并发的编程语言。

2025-09-23 23:40:01 1087

原创 SpringBoot面试

击穿:热点数据缓存刚过期,大量请求绕过缓存请求数据库,造成数据库压力大 解决方案: 缓存预热,key永不过期或者使用期间内不过期。雪崩,穿透,击穿,都是高并发场景下,大量请求查询,为找到redis存的数据,直接去查询了数据库,造成数据库压力大。雪崩:redis大量缓存同时过期,同时请求数据库,造成数据库压力大 解决方案:随机设置缓存的失效时间。穿透:查询缓存和数据库都不存在的数据,导致数据库压力大, 解决方案:缓存空对象,布隆过滤器。zset(sorted set --有序集合)

2025-09-23 11:51:29 1021

原创 RabbitMQ的安装

消息队列(Message Queue,简称MQ),从字面意思上看,本质是个队列,FIFO先入先出,只不过队列中存放的内容是message而已。MQ框架非常之多,比较流行的有RabbitMq、ActiveMq、ZeroMq、kafka,以及阿里开源的RocketMQ。开发语言:Erlang – 面向并发的编程语言。

2025-09-22 10:25:37 1217

原创 分布式之Nginx

然后当我们客户端第二次进行访问的时候,访问的是服务器b,这次我们先在服务器b去查找是否有登录成功的session,如果为空,我们再对客户端的cookie进行查找,如果cookie里面已经存储有session,那么再将cookie里面的session同步到服务器b,那么整个流程就能走通了,用户也不用再次登录;优点:用缓存来同步session,不会加大数据库的负担,也不用手动去判断session是否存在或过期,省去部分业务逻辑,同时,由于redis等缓存是存放于服务器端,安全性也大大提高;

2025-09-18 10:30:31 683

原创 分布式之分布式结构

我们的项目结构有单体式项目:是一种传统且简单的软件设计方式,其核心思想是将所有功能模块集中在一个统一的代码库中,最终打包成一个完整的应用程序进行部署和运行。一般前后端不分离。缺点:多人共同开发一个项目时边界感不强,即模块划分不明确,开发人员仅依靠口头约定各自负责的模块。这种情况容易导致代码冲突或模块被误修改。分布式项目:分模块开发。比如:四个项目只有一个启动类。上线后还是一个项目缺点:在分布式环境中维护数据一致性需要复杂的机制(如分布式事务)

2025-09-17 08:15:00 863

原创 Linux之CentOS7安装docker

这意味着官方不再提供任何更新(包括安全更新),上游镜像站(如阿里云、清华、163 等)也陆续移除了 CentOS 7 的软件仓库内容。docker的默认仓库Docker Hub下载速度在国内是很慢的,需要我们替换为阿里云的仓库。若docker 正常工作,此命令将下载一个nginx镜像,并运行它,输出一条成功的信息。输入 cat /etc/os-release 查看系统信息,确保自己的系统版本为7。若docker不正常工作,可能是镜像源有问题,需要修改镜像源。退出编辑模式,退出编辑模式下面的。

2025-09-15 08:15:00 807

空空如也

空空如也

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

TA关注的人

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