这个用户很懒,还没有个人简介
私信
主帖 58
回帖
视频
提问
回答
资源
专栏
bitmap是redis的一种扩展数据类型,主要用于二值状态统计,比如公司记录员工打卡记录,电商网站记录用户登录行为,积分商城记录用户签到情况。bigmap底层使用的是String的数据结构,而String保存在计算机中的格式是二进制的字节数组,这样bitmap就充分利用了每个字节的bit位,大大节省了内存开销。下面我们看一下bitmap的使用。员工打卡假如一个公司有100个员工,公司要对员工11月份的打卡行为进行统计,我们可以为11月份每一天...
2022-05-05 14:56:51 206浏览 0点赞 0回复 0收藏
这几天,kubernetes社区发生了一件大事,1.20版本宣布放弃docker,圈内一下子炸锅了。我们看一下官方描述:Dockersupportinthekubeletisnowdeprecatedandwillberemovedinafuturerelease.Thekubeletusesamodulecalled"dockershim"whichimplementsCRIsupportforDockerandithasseenmaintenanceissuesintheKubernetescommunity.WeencourageyoutoevaluatemovingtoacontainerruntimethatisafullfledgedimplementationofCRI(v1alpha1or...
2022-05-05 13:02:46 159浏览 0点赞 0回复 0收藏
redis在很早之前就支持消息队列了,使用的是PUBSUB功能来实现的。PUBSUB有一个缺点就是消息不能持久化,如果redis发生宕机,或者客户端发生网络断开,历史消息就丢失了。redis5.0开始引入了stream这个数据结构,stream可以很好地用于消息队列,它支持消息持久化,同时可以记录消费者的位置,即使客户端断开重连,也不会丢失消息。本篇文章我们就来聊一聊基于stream的消息队列使用。stream队列简介基于stream实现的消息队列有4个...
2022-05-05 12:59:02 178浏览 0点赞 0回复 0收藏
单体数据库时代,随着系统交易量的不断上升,数据库读写性能出现了严重下降。我们可以借助分库分表中间件,比如mycat、shardingjdbc来实现分库分表,缓解单库的读写性能。但是分库分表中间件并不支持事务,如果要保证数据一致性,就需要借助于分布式事务中间件,比如阿里巴巴的seata。后来分布式数据库逐渐成为解决数据一致性的选择,目前分布式数据库产品已经比较成熟,支持ACID事务,本文就来聊一聊分布式数据库。增加代理层...
2022-05-05 12:58:42 159浏览 0点赞 0回复 0收藏
单表的数据量如果太大,会影响到读写性能。我们可以使用分库分表来解决单表的性能问题。Oracle的分区表是将一张大表在物理上分成几张较小的表,从逻辑上来看仍然是一张完整的表。这样每次DML操作可以只考虑其中一张分区表。oracle建议单表大小超过2GB时就使用分区表。今天我们就来聊一聊分区表的使用。分区类型范围分区范围分区是最常用的分区方法,它使用分区键来作为划分分区的依据,分区键可以使用时间、id等易于比较的字段...
2022-05-05 12:58:02 108浏览 0点赞 0回复 0收藏
一条sql就能让oracle挂了,真的是不敢相信啊,前几天生产上确实出现了这样一个故障,我们来一起做一个事件回放。系统介绍系统架构见下图:application1和application2是一个分布式系统中的2个应用,application1连接的数据库是database1,application2连接的数据库是database2,application2生产的数据要给application1做跑批使用。application1要获取database2的数据,并不是通过接口来获取的,而是直连database2来获取,因此a...
2022-05-05 12:57:09 134浏览 0点赞 0回复 0收藏
又到了金三银四跳槽季,好多同学已经开始行动了。今天我来助力一把,送出这套redis面试题,助力大家通关。1redis为什么响应快1.1数据保存在内存中redis数据保存在内存中,读写操作只要访问内存,不需要磁盘IO。1.2.底层数据结构redis的数据以key:value的格式存储在散列表中,时间复杂度o(1)。redis为value定义了丰富的数据结构,包括动态字符串、双向链表、压缩列表、hash、跳表和整数数组,可以根据value的特性选择选择最高效...
2022-05-05 12:56:36 202浏览 0点赞 0回复 0收藏
最近,confluent社区发表了一篇文章,主要讲述了Kafka未来的2.8版本将要放弃Zookeeper,这对于Kafka用户来说,是一个重要的改进。之前部署Kafka就必须得部署Zookeeper,而之后就只要单独部署Kafka就行了。[1]1.Kafka简介ApacheKafka最早是由Linkedin公司开发,后来捐献给了Apack基金会。Kafka被官方定义为分布式流式处理平台,因为具备高吞吐、可持久化、可水平扩展等特性而被广泛使用。目前Kafka具体如下功能:消息队列,Kafka...
2022-05-05 12:56:08 102浏览 0点赞 0回复 0收藏
面试官:你们系统是怎么实现分布式锁的我:我们使用了redis的分布式锁。具体做法是后端接收到请求后加入一个分布式锁,如果加锁成功,就执行业务,如果加锁失败就等待锁或者拒绝请求。业务执行完成后释放锁。面试官:能说一下具体使用的命令吗我:我们使用的是SETNX命令,具体如下:SETNXKEYNAMEVALUE设置成功返回1,设置失败返回0。如下图,客户端1加锁成功,客户端2获取锁失败:面试官:这样设置会不会有问题呢如果加锁成功的客户...
2022-05-05 12:53:28 167浏览 0点赞 0回复 0收藏
今天,系统中的一个业务处理莫名地执行了6个小时都没有结束,正常处理也就是3分钟左右,对原因进行定位,发现是在Oracle客户端上同步执行一个命令没有响应。今天来分享一下这个问题,让更多的人避开这个坑。1业务场景我们要把一个csv文件(文件名biz.csv)中的数据读取到Oracle数据库表(表名tbiz,tbiz)中,数据库表tbiz表结构如下:biz.csv文件内容如下:id,a,b,c1,a1,b1,c12,a2,b2,c23,a3,b3,c3把biz.csv文件的内容读入到表tbiz...
2022-05-05 12:53:06 263浏览 0点赞 1回复 0收藏
简介Shippable是一个DevOps流水线平台,可帮助开发人员和DevOps团队获得CICD,并使软件发布频繁,可预测且无错误。为此,我们将所有DevOps工具和活动连接到事件驱动的有状态工作流中。Shippable的DevOpsAutomation平台为您提供了一种简便的方法,可为您的项目设置持续集成(CI),并针对源代码控制存储库中的任何更改自动进行单元测试,打包和部署。背景有大量的DevOps工具可用于配置,配置管理,持续集成,部署等。如今,大多数D...
2022-05-05 12:52:17 198浏览 0点赞 0回复 0收藏
如果让三个人描述DevOps,您将得到四个不同的答案。有时,从事运营工作的开发人员被称为DevOps。其他人则说这与基础架构和部署的自动化有关。有时,您可以看到DevOps是sysadmins的现代化标签。我们可以看到该术语很流行。那到底是什么呢什么是DevOpsDevOps的第一种方式是通过组织中各个职能领域(从收集需求到生产中的软件运维)创建平衡稳定的工作流程。重点放在整个系统的全局目标上,而不是单个部门的局部目标上。为了使概念更...
2022-05-05 12:50:13 200浏览 0点赞 1回复 0收藏
Jenkins是什么Jenkins是一种自动化工具。与他一起,可以创建工作来构建,测试和部署应用程序。可以在jenkins中创建管道。什么是管道管道是需要做的所有事情的步骤组成的脚本。例如:创建一个管道来构建代码。第一步是签出git代码,此后需要测试,构建,打包,创建docker映像并最终部署代码。对于Jenkins的第一步,让我们在机器中创建一个容器。您需要在机器上安装并运行docker。执行以下命令:dockerrun namejenkinscip8080:80...
2022-05-05 12:49:43 107浏览 0点赞 0回复 0收藏
Docker部署Jenkins前往DockerHub下载Jenkins长期支持版本镜像。查看官方的镜像历史(获取Jenkins相关信息)ARGhttpport8080ARGagentport50000ARGJENKINSHOMEvarjenkinshomeARGREFusrsharejenkinsrefENVJENKINSHOMEvarjenkinshomeENVJENKINSSLAVEAGENTPORT50000启动Jenkinsdockerrunnamejenkinsitd\p8081:8080\p50000:50000\vjenkins:varjenkinshome\jenkinsjenkins:ltsdockerlogsfjenkins查看日志并获取初始化密码安装向导我想很...
2022-05-05 12:49:20 206浏览 0点赞 0回复 0收藏
配置DockerInDocker配置JenkinsMaster挂载Dockerdockerrunnamejenkinsitd\p8081:8080\p50000:50000\vjenkins:varjenkinshome\vvarrundocker.sock:varrundocker.sock\vusrlocalbindocker:usrbindocker\jenkinsjenkins:lts解决权限问题以root用户运行dockerexeciturootjenkinsbashusermodaGrootjenkinsidjenkinsuid1000(jenkins)gid1000(jenkins)groups1000(jenkins),0(root),1(daemon)调试流水线pipeline{agent{docker{image'mav...
2022-05-05 12:48:54 190浏览 0点赞 0回复 0收藏
MattermostJira集成可确保在正确的时间将通知发送给正确的团队和人员,使他们能够在不离开Mattermost的情况下进行项目管理配置。MattermostMattermost是为开发团队推动创新而构建的开源消息传递平台。支持私有云部署在不牺牲隐私的情况下提供了现代通信的优势。Mattermost为企业提供了自治能力和可扩展性,使他们能够在满足需求的同时提高生产力IT和安全团队的要求。Mattermost可轻松与流行的DevOps工具集成,例如Jira,Jenkins...
2022-05-05 12:48:30 132浏览 0点赞 0回复 0收藏
使用单个Dockerfile在CI中运行多个node版本,Docker在持续集成方面迈出了一大步。需要在CI主机中设置一百个工具或启动整个虚拟机的日子已经一去不复返了。现在,您只需安装Docker,就可以开始使用了大部分程序。针对不同的node.js版本测试项目。如何在Jenkins实现这一目标的。假设您有一个可以运行docker的Jenkins。类似于这样:dockerrunnamejenkinsitd\p8081:8080\p50000:50000\vjenkins:varjenkinshome\vvarrundocker.sock:v...
2022-05-05 12:46:59 145浏览 0点赞 0回复 0收藏
volume是用于对Docker容器生成和使用的数据持久化的首选机制。如果您的容器生成非持久状态数据,请考虑使用tmpfs挂载以避免将数据永久存储在任何地方,并通过避免写入容器的可写层来提高容器的性能。默认容器的数据存储在这里我们在容器中创建一些模拟的数据,然后模式容器停止或删除后数据是否丢失。创建数据[rootmyserver]dockerpsCONTAINERIDIMAGECOMMANDCREATEDSTATUSPORTSNAMESa0316d74ef5dbulletinboard:1.0"dockerentryp...
2022-05-05 12:46:43 94浏览 0点赞 0回复 0收藏
Netflix是业界微服务和DevOps组织的楷模,有大规模生产级微服务的成功实践。微服务有些公司甚至比Netflix做得更早,但Netflix大概是大规模生产级微服务做得最杰出的。Netflix在开源社区有着非常大的贡献,发布了很多开源工具去做部署、打包等各种功能。Spinnaker是Netflix的一个开源项目,来做混合云环境部署,能够实现跨云平台的部署任务的编排。在Netflix使用Spinnaker每天发布4000次变更到亚马逊的机器上。谷歌云也在用Spinn...
2022-05-05 12:46:21 66浏览 0点赞 0回复 0收藏
在微服务项目中具有很多个服务模块,为了便于管理需要将项目规范化,使用GitLabGroup管理整个项目,每个project对应一个微服务,每个微服务对应一个Jenkinsjob。开始发布的时候需要我们在手动选择各个服务然后发布。模块很多的时候就不太方便了。创建一个Jenkins项目用来统一管理,绑定GitLabgroup信息,然后调用Gitlab接口获取project信息。用户选择要发布的微服务,然后根据服务名称并行触发每个要发布服务的流水线进行构建和...
2022-05-05 12:46:04 88浏览 0点赞 0回复 0收藏