自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(314)
  • 资源 (23)
  • 收藏
  • 关注

原创 RocketMQ源码分析

RocketMQ源码分析 - 环境搭建RocketMQ源码分析 - NameServerRocketMQ源码分析 - ProducerRocketMQ源码分析 - 消息存储RocketMQ源码分析 - Consumer

2024-08-20 23:45:00 349

原创 RocketMQ源码分析 - 环境搭建

创建conf配置文件夹,从distribution拷贝broker.conf和logback_broker.xml和logback_namesrv.xml。展开namesrv模块,右键NamesrvStartup.java。配置ROCKETMO_HOME。

2024-08-20 23:45:00 586

原创 RocketMQ源码分析 - NameServer

消息中间件的设计思路一般是基于主题订阅发布的机制,消息生产者(Producer)发送某一个主题消息到消息服务器,消息服务器负责将消息持久化存储,消息消费者(Consumer)订阅该兴趣的主题,消息服务器根据订阅信息(路由信息)将消息推送到消费者(Push模式)或者消费者主动向消息服务器拉取(Pull模式),从而实现消息生产者与消息消费者解耦。NameServer与每台Broker保持长连接,并间隔10s检测Broker是否存活,如果检测到Broker宕机,则从路由注册表中删除。

2024-08-20 23:45:00 897

原创 RocketMQ源码分析 - Producer

/创建主题//根据时间戳从队列中查找消息偏移量//查找消息队列中最大的偏移量//查找消息队列中最小的偏移量 long minOffset(final MessageQueue mq)//根据偏移量查找消息//根据条件查找消息//根据消息ID和主题查找消息//启动//关闭//查找该主题下所有消息//同步发送消息//同步超时发送消息//异步发送消息//异步超时发送消息//发送单向消息//选择指定队列同步发送消息。

2024-08-20 23:45:00 907

原创 RocketMQ源码分析 - 消息存储

RocketMQ源码分析 - 消息存储消息存储1) 消息存储核心类2) 消息存储流程3) 存储文件4) 存储文件内存映射1 MappedFileQueue2 MappedFile3 TransientStorePool5) 实时更新消息消费队列与索引文件1 转发到ConsumerQueue2 转发到Index6) 消息队列喝索引文件恢复1 存储文件加载2 正常恢复3 异常恢复7) 刷盘机制1 同步刷盘2 异步刷盘8) 过期文件删除机制9) 小结消息存储1) 消息存储核心类private final

2024-08-20 23:45:00 949

原创 RocketMQ源码分析 - Consumer

消息消费以组的模式开展,一个消费组内可以包含多个消费者,每一个消费者组可订阅多个主题,消费组之间有集群模式和广播模式两种消费模式。集群模式,主题下的同一条消息只允许被其中一个消费者消费。广播模式,主题下的同一条消息,将被集群内的所有消费者消费一次。消息服务器与消费者之间的消息传递也有两种模式:推模式、拉模式。所谓的拉模式,是消费端主动拉起拉消息请求,而推模式是消息达到消费服务端后,推送给消息消费者。RocketMQ消息推模式的实现基于拉模式,在拉模式上包装一层,一个拉取任务完成后开始下一个拉取任务。

2024-08-20 23:45:00 963

原创 Docker 容器网络及其配置说明

自定义 docker0 网桥的网络属性信息需要修改 /etc/docker/daemon.json 配置文件在客户端上像 dockerd 直接传递 "-H|–host"选项指定要控制哪台主机上的 docker 容器/ #再创建一个容器,使用默认的bridge桥/ # ls/ #

2024-07-06 23:45:00 1442

原创 rocketmq-console可视化界面功能说明

(1) Broker TOP 10 :是指集群中的Broker列表,可以查看broker处理消息的数量。rocketmq-console是rocketmq的一款可视化工具,提供了mq的使用详情等功能。(3) 主题 TOP 10 : 是集群中Topic的列表,查看所有topic的消息数量。(2) Broker 5min trend : 五分钟内Broker的趋势信息。TopicTest是rocketmq系统自带的Topic,默认配置有4个队列。(4) 筛选出某个Topic下5分钟的消息数量。

