Pika在360的应用与实践

01

业务挑战

随着业务量快速发展,用户对 Redis 这种速查KV缓存型数据库需求越来越高,不仅要快,还要持久化安全。Redis 自身aof 可保证持久化数据,但是随着内存增长,高内存下aof文件过大,bgrewriteof 重写往往会导致业务连接超时等问题产生,同时进行扩容以及分析rdb等也会对系统内存造成挑战,还有重要的一点就是内存太贵了, 用不起用不起~为此Pika 诞生了~360 DBA和基础架构组联合开发的类Redis 存储系统,一种基于硬盘存储的完全兼容Redis协议,解决Redis由于存储数据量巨大而导致内存不够用的容量瓶颈,并且可以像Redis一样,通过slaveof命令进行主从备份,支持全同步和部分同步,同时DBA团队还提供了迁移工具,所以用户不会感知这个迁移的过程,迁移是平滑的。

02

Pika vs Redis

目前360 KV数据库应用中主要包含 Redis和 Pika ,Pika 主要的定位目标并不是取代Redis,而是Redis 的一个补充,是在使用 Redis容量过大的场景下面的一个解决方案,同时用硬盘换内存节约成本。

01 优势

① 容量大:Pika没有 Redis的内存限制, 最大使用空间等于磁盘空间的大小

② 加载db速度快:Pika在写入的时候, 数据是落盘的, 所以即使节点挂了, 不需要rdb或者oplog。Pika重启不用加载所有数据到内存就能恢复之前的数据, 不需要进行回放数据操作

③ 备份速度快:Pika备份的速度大致等同于cp的速度(拷贝数据文件后还有一个快照的恢复过程,会花费一些时间),这样在对于百G大库的备份是快捷的,更快的备份速度更好的解决了主从的全同步问题

02 劣势

由于 Pika是基于内存和文件来存放数据, 所以性能肯定比 Redis低一些, 但是我们一般使用SSD盘来存放数据, 尽可能跟上 Redis的性能。

下面是 Pika 多线程VS Redis 单线程性能压测,在多线程Pika 测试下大部分常用 command性能都可以和 Redis媲美甚至高出。

a162f0a741f8345a230b224dc3ca0af6.png

03

360 Pika使用现状

Pika 目前在360公司内部有2000+的主从实例以及在运行, 公司目前的大部分业务80%以上业务都在使用, 无线浏览器, 花椒, 云盘, 信息流,搜索等等。基于codis的pika集群可支撑百万 qps以及上TB容量,近10套集群也已在搜索/反作弊业务上线使用。同时Pika在公司外部也有大量的使用, 具体可以看 user list: Qihoo360/Pika 当然这只是一部分的使用用户。4ba7da546b05a3708270104977438b5f.png

04

业务收益

如下图:

90047af7d41ae28c6500070a4ed34d70.png

05

HULK云平台数据库自动化运维

HULK 云平台是奇虎360应用开发部于2012年10月开始内部开发,并在2013年1月正式推出的供公司内部使用的私有云计算平台,是简单高效的分布式Web服务开发、运行平台。我们把pika服务集成在了 hulk平台中,为用户提供了统一的类redis服务入口。

01 Pika用户端申请

911e16f9f5f094db84f14660093be41b.png

应用可以通过HULK 用户端发起申请Pika新实例,可选择不同套餐ABCD 分别对应不同的存储容量大小最小是10GB,最大是100GB。如需更大存储容量联系DBA进行申请,可以选择单机房或者多机房,架构分为一主多从和机房自洽(多机房共用相同端口独立主从结构)。

02 Pika管理端审核 

9735fa5719a669bd044fa5153ef97ac9.png

应用通过 HULK用户端申请 Pika后,DBA可以在 HULK 管理端进行审批操作。

03 Pika管理端操作页面

8e699fae4ddd2e4442cf7f93278fa98e.png

