自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

博客包含书籍、B站、其他博主博客等内容,只为了记录笔记,作业,问题,软件配置等,为了以后方便查阅,如有侵权,请联系删除

博客包含书籍、B站、其他博主博客等内容,只为了记录笔记,作业,问题,软件配置等,为了以后方便查阅,如有侵权,请联系删除

  • 博客(105)
  • 收藏
  • 关注

原创 RabbitMQ部署指南

我们在Centos7虚拟机中使用Docker来安装。

2023-06-09 22:41:30 1826 1

原创 【高级篇】服务异步通信

每个RabbitTemplate只能配置一个ReturnCallback,因此需要在项目加载时配置:// 获取RabbitTemplate RabbitTemplate rabbitTemplate = applicationContext . getBean(RabbitTemplate . class);

2023-06-09 22:35:45 1415

原创 安装和配置Canal

下面我们就开启mysql的主从同步机制,让Canal来模拟salve。

2023-06-08 21:08:25 905

原创 安装OpenResty

首先你的Linux虚拟机必须联网你可以在你的 CentOS 系统中添加openresty仓库,这样就可以便于未来安装或更新我们的软件包(通过命令)。然后再重复上面的命令然后就可以像下面这样安装软件包,比如openrestyopm是OpenResty的一个管理工具,可以帮助我们安装一个第三方的Lua模块。如果你想安装命令行工具opm,那么可以像下面这样安装默认情况下,OpenResty安装的目录是:/usr/local/openresty。

2023-06-08 21:07:02 1067

原创 【高级篇】多级缓存

传统的缓存策略一般是请求到达Tomcat后,先查询Redis,如果未命中则查询数据库,如图:存在下面的问题:请求要经过Tomcat处理,Tomcat的性能成为整个系统的瓶颈Redis缓存失效时,会对数据库产生冲击浏览器访问静态资源时,优先读取浏览器本地缓存访问非静态资源(ajax查询数据)时,访问服务端请求到达Nginx后,优先读取Nginx本地缓存如果Nginx本地缓存未命中,则去直接查询Redis(不经过Tomcat)如果Redis查询未命中,则查询Tomcat。

2023-06-08 21:06:53 2502

原创 Redis集群

我们需要执行命令来创建集群,在Redis5.0之前创建集群比较麻烦,5.0之后集群管理命令都集成到了redis-cli中。修改redis-6.2.4/redis.conf文件,将其中的持久化模式改为默认的RDB模式,AOF保持关闭状态。要在同一台虚拟机开启3个实例,必须准备三份不同的配置文件和目录,配置文件所在目录也就是工作目录。要在同一台虚拟机开启3个实例,必须准备三份不同的配置文件和目录,配置文件所在目录也就是工作目录。这里我们搭建一个三节点形成的Sentinel集群,来监管之前的Redis主从集群。

2023-06-07 16:23:06 1181

原创 【高级篇】分布式缓存

基于Redis集群解决单机Redis存在的问题。

2023-06-07 16:18:50 1312

原创 seata的部署和集成

首先我们要下载seata-server包,地址在。

2023-06-06 18:21:25 1515

原创 【高级篇】分布式事务

本地事务,也就是传统的。

2023-06-06 18:17:36 1255

原创 Jmeter快速入门

Jmeter依赖于JDK,所以必须确保当前计算机上已经安装了JDK,并且配置了环境变量。

2023-06-05 23:19:03 294

原创 【高级篇】微服务保护

什么是雪崩问题?微服务之间相互调用,因为调用链中的一个服务故障,引起整个链路都无法访问的情况。限流是对服务的保护,避免因瞬间高并发流量而导致服务故障,进而避免雪崩。是一种预防措施。超时处理、线程隔离、降级熔断是在部分服务故障时,将故障控制在一定范围,避免雪崩。是一种补救措施。Sentinel是阿里巴巴开源的一款微服务流量控制组件。官网地址:https://sentinelguard.io/zh-cn/index.html丰富的应用场景。

2023-06-05 23:14:28 355

原创 【实用篇】Elasticsearch03

默认的拼音分词器会将每个汉字单独分为拼音,而我们希望的是每个词条形成一组拼音,需要对拼音分词器做个性化定制,形成自定义分词器。character filters:在tokenizer之前对文本进行处理。例如删除字符、替换字符tokenizer:将文本按照一定的规则切割成词条(term)。例如keyword,就是不分词;还有ik_smarttokenizer filter:将tokenizer输出的词条做进一步处理。