2024-07-06 23:45:00 762

原创 Docker的理解

UnionFS使用branch(分子)将不同文件系统的文件和目录透明叠加覆盖, 形成一个单一一致的文件系统, 此外UnionFS使用写时复制(Copy on Write,简称, CoW)技术来提高合并后文件系统的资源利用。Docker镜像分层、增量增加等功能正是通过利用AUFS的分层文件系统结构、增量增加等功能实现, 这也导致了运行Docker容器如果没有指定volume(数据卷)或bind mount, 则Docker容器结束后,运行时产生的数据便丢失了。

2024-06-27 23:45:00 1167

原创 Kubernetes实现应用零宕机

Kubernetes确实有神奇的作用,但只有当应用程序尽可能是云原生且配置正确时,它才能发挥神奇作用。最少两个实例添加健康检查(探针)应用程序必须处理Sigterm配置自动缩放器给予足够的资源使用pod反亲和力添加PDB如果一切设置正确,Kubernetes体验将令人难以置信,你将大大减少应用停机情况。

2024-06-27 23:45:00 562

原创 Kubernetes架构详解

Kubernetes的核心组件部署在Master管理节点上,主要作用是作为Kubernetes的"大脑",控制整个分布式集群的运转,Node节点作为"四肢",执行Master的操作指令。Scheduler调度程序会监视来自API Server的新请求,并将其分配给运行状态良好的节点,比如:对节点的质量进行排名,并将Pod部署到最适合的节点。在Kubernetes中,Pod是调度的最小元素,没有它容器就不能成为集群的一部分,主节点会把Pod调度到特定工作节点上,并与容器运行时协调以启动容器。

2024-06-12 23:45:00 919

原创 K8S功能详解

Kubernetes工作节点(Node)通过:Kubelet、Kube-proxy和容器运行时等组件,提供了强大的容器运行环境。K8S全称是"Kubernetes",是一个容器编排平台,用于自动化应用程序的部署、扩展和管理,由谷歌(Google)开发。1.容器编排:Kubernetes(K8S)的核心功能之一,容器编排可以自动管理、协调容器化应用程序的部署、扩展和运行。等,确保集群状态与期望状态一致。以及,监控未绑定到节点的Pod,并根据预定义的策略和约束,将其分配到合适的节点上。

2024-06-12 23:45:00 1400

原创 Docker 是什么? Docker 和 k8s 之间是什么关系?

Docker 本质上就是一个将程序和环境打包并运行的工具软件,而 Docker 容器本质上只是个自带独立运行环境的特殊进程,底层用的其实是宿主机的操作系统内核。Docker 软件 通过 Dockerfile 描述环境和应用程序的依赖关系, docker build 构建镜像, docker pull/push 跟 Docker Registry 交互实现存储和分发镜像,docker run 命令基于镜像启动容器,基于容器技术运行程序和它对应的环境,从而解决环境依赖导致的各种问题。

2024-05-20 23:30:00 963

原创 Spring Boot优雅重试调用第三方API

Spring Retry是Spring框架提供的一个模块,它通过提供注解或编程的方式,帮助我们实现方法级别的重试机制。在Spring Boot中,可以很方便地集成并使用Spring Retry。在Spring Boot项目中,通过集成Spring Retry模块,我们可以优雅地实现对第三方API调用的重试机制。通过@Retryable注解,我们能够很方便地在方法级别上添加重试策略。同时,异步方法和异常类型的支持使得我们能够更灵活地应对不同的业务场景。

2024-05-20 08:50:28 590

原创 RocketMQ消息发送样例