管理端可进行“新建实例”,“下线实例”,“维护实例”,“修改配置”,“同机房/跨机房切主”,“实例端口扩容”等常用操作。非常方便DBA进行日常运维操作,当实例故障需要处理的时候点“维护”来避免频繁告警;当主从切换后,HULK 自动对“角色”进行甄别刷新;还可以通过“编辑”按钮对数据库参数进行在线编辑;点击“控制台”可以直接登陆对应机器数据库进行操作;同时当整台机器宕机的时候可以通过“端口克隆”来把机器上所有的端口克隆复制到新机器然后报修。

6320408aa369383a4a767a411ec83195.png

46c7a37216c4ad0710bf14adde97ddbf.png

18d56167232a0ad59012afedd8c3212c.png

cedf009162838c48bc8474a07f7c8dd3.png

9a12b2063a254eae854c8cef71832ee6.png

96f5d84480cdc586339574de3e186e95.png

通过lvs 给每个端口挂在读写以及只读vip可供业务选择实现读写分离和负载均衡。

f57901bf09e38ab49e888e164b9b8cda.png

04 Pika监控指标查看

HULK 用户端业务可查看对应端口的监控信息,比如当前容量使用信息/客户端连接信息/访问统计/连接数/内存/cpu/keys等统计信息

de978ccc8804950e7a42f32be4dfbaea.png

91a2808312c3a73e3eb20d7b900a8c2f.png

05 Pika告警及故障自愈

结合zabbix告警,通过api接口和wonder告警平台发送告警到公司自研交流软件推推以及短信。常见告警通过自愈系统自动进行修复,极大减少人工成本。我们的告警自愈系统可以针对Pika主从复制错误/角色错误/宕机快速恢复主从架构等及时恢复,有效降低了业务影响时间。

cabb01b5c27303094b8bb0cfa8067c5a.png

cfda90487a7e9b6345ce3e247b5bdac4.png

06 Pika数据迁移