2023-06-04 21:58:13 1657

原创 【实用篇】Elasticsearch02

match和multi_match的区别是什么?match:根据一个字段查询multi_match:根据多个字段查询,参与查询字段越多,查询性能越差精确查询常见的有哪些?term查询:根据词条精确匹配,一般搜索keyword类型、数值类型、布尔类型、日期类型字段range查询:根据数值范围查询,可以是数值、日期的范围query:查询条件from和size:分页条件sort:排序条件highlight:高亮条件。

2023-06-03 17:04:32 1648

原创 【实用篇】Elasticsearch01

什么是elasticsearch?一个开源的分布式搜索引擎,可以用来实现搜索、日志统计、分析、系统监控等功能什么是elastic stack(ELK)?是以elasticsearch为核心的技术栈,包括beats、Logstash、kibana、elasticsearch什么是Lucene?是Apache的开源搜索引擎类库,提供了搜索引擎的核心API分词器的作用是什么?创建倒排索引时对文档分词用户搜索时,对输入的内容分词IK分词器有几种模式?ik_smart:智能切分,粗粒度。

2023-06-02 18:04:54 758

原创 【实用篇】RabbitMQ

基本消息队列的消息发送流程:建立connection创建channel利用channel声明队列利用channel向队列发送消息基本消息队列的消息接收流程:建立connection创建channel利用channel声明队列定义consumer的消费行为handleDelivery()利用channel将消费者与队列绑定多个消费者绑定到一个队列,同一条消息只会被一个消费者处理通过设置prefetch来控制消费者预取的消息数量交换机的作用是什么?接收publisher发送的消息。

2023-06-02 09:10:26 443

原创 【实用篇】Docker

微服务虽然具备各种各样的优势,但服务的拆分通用给部署带来了很大的麻烦。分布式系统中,依赖的组件非常多,不同组件之间部署时往往会产生一些冲突。在数百上千台服务中重复部署,环境不一定一致,会遇到各种问题**数据卷(volume)**是一个虚拟目录,指向宿主机文件系统中的某个目录。一旦完成数据卷挂载,对容器的一切操作都会作用在数据卷对应的宿主机目录了。这样,我们操作宿主机的/var/lib/docker/volumes/html目录,就等于操作容器内的/usr/share/nginx/html目录了。

2023-06-01 08:59:40 1583

原创 【实用篇】SpringCloud02

使用Feign的步骤:① 引入依赖② 添加@EnableFeignClients注解③ 编写FeignClient接口④ 使用FeignClient中定义的方法代替RestTemplate类型作用说明修改日志级别包含四种不同的级别:NONE、BASIC、HEADERS、FULL响应结果的解析器http远程调用的结果做解析,例如解析json字符串为java对象请求参数编码将请求参数编码,便于通过http请求发送支持的注解格式默认是SpringMVC的注解失败重试机制。

2023-05-30 22:24:41 1767

原创 【实用篇】SpringCloud01

单体架构:简单方便,高度耦合,扩展性差,适合小型项目。例如:学生管理系统分布式架构:松耦合,扩展性好,但架构复杂,难度大。适合大型互联网项目,例如:京东、淘宝微服务:一种良好的分布式架构方案①优点:拆分粒度更小、服务更独立、耦合度更低②缺点:架构非常复杂,运维、监控、部署难度提高SpringCloud是微服务架构的一站式解决方案,集成了各种优秀微服务功能组件SpringCloudRibbon的底层采用了一个拦截器,拦截了RestTemplate发出的请求,对地址做了修改。

2023-05-29 20:19:39 1209

原创 【Hadoop】四、Hadoop生态综合案例 ——陌陌聊天数据分析

背景介绍陌陌作为聊天平台每天都会有大量的用户在线,会出现大量的聊天数据,通过对 聊天数据的统计分析 ,可以更好的对用户构建精准的用户画像,为用户提供更好的服务以及实现高ROI的平台运营推广,给公司的发展决策提供精确的数据支撑。FineBI的介绍:https://www.finebi.com/FineBI 是帆软软件有限公司推出的一款商业智能(BusinessIntelligence)产品。FineBI 是定位于自助大数据分析的BI 工具,能够帮助企业的业务人员和数据分析师,开展以问题导向的探索式分析。

2023-05-21 14:26:35 2524

原创 【Hadoop】三、数据仓库基础与Apache Hive入门