顺序消息的原理解析:在默认的情况下消息发送会采取Round Robin轮询方式把消息发送到不同的queue(分区队列);消费者将接收包含TAGA或TAGC的消息,但是限制是一个消息只能有一个标签,这对于复杂的场景可能不起作用。限制是这些批量消息应该有相同的topic,相同的waitStoreMsgOK,而且不能是延时消息。上图说明了事务消息的大致方案,其中分为两个流程:正常事务消息的发送及提交、事务消息的补偿流程。消费者采用负载均衡方式消费消息,多个消费者共同消费队列消息,每个消费者处理的消息不同。

2024-04-10 23:30:00 1122

原创 Spring Boot实现跨域的5种方式

当一个请求url的协议、域名、端口三者之间任意一个与当前页面url不同即为跨域当前页面url被请求页面url是否跨域原因否同源(协议、域名、端口号相同)跨域协议不同 (http/https)跨域主域名不同 (test/baidu)跨域子域名不同 (www/bloq)跨域端口号不同 (8080/7001)首先编写一个过滤,可以起名字为MyCorsFilter.java@Component@Override@Override@Override。

2024-04-10 23:30:00 1071 1

原创 安装RocketMQ报错汇总

原因在于如果我们已经创建好了store文件夹作为存储路径,并且broker的配置文件中写的是同一个路径,就会起冲突。修改broker-b-s.properties配置文件中的rocketmq路径,改成rocketmq1。

2024-03-18 11:49:05 429

原创 Centos启用rc-local服务

大多时候我们可以在/etc/rc.d/rc.local中写一些命令来实现随着服务器的启动(重启)运行自己的程序或服务,但是配置后无法启动,查看了下rc-local.service服务状态显示未启动。static;Condition: start condition failed at 五 2024-03-15 15:40:37 CST;2s ago。

2024-03-17 23:04:56 844

原创 RocketMQ集群搭建

Producer:消息的发送者;举例:发信者Consumer:消息的接收者;举例:收信者Broker:暂存和传输消息;举例:邮局NameServer:管理Broker;举例:各个邮局的管理机构Topic:区分消息的种类;一个发送者可以发送消息给一个或者多个Topic;一个消息的接收者可以订阅一个或者多个Topic消息Message Queue:相当于是Topic的分区;用于并行发送和接收消息。

2024-03-15 18:41:58 1037

原创 MQ 介绍

为什么要用MQMQ的优点和缺点各种MQ产品的比较。

2024-03-12 23:45:00 882

原创 RocketMQ快速入门

bin:启动脚本,包括shell脚本和CMD脚本conf:实例配置文件,包括broker配置文件、logback配置文件等lib:依赖jar包,包括Netty、commons-lang、FastJSON等。

2024-03-12 23:45:00 2034

原创 Python学习路线 - Python高阶技巧 - SQL入门和实战

不管是何种开发语言,亦或是何种开发方向,SQL都是开发人员无法绕开的话题。除了一门趁手的编程语言外,SQL语言也是开发人员人人必备的开发技能。信息化社会,无处不在的就是数据。编程语言可以归纳为,数据的计算一类。那数据的存储呢?MySQL数据库管理系统由瑞典的DataKonsultAB公司研发,该公司被Sun公司收购,现在Sun公司又被Oracle公司收购,因此MySQL目前属于 Oracle 旗下产品。

2024-02-06 23:00:00 1152

原创 Python学习路线 - Python语言基础入门 - 面向对象

在上一节中,我们简单了解到可以使用类去封装属性,并基于类创建出一个个的对象来使用。现在我们来看看类的使用语法:在类中定义成员方法和定义函数基本一致,但仍有细微区别:可以看到,在方法定义的参数列表中,有一个:self关键字self关键字是成员方法定义的时候,必须填写的。它用来表示类对象自身的意思当我们使用类对象调用方法的时,self会自动被python传入在方法内部,想要访问类的成员变量,必须使用self。

2024-02-06 08:44:10 964

原创 Python学习路线 - Python高阶技巧 - PySpark案例实战

