作者哪吒来源哪吒编程(ID:gh61b183bcf690)大家好,我是哪吒。SpringCloud是一个开源框架,用于构建基于微服务架构的应用程序。它提供了多种工具和技术,用于实现各种微服务模式,并使它们易于管理和部署。MQ(消息队列)则是一种重要的异步通信机制,用于在不同的应用程序之间进行通信。在本篇博客中,我们将详细讲解如何使用SpringCloud搭建MQ。一、什么是SpringCloudSpringCloud是一个基于SpringFramework的开源框架,用于构建...
2023-06-19 17:45:26 2397浏览 0点赞 0回复 0收藏
作者哪吒来源哪吒编程(ID:gh61b183bcf690)一、顺丰高级开发工程师在线执行了Redis危险命令导致某公司损失400万最近安全事故濒发啊,前几天发生了《顺丰高级运维工程师的删库事件》,今天又看到了PHP工程师在线执行了Redis危险命令导致某公司损失400万。。什么样的Redis命令会有如此威力,造成如此大的损失?具体消息如下:据云头条报道,某公司技术部发生2起本年度PO级特大事故,造成公司资金损失400万,原因如下:由于PHP工程...
2023-06-19 17:44:45 2195浏览 0点赞 0回复 0收藏
作者哪吒来源哪吒编程(ID:gh61b183bcf690)今天搞一下经典面试题Redis为什么选择单线程Redis为什么这么快,实现快速入门,丰富个人简历,提高面试level,给自己增加一点谈资,秒变面试小达人,BAT不是梦。一、Redis版本迭代Redis2.6,支持lua脚本;Redis3.0,支持集群;Redis4.0,混合持久化,多线程异步删除;Redis5.0,核心代码重构;Redis6.0,多线程IO;Redis7.0,Function、MultipartAOF;二、Redis4.0之前为什么一直采用单线程1...
2023-06-19 17:44:30 2266浏览 0点赞 0回复 0收藏
作者哪吒来源哪吒编程(ID:gh61b183bcf690)今天分享一下Redis主从复制与Redis哨兵机制相关的知识点,实现快速入门,丰富个人简历,提高面试level,给自己增加一点谈资,秒变面试小达人,BAT不是梦。一、Redis复制是什么Redis复制就是主从复制,当主服务器数据发生变化时,自动将新的数据同步到从数据库。读数据库可以进行读写操作,从数据库一般指用于读操作。Redis复制可以保证主数据库崩溃时可以进行数据恢复。二、Redis复制...
2023-06-19 17:44:13 2555浏览 0点赞 0回复 0收藏
作者哪吒来源哪吒编程(ID:gh61b183bcf690)今天分享一下Redis的持久化、事务、管道相关的知识点,实现快速入门,丰富个人简历,提高面试level,给自己增加一点谈资,秒变面试小达人,BAT不是梦。Redis是一个键值对数据库,服务器中通常包含着任意个非空数据库,而每个非空数据库中又可以包含任意个键值对,我们将是服务器中的非空数据库以及它们的键值对统称为数据库状态。Redis是内存数据库,它将数据存储在内存中,如果不能将...
2023-06-19 17:43:54 1597浏览 0点赞 0回复 1收藏
作者哪吒来源哪吒编程(ID:gh61b183bcf690)大家好,我是哪吒。一、同样是缓存,用map不行吗?(1)Redis可以存储几十个G的数据,Map行吗?(2)Redis的缓存可以进行本地持久化,Map行吗?(3)Redis可以作为分布式缓存,Map只能在同一个JVM中进行缓存;(4)Redis支持每秒百万级的并发,Map行吗?(5)Redis有过期机制,Map有吗?(6)Redis有丰富的API,支持非常多的应用场景,Map行吗?二、Redis为什么是单线程的?(1)代码...
2023-06-19 17:43:34 2074浏览 0点赞 0回复 0收藏
作者哪吒来源哪吒编程(ID:gh61b183bcf690)大家好,我是哪吒。本系列为SpringCloud微服务系列,上一期分享了图解Nginx,系统架构演变+Nginx反向代理与负载均衡,今天分享ZooKeeper,读哪吒编程,品技术人生。一、ZooKeeper是什么?1、开源的分布式协调服务使用分布式系统就无法避免对节点管理的问题(需要实时感知节点的状态、对节点进行统一管理等等),而由于这些问题处理起来可能相对麻烦和提高了系统的复杂性,ZooKee...
2023-06-19 17:43:16 2332浏览 0点赞 0回复 0收藏
作者哪吒来源哪吒编程(ID:gh61b183bcf690)大家好,我是哪吒。一、什么是Nacos?一个更易于构建云原生应用的动态服务发现、服务配置和服务管理平台。Nacos的关键特性:二、注册中心演变及其设计思想1、RestTemplate调用远程服务如果此时,服务端接口接口名或参数或请求方式更改了,那么就得同步修改此restTemplate方法,感觉很麻烦。SpringBootTestclassTest{ResourceprivateRestTemplaterestTemplate;TestvoidtestSimple(){请...
2023-06-19 17:42:57 3617浏览 0点赞 0回复 0收藏
作者哪吒来源哪吒编程(ID:gh61b183bcf690)大家好,我是哪吒。本系列为SpringCloud微服务系列,上一期分享了图解Nginx,系统架构演变+Nginx反向代理与负载均衡,今天分享一篇一站式微服务架构,读哪吒编程,品技术人生。一、前期准备本项目暂定项目名NZBCProject,SpringBoot+Vue构建,具体项目内容未定。基本组件Nginx、Gateway、Nacos、Sentinel、Ribbon、Feign、Seata、Redis、RabbitMQ、MySQL、docker、Vue。1、安...
2023-06-19 17:42:40 3089浏览 0点赞 0回复 0收藏
作者哪吒来源哪吒编程(ID:gh61b183bcf690)大家好,我是哪吒。本系列为SpringCloud微服务系列,先从微服务的入口Nginx开始学习,读哪吒编程,品技术人生。一、系统架构演变最开始接触Java语言的时候,我写的第一个项目是图书管理系统,当时是用JSP+servlet写的,感觉很吊的样子,全班领先水平。慢慢的变成了JSP+SSM架构。到现在单体架构最流行的SpringBoot+Vue。但是,随着业务量的不断增大,你会发现,这些单体架构,已经无法...
2023-06-19 17:42:19 2523浏览 0点赞 0回复 0收藏
作者哪吒来源哪吒编程(ID:gh61b183bcf690)一、先了解一下MySQL查询的执行过程MySQL在查询时,它是由很多子任务组成的,每个子任务都会消耗一定的时间,如果要想优化查询,实际上要优化其子任务,可以消除一些子任务、减少子任务的执行次数、让子任务执行的更快。MySQL查询的执行过程:从客户端到服务器、然后在服务器进行解析、生成执行计划、执行、返回结果给客户端。执行是最重要的阶段,包括调用存储引擎检索数据、调用后的...
2023-06-15 19:41:47 1875浏览 0点赞 0回复 0收藏
作者哪吒来源哪吒编程(ID:gh61b183bcf690)大家好,我是哪吒。1、先了解MySQL的执行过程了解了MySQL的执行过程,我们才知道如何进行sql优化。客户端发送一条查询语句到服务器;服务器先查询缓存,如果命中缓存,则立即返回存储在缓存中的数据;未命中缓存后,MySQL通过关键字将SQL语句进行解析,并生成一颗对应的解析树,MySQL解析器将使用MySQL语法进行验证和解析。例如,验证是否使用了错误的关键字,或者关键字的使用是否正...
2023-06-15 19:40:31 1568浏览 0点赞 0回复 0收藏
作者哪吒来源哪吒编程(ID:gh61b183bcf690)大家好,我是哪吒。最近项目在使用MongoDB作为图片和文档的存储数据库,为啥不直接存MySQL里,还要搭个MongoDB集群,麻不麻烦?让我们一起,一探究竟,继续学习MongoDB数据库性能监控,实现快速入门,丰富个人简历,提高面试level,给自己增加一点谈资,秒变面试小达人,BAT不是梦。一.MongoDB启动慢1、启动日常卡住根本不用为了截屏而快速操作,MongoDB启动真的超级慢。2、启动Mong...
2023-06-15 19:40:11 1772浏览 0点赞 0回复 0收藏
作者哪吒来源哪吒编程(ID:gh61b183bcf690)大家好,我是哪吒,最近项目有一个新的需求,按月建表,按天分区。不都是分库分表吗?怎么又来个分区?让我们一起,一探究竟,深入理解一下Oracle分区表技术,实现快速入门,丰富个人简历,提高面试level,给自己增加一点谈资,秒变面试小达人,BAT不是梦。三分钟你将学会:Oracle是如何存储数据的?Oracle分区是什么?何时分区?分区表的分类都有哪些?Oracle分区技术实战演练一、Ora...
2023-06-15 19:39:46 4920浏览 0点赞 0回复 0收藏
作者哪吒来源哪吒编程(ID:gh61b183bcf690)大家好,我是哪吒,最近项目在使用MongoDB作为图片和文档的存储数据库,为啥不直接存MySQL里,还要搭个MongoDB集群,麻不麻烦?让我们一起,一探究竟,继续学习MongoDB高可用和片键策略,实现快速入门,丰富个人简历,提高面试level,给自己增加一点谈资,秒变面试小达人,BAT不是梦。一、复制在MongoDB中,创建副本集后就可以使用复制功能了,副本集是一组服务器,其中一个用于处理写...
2023-06-15 19:39:26 1629浏览 0点赞 0回复 0收藏
作者哪吒来源哪吒编程(ID:gh61b183bcf690)大家好,我是哪吒,最近项目在使用MongoDB作为图片和文档的存储数据库,为啥不直接存MySQL里,还要搭个MongoDB集群,麻不麻烦?让我们一起,一探究竟,继续学习「MongoDB分片」的理论与实践,实现快速入门,丰富个人简历,提升面试level,给自己增加一点谈资,秒变面试小达人,BAT不是梦。三分钟你将学会:一次MongoDB线上事故的快速解决什么是MongoDB分片?MongoDB如何分片何时分片?...
2023-06-15 19:39:07 2442浏览 0点赞 0回复 0收藏
作者哪吒来源哪吒编程(ID:gh61b183bcf690)大家好,我是哪吒。三分钟你将学会:MongoDB连接池的使用方式与常用参数查询五步走,能活九十九?MongoDB索引与MySQL索引有何异同?MongoDB事务与ACID什么是聚合框架?在最开始接触MongoDB的时候,是通过MongoDatabasedatabasenewMongoClient("localhost",27017).getDatabase("test");的方式连接MongoDB。它会为每个请求创建一个新的连接,然后销毁,一般数据库的连接都是TCP连接,TCP...
2023-06-15 19:38:47 2104浏览 0点赞 0回复 0收藏
作者哪吒来源哪吒编程(ID:gh61b183bcf690)大家好,我是哪吒,最近项目在使用MongoDB作为图片和文档的存储数据库,为啥不直接存MySQL里,还要搭个MongoDB集群,麻不麻烦?让我们一起,一探究竟,了解一下MongoDB的特点和基本用法,实现快速入门,丰富个人简历,提高面试level,给自己增加一点谈资,秒变面试小达人,BAT不是梦。三分钟你将学会:MongoDB主要特征MongoDB优缺点,扬长避短何时选择MongoDB?为啥要用它?MongoDB与M...
2023-06-15 19:38:23 2352浏览 0点赞 0回复 0收藏
作者哪吒来源哪吒编程(ID:gh61b183bcf690)一、分布式缓存1、单点Redis的问题1、数据丢失问题Redis数据持久化。2、并发能力问题大家主从集群,实现读写分离。3、故障恢复问题利用Redis哨兵,实现健康检测和自动恢复。4、存储能力问题搭建分片集群,利用插槽机制实现动态扩容。2、RDBRDB全称RedisDatabaseBackupfile(Redis数据备份文件),也被叫做Redis数据快照。简单来说就是把内存中的所有数据都记录到磁盘中。当Redis实例故...
2023-06-15 19:37:53 2297浏览 0点赞 0回复 0收藏
作者哪吒来源哪吒编程(ID:gh61b183bcf690)一、分布式锁是什么分布式锁是满足分布式系统或集群模式下多进程可见并且互斥的锁。基于Redis实现分布式锁:1、获取锁互斥:确保只能有一个线程获取锁;非阻塞:尝试获取锁,成功返回true,失败返回false;添加锁过期时间,避免服务宕机引起死锁。SETlockthread1NXEX102、释放锁手动释放;DELkey1超时释放,获取锁时添加一个超时锁;二、代码实例packagecom.guor.utils;importorg.sprin...
2023-06-15 19:37:30 2140浏览 0点赞 0回复 0收藏