什么是HiveApache Hive是一款建立在Hadoop之上的开源数据仓库系统,可以将存储在Hadoop文件中的结构化、半结构化数据文件映射为一张数据库表,基于表提供了一种类似SQL的查询模型,称为Hive查询语言(HQL),用于访问和分析存储在Hadoop文件中的大型数据集。Hive核心是将HQL转换为MapReduce程序,然后将程序提交到Hadoop群集执行。Hive由Facebook实现并开源。为什么使用Hive使用Hadoop MapReduce直接处理数据所面临的问题。

2023-05-21 14:17:17 1155

原创 【Hadoop】二、Hadoop MapReduce与Hadoop YARN

分布式计算概念分布式计算是一种计算方法,和集中式计算是相对的。随着计算技术的发展,有些应用需要非常巨大的计算能力才能完成,如果采用集中式计算,需要耗费相当长的时间来完成。分布式计算将该应用分解成许多小的部分,分配给多台计算机进行处理。这样可以节约整体计算时间,大大提高计算效率。MapReduce介绍Hadoop MapReduce是一个分布式计算框架,用于轻松编写分布式应用程序,这些应用程序以可靠,容错的方式并行处理大型硬件集群(数千个节点)上的大量数据(多TB数据集)。

2023-05-21 14:04:02 2130 2

原创 【Hadoop】一、Apache Hadoop、 HDFS

Hadoop介绍狭义上Hadoop指的是Apache软件基金会的一款开源软件。用java语言实现,开源 允许用户使用简单的编程模型实现跨机器集群对海量数据进行分布式计算处理Hadoop核心组件Hadoop HDFS(分布式文件存储系统):解决海量数据存储Hadoop YARN(集群资源管理和任务调度框架):解决资源任务调度Hadoop MapReduce(分布式计算框架):解决海量数据计算官网 http://hadoop.apache.org。

2023-05-21 13:57:25 1044

原创 【瑞吉外卖开发笔记】

瑞吉外卖开发笔记源码地址一、业务开发Day011、软件开发整体介绍软件开发流程角色分工软件环境2、瑞奇外卖项目介绍项目介绍产品原型展示技术选型功能架构角色3、环境搭建开发环境搭建数据库环境搭建运行对应db_reggie.sql文件Maven项目搭建新建Springboot项目导入依赖<dependencies> <!-- web启动类--> <dependency&gt

2023-05-14 23:38:32 1154

原创 【SpringBoo2】SpringBoot原理篇

​ 由于方式一种需要将spring管控的bean全部写在xml文件中,对于程序员来说非常不友好,所以就有了第二种方式。哪一个类要受到spring管控加载成bean,就在这个类的上面加一个注解,还可以顺带起一个bean的名字(id)。这里可以使用的注解有@Component以及三个衍生注解@Service、@Controller、@Repository。​ 当然,由于我们无法在第三方提供的技术源代码中去添加上述4个注解,因此当你需要加载第三方开发的bean的时候可以使用下列方式定义注解式的bean。

2023-04-20 09:14:25 784

原创 【SpringBoot2】SpringBoot开发实用篇

​ 什么是热部署?简单说就是你程序改了,现在要重新启动服务器,嫌麻烦?不用重启,服务器会自己悄悄的把更新后的程序给重新加载一遍,这就是热部署。​ 热部署的功能是如何实现的呢?这就要分两种情况来说了,非springboot工程和springboot工程的热部署实现方式完全不一样。先说一下原始的非springboot项目是如何实现热部署的。非springboot项目热部署实现原理​ 开发非springboot项目时,我们要制作一个web工程并通过tomcat启动,通常需要先安装tomcat服务器到磁盘中,

2023-04-20 08:59:00 1495

原创 【SpringBoot2】SpringBoot运维实用篇

​ 之前咱们做配置使用的配置文件都是application.yml,其实这个文件也是可以改名字的,这样方便维护。比如我2020年4月1日搞活动,走了一组配置,2020年5月1日活动取消,恢复原始配置,这个时候只需要重新更换一下配置文件就可以了。但是你总不能在原始配置文件上修改吧,不然搞完活动以后,活动的配置就留不下来了,不利于维护。方式一:使用临时属性设置配置文件名,注意仅仅是名称,不要带扩展名方式二:使用临时属性设置配置文件路径,这个是全路径名​ 也可以设置加载多个配置文件。

2023-04-17 11:04:56 243

原创 【SpringBoot2】SpringBoot基础篇