定义:Apache Spark是用于大规模数据(large-scala data)处理的统一(unified)分析引擎。简单来说,Spark是一款分布式的计算框架,用于调度成百上千的服务器集群,计算TB、PB乃致EB级别的海量数据。

2024-02-05 23:00:00 2483

原创 Python学习路线 - Python高阶技巧 - 拓展

1.什么是闭包定义双层嵌套函数, 内层函数可以访问外层函数的变量将内存函数作为外层函数的返回,此内层函数就是闭包函数2.闭包的好处和缺点。

2024-02-05 23:00:00 1743

原创 Python学习路线 - Python语言基础入门 - Python基础综合案例 - 数据可视化 - 动态柱状图

1.通过Bar()构建一个柱状图对象2.和折线图一样,通过add_xaxis()和add_yaxis()添加x和y轴数据3.通过柱状图对象的:reversal_axis(),反转x和y轴4.通过label_opts=LabelOpts(position=“right”)设置数值标签在右侧显示。

2023-12-24 10:48:42 1529

原创 Python学习路线 - Python语言基础入门 - Python基础综合案例 - 数据可视化 - 地图可视化

上述代码执行后输出,每个省的确诊数据。参考国内疫情地图生成河南省疫情地图。把各市数据汇总到一个列表中。获取每个省份的确诊数据。数据整体结构(全国)

2023-12-24 10:48:07 1014 1

原创 Python学习路线 - Python语言基础入门 - Python基础综合案例 - 数据可视化 - 折线图

本案例数据全部来自 <<百度疫情实时大数据报告>>,及公开的全球各国GDP数据。使用的技术Echarts 是个由百度开源的数据可视化,凭借着良好的交互性,精巧的图表设计,得到了众多开发者的认可. 而 Python 是门富有表达力的语言,很适合用于数据处理. 当数据分析遇上数据可视化时pyecharts 诞生了。JSON是一种轻量级的数据交互格式。可以按照JSON指定的格式去组织和封装数据JSON本质上是一个带有特定格式的字符串。

2023-12-23 09:54:16 1426

原创 Python学习路线 - Python语言基础入门 - Python异常、模块与包

当检测到一个错误时,Python解释器就无法继续执行了,反而出现了一些错误的提示,这就是所谓的"异常",也就是我们常说的BUGPython 模块(Module),是一个Python文件,以.py结尾。模块能定义函数,类和变量,模块里也能包含可执行的代码。模块的作用:Python中很多各种不同的模块,每一个模块都可以帮助我们快速的实现一些功能,比如实现和时间相关的功能就可以使用time模块。我们可以认为一个模块就是一个工具包,每一个工具包中都有各种不同的工具供我们使用进而实现各种不同的功能。

2023-12-23 09:53:17 1031

原创 Python学习路线 - Python语言基础入门 - 函数进阶

1.掌握位置参数。

2023-12-16 16:17:45 122

原创 Python学习路线 - Python语言基础入门 - 数据容器

基本语法列表内的每一个数据,称之为元素已 [] 作为标识列表内每一个元素之间用,逗号隔开列表的定义方式案例演示:使用[]的方式定义列表注意:列表可以一次存储多个数据,且可以为不同的数据类型,支持嵌套"""演示数据容器之:list列表语法:[元素,元素,....]"""# 定义一个列表list# 定义一个嵌套的列表总结1.列表的定义语法[元素1, 元素2, 元素3, …]2.什么是元素?数据容器内的每一份数据,都称之为元素3.元素的类型有限制吗?

2023-12-16 16:16:47 202

原创 Python学习路线 - Python语言基础入门 - 函数使用

函数:是组织好的,可重复使用的,用来实现特定功能的代码段。为什么随时都可以使用len()统计长度?是提前写好的可以重复使用实现统计长度这一特定功能的代码段我们使用过的:input()、print()、str()、int()等都是Python的内置函数函数的定义:函数的调用:"" "演示函数的定义语法 "" "# 定义一个函数,输出相关信息def say_hi() : print(f "Hi 我是mry,开始自学Python") # 调用函数,让定义的函数开始工作 say_hi()

