作者慕枫Java来源慕枫技术笔记(ID:lulideguang)引言著名杂志《经济学人》曾经评价“没有集装箱,就没有全球化”,可以说集装箱的出现重塑了现代货运体系,实现了交通运输行业的标准化,有效降低物流运输成本,极大提升了货物转运效率。而在云原生领域,容器就相当于集装箱,它使得软件发布以及软件运行隔离实现标准化,引领了云原生基础设施的跨越式发展。从某种意义上来说,容器技术重塑了整个软件供应链。今天就和大家聊聊各...
2022-09-06 12:02:56 4806浏览 0点赞 0回复 0收藏
作者慕枫Java来源慕枫技术笔记(ID:lulideguang)什么是数据库死锁在操作系统领域当中,死锁指的是两个或者两个以上的进程在运行的过程中,因为争夺共同的访问资源而相互等待阻塞,最终导致进程继无法续执行的一种阻塞现象。那么在数据库领域当中死锁又是怎样的表现形式呢数据库死锁又会带来怎样的问题呢在理解数据库死锁之前,我们先来明确下数据库的锁到底是什么有过Java编程经验的同学都知道,Java中的锁是为了解决共享数据的...
2022-06-24 17:16:27 6161浏览 0点赞 0回复 0收藏
作者上海滩虎哥来源今日头条InstallDockerEngineonUbuntu先决条件要安装Docker引擎,您需要注意以下Ubuntu版本之一的64位版本:UbuntuImpish21.10UbuntuHirsute21.04UbuntuFocal20.04(LTS)UbuntuBionic18.04(LTS)卸载旧版本$sudoaptgetremovedockerdockerenginedocker.iocontainerdrunc上述命令会保留docker对应的文件,若需彻底删除,请执行一下命令1、卸载DockerEngine、CLI、Containerd包:$sudoaptgetpurgedockercedockerce...
2022-06-24 17:16:15 5606浏览 0点赞 0回复 0收藏
作者上海滩虎哥来源今日头条Dockerfile详解Dockerfile是一个构建镜像的文本文件,其中包含用户可以在命令行上调用组装镜像的所有命令,使用dockerbuild构建格式:CommentINSTRUCTIONargumentsFROM镜像构建初始阶段,指定构建的新镜像是从哪个基础镜像构建FROM[platform<platform>]<image>[:<tag>][AS<name>]RUN执行命令,在构建镜像时执行,有以下2种格式:shell格式RUN<命令行命令><命令行命令>等同于,在终端操作的shell命令...
2022-06-24 17:16:06 7888浏览 0点赞 0回复 0收藏
作者上海滩虎哥来源今日头条Compose是一个用于定义和运行多容器Docker应用程序的工具。使用Compose,您可以使用YAML文件来配置应用程序的服务。然后,只需一个命令,就可以从配置中创建并启动所有服务。InstallDockerCompose下载dockercompose$sudocurlL"https:github.comdockercomposereleasesdownload1.29.2dockercompose$(unames)$(unamem)"ousrlocalbindockercompose给dockercompose设置可执行权限$sudochmod+xusrlocalbind...
2022-06-24 17:15:19 1.4w浏览 0点赞 0回复 0收藏
作者上海滩虎哥来源今日头条Swarm是什么DockerSwarm是运行在Docker应用程序上的编排管理工具。它帮助最终用户创建和部署Docker节点集群。swarm由多个Docker主机组成,这些主机以swarm模式运行,充当manager和worker(运行swarm服务)。Docker主机可以是manager、worker,也可以同时执行这两个角色。创建服务时,需要定义其最佳状态(副本数量、可用的网络和存储资源、服务对外公开的端口等)。如果工作节点不可用,Docker会在其他节...
2022-06-24 17:15:05 8468浏览 0点赞 0回复 0收藏
作者上海滩虎哥来源今日头条Redis集群搭建主要有Sentinel(哨兵)、Cluster(分片)两种模式。哨兵模式就是利用哨兵监听Redis的master节点,若master宕机则从集群中选举出其它节点作为master继续工作。Cluster模式,实现了Redis的分布式存储,对数据进行分片存储,每个redis节点存储的数据不同,cluster采用哈希槽slot来处理数据和实例之间的关系,一个集群有16384个slot,每个节点负责的slot数16384节点数redis分片集群在三台主机...
2022-06-24 17:14:54 6535浏览 0点赞 0回复 0收藏
作者上海滩虎哥来源今日头条Mysql集群常见的集群方式有两种,第一种是主备模式(一主多备或多主多备);另外一种是Cluster模式,这里介绍PerconaXtraDBCluster(简称PXCMysql)搭建方式。PXCMysql介绍Pxcmysql是针对mysql开源的高可用解决方案,集群由多个节点组成,其中每个节点都包含相同的数据集。建议的配置是至少有3个节点,但也可以有2个节点。每个节点都是一个MySQL服务器实例。PxcMysql集群搭建准备三台服务器,这里采用dock...
2022-06-24 17:14:43 5831浏览 0点赞 0回复 0收藏
作者上海滩虎哥来源今日头条Docker搭建Rabbitmq集群RabbitMQ是轻量级的开源消息中间件,易于在本地和云上部署。它支持多种消息传递协议,可以满足高规模、高可用性的需求。本例搭建三个节点的rabbitmq集群。创建专属网络$dockernetworkcreatedoverlayattachablesubnet172.31.0.024rabbitmqcluster不懂网络这块的,可以关注看前面发表的docker网络创建和管理创建数据目录把消息数据挂载到磁盘上,防止丢失。根据需要Rabbitmq相关...
2022-06-24 17:14:27 1.2w浏览 0点赞 0回复 0收藏
作者柯小贤来源是Kerwin啊(ID:KerwinRoad)WindowsRedis安装链接:https:pan.baidu.coms1MJnzXqRuNXJI09euzkPGA提取码:2c6w复制这段内容后打开百度网盘手机App,操作更方便哦无脑下一步即可使用出现错误:creatingservertcplisteningsocket127.0.0.1:6379:bindNoerror解决方案:rediscli.exeshutdownexitredisserver.exeredis.windows.conf启动:redisserver.exeredis.windows.conf客户端启动:rediscli.exe(不修改配置的话默认...
2022-04-23 18:07:41 5470浏览 0点赞 0回复 0收藏
作者柯小贤来源是Kerwin啊(ID:KerwinRoad)面试题&真实经历面试题:在数据量很大的情况下,怎么实现深度分页大家在面试时,或者准备面试中可能会遇到上述的问题,大多的回答基本上是分库分表建索引,这是一种很标准的正确回答,但现实总是很骨感,所以面试官一般会追问你一句,现在工期不足,人员不足,该怎么实现深度分页这个时候没有实际经验的同学基本麻爪,So,请听我娓娓道来。惨痛的教训首先必须明确一点:深度分页可以做...
2022-04-23 17:31:20 6656浏览 0点赞 0回复 0收藏
作者柯小贤来源是Kerwin啊(ID:KerwinRoad)Explain诊断Explain各参数的含义如下:selecttype常见类型及其含义「SIMPLE」:不包含子查询或者UNION操作的查询「PRIMARY」:查询中如果包含任何子查询,那么最外层的查询则被标记为PRIMARY「SUBQUERY」:子查询中第一个SELECT「DEPENDENTSUBQUERY」:子查询中的第一个SELECT,取决于外部查询「UNION」:UNION操作的第二个或者之后的查询「DEPENDENTUNION」:UNION操作的第二个或者之...
2022-04-23 17:24:31 5160浏览 0点赞 0回复 0收藏
作者DrHydra来源码农参上(ID:CODERSANJYOU)在前面的文章Redis:我是如何与客户端进行通信的中,我们介绍过RESPV2版本协议的规范,RESP的全程是RedisSerializationProtocol,基于这个实现简单且解析性能优秀的通信协议,Redis的服务端与客户端可以通过底层命令的方式进行数据的通信。随着Redis版本的不断更新以及功能迭代,RESPV2协议开始渐渐无法满足新的需求,为了适配在Redis6.0中出现的一些新功能,在它的基础上发展出了全...
2022-04-23 16:56:59 7495浏览 0点赞 0回复 0收藏
作者慕枫Java来源慕枫技术笔记(ID:lulideguang)引言PostgreSQL是一款功能非常强大的开源关系型数据库,它支持哈希索引、反向索引、部分索引、Expression索引、GiST、GIN等多种索引模式,同时可安装功能丰富的扩展包。相较于Mysql,PostgreSQ支持通过PostGIS扩展支持地理空间数据、支持嵌套循环,哈希连接,排序合并三种表连接方式等一系列的强化功能。本文主要整理总结了30个实用SQL,方便大家可以高效利用PostgreSQL。实用SQL...
2022-04-23 16:40:25 7339浏览 0点赞 0回复 0收藏
作者慕枫Java来源慕枫技术笔记(ID:lulideguang)引言数据库性能优化是每个后端程序猿必备的基础技能之一,而Mysql中的explain堪称Mysql的性能优化分析神器,我们可以通过它来分析SQL语句的对应的执行计划在Mysql底层到底是如何执行的,它对于我们评估SQL的执行效率以及确定Mysql的性能优化方向具有重要的意义。但是很多同学对于如何根据explain对已有SQL进行深度的执行分析还是丈二和尚摸不着头脑,因此本文详细阐述通过explain...
2022-04-23 16:32:47 7861浏览 0点赞 0回复 0收藏
作者慕枫Java来源慕枫技术笔记(ID:lulideguang)问题分析在进行数据库查询的时候,我们都知道索引可以加快数据查询的效率。但是在实际的业务场景下,经常会遇到即使在表中增加了索引,但是同样还是会出现数据查询慢的问题。这就需要具体分析数据查询慢的具体原因到底是什么了。首先需要进行确认的就是SQL语句中对应的条件查询中字段有没有建立索引。虽然说表中已经有索引,但是不一定SQL语句中的查询字段有建立索引,所以第一步...
2022-04-23 16:24:50 5793浏览 0点赞 0回复 0收藏
作者慕枫Java来源慕枫技术笔记(ID:lulideguang)背景上回说到小枫在接受面试官的拷打,所幸第一个问题回答的还不错,因此面试官对于小枫的初步印象还行。我们接着来看看小枫是怎么和面试官继续过招的吧,他还能扛得住面试官几个连环炮呢面试官考察目的分析面试官:Redis了解吗说说为什么单线程的Redis可以支持高并发访问面试官考察目的分析:1、考察候选同学对于Redis原理的理解程度;2、考察候选同学对于网络连接的理解程度;面...
2022-04-23 16:16:44 6398浏览 0点赞 0回复 0收藏
作者慕枫Java来源慕枫技术笔记(ID:lulideguang)引言在前面的两篇文章中,笔者给大家介绍了DDD核心思想、重要概念以及如何进行DDD进行微服务实践的大致过程,后续的文章中将逐渐深入DDD的实践细节,包括领域模型与代码模型的映射以及具体的微服务设计实例等。当下微服务盛行,微服务架构解决了单点系统的可用性问题、突破单节点服务的性能瓶颈同时提升了整个系统的稳定性。因此各大公司纷纷转向微服务架构,但是在实际的微服务...
2022-04-23 16:13:59 7568浏览 0点赞 0回复 0收藏
作者慕枫Java来源慕枫技术笔记(ID:lulideguang)引言在我们的实际项目中,在一些QPS比较高的场景下,经常引入缓存来缓解数据库的查询压力,以缓存的空间来换取查询效率的提升。但是一旦引入了缓存,就一定会遇到缓存中的数据与数据库中的数据如何保持一致的问题,本文就是针对两者之间的数据一致性问题进行分析,一步一步分析以及解决。为什么数据不一致业务起初的时候,用户数以及业务量都还没有起来。我们可以直接使用服务从...
2022-04-23 16:07:49 5888浏览 0点赞 0回复 0收藏
作者慕枫Java来源慕枫技术笔记(ID:lulideguang)在大型分布式微服务场景下,各个服务版本快速迭代,各类业务规模不断膨胀,同时监控的场景也在不断的发生变化,线上故障随时可能发生,各个平台错综复杂,如何保证线上服务稳定运行,同时提升运维效率,降低运维成本成了监控平台的挑战。一、什么是监控在设计监控平台之前,我们首先来探讨下监控到底是什么。首先从字面进行理解。我们把监控两个字拆开来看,“监”即为“监”视,...
2022-04-23 16:02:42 6031浏览 0点赞 0回复 0收藏