​ 学习任意一项技术,首先要知道这个技术的作用是什么,不然学完以后,你都不知道什么时候使用这个技术,也就是技术对应的应用场景。SpringBoot技术由Pivotal团队研发制作,功能的话简单概括就是加速Spring程序的开发,这个加速要从如下两个方面来说​ 通过上面两个方面的定位,我们可以产生两个模糊的概念:​ 带着上面这些疑问我们就着手第一个SpringBoot程序的开发了,看看到底使用SpringBoot技术能简化开发到什么程度。​ 下面使用SpringBoot技术快速构建一个SpringMVC的

2023-04-17 09:20:10 512

原创 【MySQL高级篇】 第16章_多版本并发控制

使用隔离级别的事务,由于可以读到未提交事务修改过的记录,所以直接读取记录的最新版本就好了。使用隔离级别的事务,InnoDB规定使用加锁的方式来访问记录。使用和隔离级别的事务,都必须保证读到已经提交了的事务修改过的记录。假如另一个事务已经修改了记录但是尚未提交,是不能直接读取最新版本的记录的,核心问题就是需要判断一下版本链中的哪个版本是当前事务可见的,这是ReadView要解决的主要问题。,创建这个 Read View 的事务 ID。

2023-04-07 09:49:44 339

原创 【MySQL高级篇】第15章_锁

在数据库中,除传统的计算资源(如CPU、RAM、I/O等)的争用以外,数据也是一种供许多用户共享的 资源。为保证数据的一致性,需要对并发操作进行控制,因此产生了锁。同时锁机制也为实现MySQL 的各个隔离级别提供了保证。锁冲突也是影响数据库并发访问性能的一个重要因素。所以锁对数据库而言显得尤其重要,也更加复杂。

2023-04-07 09:34:33 221

原创 【MySQL高级篇】第14章_MySQL事务日志

事务有4种特性:原子性、一致性、隔离性和持久性。那么事务的四种特性到底是基于什么机制实现呢?锁机制重做日志回滚日志有的DBA或许会认为 UNDO 是 REDO 的逆过程,其实不然。REDO 和 UNDO都可以视为是一种恢复操作"物理级别"逻辑操作事务的回滚逆操作一致性非锁定读。

2023-04-07 09:02:10 396

原创 【MySQL高级篇】第13章_事务基础知识

命令来查看当前 MySQL 支持的存储引擎都有哪些,以及这些存储引擎是否支持事务。能看出在 MySQL 中,只有InnoDB 是支持事务的。

2023-04-07 08:46:16 756

原创 【MySQL高级篇】 第12章_数据库其它调优策略

如何确定呢?一般情况下,有如下几种方式:我们需要调优的对象是整个数据库管理系统,它不仅包括 SQL 查询,还包括数据库的部署配置、架构 等。从这个角度来说,我们思考的维度就不仅仅局限在 SQL 优化上了。通过如下的步骤我们进行梳理:物理查询优化是在确定了逻辑查询优化之后,采用物理优化技术(比如索引等),通过计算代价模型对 各种可能的访问路径进行估算,从而找到执行方式中代价最小的作为执行计划。在这个部分中,我们需要掌握的重点是对索引的创建和使用。除了可以对 SQL 本身进行优化以外,我们还可以请外援提升查询的

2023-04-03 10:13:33 380

原创 【MySQL高级篇】第11章_数据库的设计规范

规范化 vs 性能为满足某种商业目标 , 数据库性能比规范化数据库更重要在数据规范化的同时 , 要综合考虑数据库的性能通过在给定的表中添加额外的字段,以大量减少需要从中搜索信息所需的时间通过在给定的表中插入计算列,以方便查询。

2023-04-03 10:00:12 1102

原创 【MySQL高级篇】 第10章_索引优化与查询优化

理解方式一:索引是高效找到行的一个方法,但是一般数据库也能使用索引找到一个列的数据,因此它不必读取整个行。毕竟索引叶子节点存储了它们索引的数据;当能通过读取索引就可以得到想要的数据,那就不需要读取行了。一个索引包含了满足查询结果的数据就叫做覆盖索引。理解方式二:非聚簇复合索引的一种形式,它包括在查询里的SELECT、JOIN和WHERE子句用到的所有列 (即建索引的字段正好是覆盖查询条件中所涉及的字段)。简单说就是,索引列+主键包含SELECT 到 FROM之间查询的列。

2023-04-03 09:04:33 387

原创 3956.截断数组