2023-12-09 10:43:28 238

原创 Python学习路线 - Python语言基础入门 - 循环语句

循环普遍存在于日常生活中,同样,在程序中,循环功能也是至关重要的基础功能。

2023-12-09 10:42:53 88

原创 Python学习路线 - Python语言基础入门 - 学习汇总

Python学习路线 - Python语言基础入门 - 学习汇总目录准备工作基础语法判断语句功能快捷键功能快捷键功能快捷键功能快捷键功能快捷键功能快捷键功能快捷键功能快捷键目录准备工作基础语法判断语句功能快捷键功能快捷键功能快捷键功能快捷键功能快捷键功能快捷键功能快捷键功能快捷键

2023-12-03 11:21:50 317

原创 Python学习路线 - Python语言基础入门 - 判断语句

进行逻辑判断,是生活中常见的行为。同样,在程序中,进行逻辑判断也是最为基础的功能。为什么学习判断语句判断在程序中广泛应用,如果没有它,这些功能都难以实现。True 表示真 (是、肯定)False 表示假 (否、否定)定义变量存储布尔类型数据:变量名称 = 布尔类型字面量。

2023-12-03 11:11:49 300

原创 Python学习路线 - Python语言基础入门 - 基础语法

字面量:在代码中,被写下来的固定的值,称之为字面量。变量:在程序运行时,能存储计算结果或能表示值的抽象概念。简单的说,变量就是在程序运行时,记录数据用的变量的定义格式变量名称 = 变量的值1.每一个变量都有自己的名称,称之为:变量名,也就是变量本身2.每一个变量都有自己存储的值(内容),称之为:变量值3.登号是赋值,表示将登号右侧的值,赋予左侧的变量"" "演示Python中变量的相关操作 "" "# 定义一个变量,用来记录钱包余额。

2023-12-02 11:41:17 143

原创 Python学习路线 - Python语言基础入门 - 准备工作

编程语言:用于人类和计算机进行交流的一种语言,通过编写编程语言的代码,去指挥计算机工作。它无法直接和计算机沟通,需要翻译工具(解释器或编译器)将代码翻译成二进制,从而实现和计算机的畅顺沟通。

2023-12-02 11:38:37 99

原创 SPI ServiceLoader.load()无法加载实现类

[TOC](SPI ServiceLoader.load()无法加载实现类)

2023-08-20 22:30:00 522

原创 SpringBoot 插件化开发

插件化开发模式正在很多编程语言或技术框架中得以广泛的应用实践,比如大家熟悉的jenkins,docker可视化管理平台rancher,以及日常编码使用的编辑器idea,vscode等,随处可见的带有热插拔功能的插件,让系统像插了翅膀一样,大大提升了系统的扩展性和伸缩性,也拓展了系统整体的使用价值,那么为什么要使用插件呢?

2023-08-19 23:45:00 979 1

原创 调整Docker本地镜像和容器的存储位置

默认 Docker 的存放位置为:/var/lib/docker。

2023-08-19 22:45:00 393

rocketmq-demo

rocketmq-demo

2024-03-31

echarts 所用到的js

echarts 所用到的js

2022-05-25

PowerDesigner相关安装包

PowerDesigner相关安装包

2022-03-03

mall_app_web.zip

11111111111111111111111111111111

2022-01-04

docker-compose-linux-x86_64

docker-compose可执行脚本

2021-12-31

redis.tar 可以离线安装redis镜像,便于在无网的环境下使用。

可以离线安装redis镜像,便于在无网的环境下使用。

2021-12-01

jsPag.zip 是 jQuery分页插件

jQuery分页插件

2021-04-29

后台管理系统一.zip

一个 Java EE 企业级快速开发平台,基于经典技术组合(Spring Boot、Spring Security、MyBatis、Jwt、Vue),内置模块如:部门管理、角色用户、菜单及按钮授权、数据权限、系统参数、日志管理、代码生成等。在线定时任务配置;支持集群,支持多数据源。