业务经常因为内存不断增长导致套餐超值无法申请,逐渐转化为 Pika使用,需要由 Redis->Pika。我们在 HULK用户端 Redis DTS 集成了此功能来进行端口间数据迁移,也可实现 Redis数据迁移 [redis/pika 统一为redis数据库类型。

851e47882e6745b046b22f0a739334a9.png

07 Pika升级

  当前360已升级大部分版本为3.2.8,部分是最新版本3.3.6,建议升级到3.3.6。

 升级到2.3 升级到3.0

① 扩容端口从库

② 扩容完成后所有从节点执行相关处理逻辑  

Pika 26-30主要涉及到bgsave一份数据,然后对备份数据的格式转化,转化时间比看数据量,不过有的无用数据比较多,没compact 的,即使一条也转化的很慢,转化完成后更改替换数据目录启动新版本,然后改identify-binlog-type old ,并且根据info点位同步主从。

③ 从库升级完成后, 切主, 切主后所有节点升级到3.0版本

3.0 升级到 3.2 

① 主从同时跑升级逻辑,执行时间间隙不太长一般都能成功,如果失败了的话,就 做个全同步就好了

Pika 30-32 主要是更换数据目录,由单db改为多db,详细的可以看下脚本或者 github 的升级流程https://github.com/Qihoo360/Pika/wiki/%e5%a6%82%e4%bd%95%e5%8d%87%e7%ba%a7%e5%88%b0Pika3.1%e6%88%963.2

08 Pika备份恢复

备份后端主要通过agent实现远程调用,每天根据备份策略进行bgsave备份,并同步到远程备份机。

e7d493d09fc375acf29d8287a152c3a7.png

  HULK可以查看每天端口的备份情况,失败有日志可以参考进行修复。

63a37697122735507f25d83bd31fea5e.png

备份恢复检查,备份成功后会随机挑选端口进行数据恢复测试并以邮件的形式巡检发送出来。

e71bc4a1d1ce930bc445ca0259ecb061.png

06

总结

360 已使用 Pika至少 5年,线上使用数千实例来支撑各个业务线,一直非常稳定。我们研发和 DBA 致力于打造更好的 Pika 服务和用户体验,在社区不断更新新功能和修复bug以及回复社区问题,捐赠给 OpenAtom 基金会后,越来越多的行业和开发者参与进来。相信 Pika 未来应用会越来越广泛,希望和广大知识爱好者一起进步。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/66337.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

电脑GIF制作软件哪个好 怎么做QQ表情包

Gif表情包是日常聊天中必不可少的,不仅可以活跃聊天氛围,还可以增加感情,平时我们聊天一般使用的都是软件中自带的一些表情包,其实是完全可以自己制作的,那电脑GIF制作软件哪个好,怎么做QQ表情包呢&#xf…

有什么好用的gif制作软件 制作GIF表情包教程

说到gif,我们应该都不会陌生,平时网上聊天经常会用到各式各样的gif 动图,每个人喜欢的类型也都有所不同,曾经gif刚出来的时候,有一股斗图风盛行,那说了这么多,你知道如何制作gif动图&#xff0c…

怎样自制微信gif动态表情包?

在使用QQ、微信等聊天工具进行聊天的时候,很多人都喜欢在聊天的过程中不时的使用一张gif动态表情包,既能够表达出自身的想法,有可以活跃聊天的氛围,提升彼此之间沟通的快乐。那么大家知道自制微信表情包的方法有哪些吗?接下来手把…

如何用手机制作gif表情包图片?简单几步生成GIF动态图

表情包在我们日常社交里是必不可少的,想用图片制成GIF又不会该怎么办呢?在这里推荐一款手机也可以操作的GIF合成工具,在线一键生成GIF让你当一把表情包king,大家一起来看看GIF在线制作的流程吧。     【GIF合成】选择上传的图片(超出尺寸…

gif动态表情包怎么制作?

gif动态表情包制作方法是呢?有哪些好的gif动画制作软件简单方便呢?下面gif中文网给大家介绍一下gif图怎么制作吧。   入口:一键合成高清gif动图-在线gif制作工具-gif.cn_GIF中文网https://www.gif.cn/   首先,点击【gif合成】…

你们制作微信表情包都用了哪些软件?当然必备这3款

你们制作微信表情包都用了哪些软件?推荐哪些软件?王境泽以“真香定律”火爆整个表情包界,不仅仅如此,表情包在我们日常聊天中使用也较为广泛,表情包不仅可以活跃聊天的氛围,还可以缓解尴尬,很多人使用的可能都是电脑…

怎么用视频做gif动图?手把手教你制作gif表情包

想必大家都看到过用电影或电视剧里的名场面制作的gif动图吧,是不是觉得非常有意思呢?当我们也想尝试用视频来制作gif动图的时候,应该怎么办呢?下面,我为大家推荐一个gif制作网站(https://www.yasuotu.com/z…

如何制作微信gif表情包?一个方法教你在线制作gif表情

现在微信聊天软件上会有各种各样的gif表情包,丰富生动,很有意思。那么,我们自己要怎么制作gif表情包呢?很简单,使用【GIF中文网】的gif制作(https://www.gif.cn/)功能,上传两张及以上…

怎么做表情包微信gif?表情包制作软件分享!​

怎么做表情包微信gif?表情包是指一组或多组有意义的表情符号的集合,这些符号通常用于电子通信中的文字消息中,例如在社交媒体、聊天应用程序和电子邮件中。表情包可以包含各种各样的图像,从简单的笑脸到各种各样的动物、表情和场景…

2019最强就业指南,看了达摩院十大科技趋势,再也不怕互联网寒冬

https://www.toutiao.com/a1621518118218776 【2019最强就业指南,看了达摩院十大科技趋势,再也不怕互联网寒冬】 达摩院刚发了份2019十大科技趋势,简直就是十大新职业指南,建议结合前段时间公布的因科技发展而诞生的十大新职业以及…

【达摩院OpenVI】老片图像上色,一键开源体验

团队模型、论文、博文、直播合集,点击此处浏览 一、背景 图像上色(Image Colorization)顾名思义,是指对黑白图像添加色彩,使其变成彩色图像。更具体的说,我们常见的彩色图像通常是三通道图像&…

【达摩院OpenVI】开源体验AI云台,去视频抖动

团队模型、论文、博文、直播合集,点击此处浏览 一、背景 随着自媒体与短视频的兴起,人们有了越来越多的拍摄视频的需求。然而由于手持拍摄、硬件限制等原因,利用手机等普通摄影设备拍摄的视频难免存在视频抖动问题。尤其是开启较高倍数的变焦…

如何发现异常商业数据?达摩院用这套算法

简介: 作者 | 宋晓旻 ​小叽导读:本文将集中分享阿里巴巴达摩院机器智能技术时序智能组与阿里数据团队合作成果——异常数据检测技术的演进和商业数据端的应用展示。文中提到的技术由阿里巴巴达摩院决策智能团队开发,本文由达摩院算法专家宋晓…

【达摩院OpenVI】几行代码,尽享丝滑视频观感

团队模型、论文、博文、直播合集,点击此处浏览 随着网络电视、手机等新媒体领域的快速发展,用户对于观看视频质量的要求也越来越高。当前市面上所广为传播的视频帧率大多仍然处于20~30fps,已经无法满足用户对于高清、流畅的体验追…

马云爸爸成立快一年的达摩院,究竟在做什么?

去年10月份,“马云爸爸”做了一件非常惊人的事——成立阿里巴巴达摩院。 阿里之下的达摩院,来源于武侠小说,作为武学最高研究机构,达摩院代表了修为的最高境界。同样,科研也代表了精进、执着和专注的精神。 达摩院成…

计算机如何“看懂”图片?达摩院提出新的研究方法

简介: 本文的部分内容基于英文论文"Learning in the frequency domain"翻译而来,英文论文已经被计算机视觉顶级会议Computer Vision and Pattern Recognition (CVPR) 2020接收。该论文的公开链接为:https://arxiv.org/abs/…

深度解密阿里达摩院:如何让科技与商业共舞

恐怕再没有一个科研机构被赋予这么诗意的名字,达摩院。 它来源于武侠小说,作为武学最高研究机构,达摩院代表了修为的最高境界。同样,科研也需要精进、执着和专注的精神。 或许是源于对武学的痴迷,2017年10月,阿里巴巴董事局主席马云将新成立的阿里研究院命名为“达摩院…

阿里成立达摩院,三年投入超千亿

马云表示:“阿里巴巴前十年最重要的命题是活下去,内部绝对不提成立研究院。” 阿里巴巴今年18岁了,到了成立研究院的时候了。 今天上午,在2017杭州云栖大会上,阿里巴巴CTO张建锋宣布,阿里巴巴成立全球研究…

阿里达摩院发布并开源“通义”大模型,AI底座之上促场景创新

2022 WAIC带上,达摩院发布并开源“通义”大模型,在国内率先构建了AI统一底座,在业界首次实现模态表示、任务表示、模型结构的统一。 9月2日,阿里巴巴达摩院主办世界人工智能大会“大规模预训练模型”主题论坛。会上,达…

认识一下阿里的AI殿堂-达摩院

国内三大科技领头羊BAT,BT我们已经介绍过,今天随我一起揭开阿里巴巴技术背后的神秘面纱。 1 达摩院的诞生 1.1 冠名与成立 2017年10月11日,第八届云栖大会在杭州拉开了帷幕,这次大会上,马云重磅宣布成立了阿里巴巴全球研究院,取名为达摩院(DAMO),并计划3年内,对达…