现在,要将该数组从中间截断,得到三个非空子数组。前六个测试点满足 1 ≤ n ≤ 10。要求,三个子数组内各元素之和都相等。请问,共有多少种不同的截断方法?输出一个整数,表示截断方法数量。所有测试点满足 1 ≤ n ≤。给定一个长度为 n 的数组。第二行包含 n个整数。第一行包含整数 n。

2023-04-01 17:18:37 69

原创 【MySQL高级篇】第09章_性能分析工具的使用

1. 能做什么?表的读取顺序数据读取操作的操作类型哪些索引可以使用哪些索引被实际使用表之间的引用每张表有多少行被优化器查询2. 官网介绍3. 版本情况MySQL 5.6.3以前只能 EXPLAIN SELECT;MYSQL 5.6.3以后就可以 EXPLAIN SELECT,UPDATE, DELETE在5.7以前的版本中,想要显示 partitions 需要使用 explain partitions 命令;

2023-03-29 11:33:47 430

原创 【MySQL高级篇】 第8章_索引的创建与设计原则

① 冗余索引举例:建表语句如下我们知道,通过 idx_name_birthday_phone_number 索引就可以对 name 列进行快速搜索,再创建一 个专门针对 name 列的索引就算是一个 冗余索引 ,维护这个索引只会增加维护的成本,并不会对搜索有 什么好处。② 重复索引col2 INT,我们看到,col1 既是主键、又给它定义为一个唯一索引,还给它定义了一个普通索引,可是主键本身就 会生成聚簇索引,所以定义的唯一索引和普通索引是重复的,这种情况要避免。

2023-03-24 11:25:19 613

原创 【MySQL高级篇】第7章_InnoDB数据存储结构

不同的数据库管理系统(简称DBMS)的页大小不同。比如在 MySQL 的 InnoDB 存储引擎中,默认页的大小是16KBSQL Server 中页的大小为8KB,而在 Oracle 中我们用术语 “块” (Block)来表示 “页”,Oracle 支持的快大小为2KB, 4KB, 8KB, 16KB, 32KB 和 64KB。

2023-03-20 09:19:17 288

原创 【MySQL高级篇】第06章_索引的数据结构

MySQL官方对索引的定义为:索引(Index)是帮助MySQL高效获取数据的数据结构。索引的本质:索引是数据结构。你可以简单理解为“排好序的快速查找数据结构”,满足特定查找算法。这些数据结构以某种方式指向数据, 这样就可以在这些数据结构的基础上实现高级查找算法。索引是在存储引擎中实现的,因此每种存储引擎的索引不一定完全相同,并且每种存储引擎不一定支持所有索引类型。同时,存储引擎可以定义每个表的最大索引数和最大索引长度。所有存储引擎支持每个表至少16个索引,总索引长度至少为256字节。

2023-03-17 20:42:48 790

原创 【基础框架】Shrio安全框架

基于主页的权限管理(不同用户使用不同的主页,权限通过主页功能菜单进行限制)基于用户和权限的权限管理基于角色的访问控制认证:对用户的身份进行检查(登录验证)授权:对用户的权限进行检查(是否有对应的操作权限)流程示意图: 认证,验证用户是否有相应的身份—登录认证; 授权,即权限验证;对已经通过认证的用户检查是否具有某个权限或者角色,从而控制是否能够进行某种操作;会话管理,用户在认证成功之后创建会话,在没有退出之前,当前用户的所有信息都会保存在这个会话中;可以是普通的JavaSE应用,也可以是web应用;加密

2023-03-16 10:17:00 2866

hadoop+hive+finebi笔记.rar

内容概要:让初学者能高效、快捷掌握Hadoop必备知识,大大缩短Hadoop离线阶段学习时间。 适合人群:具备一定编程基础人员 能学到什么: HDFS+MapReduce+Hive 基于数据仓库实现离线数据分析的可视化报表开发。 Hadoop生态综合案例 ——陌陌聊天数据分析

2023-05-21

Javafx模拟微博.zip

利用javafx+mysql实现微博如关注,发朋友圈等部分功能 环境:java8,mysql8.0,idea2020 程序包括功能,简单的登录注册验证,注销账号,修改账号资料,可以搜索系统注册的其他用户,提供关注和粉丝列表,提供关注功能,提供取消关注,删除粉丝功能,提供发布微博动态功能,管理删除自己已经发布的动态的功能,提供查看所有用户发布的动态的功能,提供只查看自己关注的人发布的动态的功能。

2022-10-08

空空如也

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

TA关注的人

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