2020-11-09

dubbo-admin-develop.zip

dubbo-admin是Dubbo RPC框架的“管理端”,可以对注册的服务(provider)和服务调用方(comsumer)进行服务治理,包括路由、监控、配置等功能;

2020-10-27

jdk-8u161-linux-x64.tar.gz 压缩包

Java Development Kit (JDK) 是Sun公司(已被Oracle收购)针对Java开发员的软件开发工具包。自从Java推出以来,JDK已经成为使用最广泛的Java SDK(Software development kit)。

2020-10-26

VMware-workstation-full-16.0.0-16894299.rar

VMware总部位于美国加州帕洛阿尔托(Palo Alto),是全球云基础架构和移动商务解决方案厂商,提供基于VMware的解决方案,企业通过数据中心改造和公有云整合业务,借助企业安全转型维系客户信任 ,实现任意云端和设备上运行、管理、连接及保护任意应用。

2020-09-21

nexus-3.19.1-01.zip

Nexus是Maven的仓库管理器,用来搭建一个本地仓库服务器,这样做的好处便于管理,节约网络资源, 速度快,可以通过SNAPSHOT版本控制,开进行模块间的高效依赖开发。

2020-09-21

Zookeeper可视化工具ZooInspector

Zookeeper可视化工具ZooInspector

2020-09-17

upload_file.js 下载

用来操作附件上传功能

2020-08-20

layui.css 下载

layer是一款近年来备受青睐的web弹层组件,她具备全方位的解决方案,致力于服务各水平段的开发人员,您的页面会轻松地拥有丰富友好的操作体验。

2020-08-20

upload-file.css

上传附件自定义css,是页面样式的集合

2020-08-20

jquery-1.8.3.min.zip

jQuery是一个快速、简洁的JavaScript框架,是继Prototype之后又一个优秀的JavaScript代码库(或JavaScript框架)。jQuery设计的宗旨是“write Less,Do More”,即倡导写更少的代码,做更多的事情。它封装JavaScript常用的功能代码,提供一种简便的JavaScript设计模式,优化HTML文档操作、事件处理、动画设计和Ajax交互。

2020-08-20

layer.js 下载

layer是一款近年来备受青睐的web弹层组件,她具备全方位的解决方案,致力于服务各水平段的开发人员,您的页面会轻松地拥有丰富友好的操作体验。

2020-08-18

layui.all.js 下载

layui.all.js的好处是你引用里面有的模块将不用用模块化的写法引入,在js文件中可以直接用layui.table这样用。

2020-08-18

layui.js 下载

layui(谐音:类UI) 是一款采用自身模块规范编写的前端 UI 框架,遵循原生 HTML/CSS/JS 的书写与组织形式,门槛极低,拿来即用。其外在极简,却又不失饱满的内在,体积轻盈,组件丰盈,从核心代码到 API 的每一处细节都经过精心雕琢,非常适合界面的快速开发。layui 首个版本发布于 2016 年金秋,她区别于那些基于 MVVM 底层的 UI 框架,却并非逆道而行,而是信奉返璞归真之道。准确地说,她更多是为服务端程序员量身定做,你无需涉足各种前端工具的复杂配置,只需面对浏览器本身,让一切你所需要的元素与交互,从这里信手拈来。

2020-08-18

SpringBootKafka.zip

SpringBoot整合Kafka案例,用来演示SpringBoot与Kafka整合.

2020-07-22

elastic-job-lite-console-2.1.5.tar.gz

elastic-job监控平台搭建所需要的压缩包,大家有需要的可以自行下载,如果应用中遇到问题可以一起讨论。

2020-04-03

ObjectFactory.java

JAXB对package包下所有对象编组需要的ObjectFactory.java类

2020-03-25

jaxb.index

JAXB对package包下所有对象编组需要的jaxb.index文件

2020-03-25

空空如也

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

TA关注的人

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