Redis线程模型的前世今生

作者:vivo互联网服务器团队-Wang Shaodong一、概述众所周知,Redis是一个高性能的数据存储框架,在高并发的系统设计中,Redis也是一个比较关键的组件,是我们提升系统性能的一大利器。深入去理解Redis高性能的原理显得越发重要,当然Redis的高性能设计是一个系统性的工程,涉及到很多内容,本文重点关注Redis的IO模型,以及基于IO模型的...
📅 2023-08-10 阅读全文 →

上线稳定性如何保证?开关编程很有用

 在日常工作中,无论是一周一个迭代,还是两周一个迭代,都避免不了上线的环节。唯一的区别就是上线的频次不同而已。那么我们如何保证在这么高频次的发版里面同时保证稳定性呢? 答案就是开关编程,所谓的开关编程其实就是加个if判断,但是可以动态去调整if里面的值,能够随时控制逻辑的走向。开关需要自己编写,自己控制,动态调整值则可以借助于配置中心,改...
📅 2023-08-10 阅读全文 →

【万字长文】吃透负载均衡

首先告诉大家一件事,在十一国庆期间,引擎的机器又又。。。又扛不住了流量。经过监控分析,发现某个服务的一个实例所在的虚拟机扛不住了,所以采取临时措施流量控制之后,问题解决了,但还是造成了不小的损失。经过此次故障,以及分析故障的过程中对负载均衡又有了新的更加深入的认识,所以将这部分写出来,算是做个故障总结吧。1写在前面写本文的目的:对负载均衡的理解零零散散,不成...
📅 2023-08-10 阅读全文 →

如何从零设计一款高并发架构(建议收藏)

来源:http://blog.thankbabe.com高并发经常会发生在有大活跃用户量,用户高聚集的业务场景中,如:秒杀活动,定时领取红包等。为了让业务可以流畅的运行并且给用户一个好的交互体验,我们需要根据业务场景预估达到的并发量等因素,来设计适合自己业务场景的高并发处理方案。在电商相关产品开发的这些年,我有幸的遇到了并发下的各种坑,这一路摸爬滚打过来有着...
📅 2023-08-10 阅读全文 →

面了个 32+ 岁 Java 大佬,一言难尽......

最近群里一个 Java 大佬,出去面试轻松拿下字节、蚂蚁等 3 家大厂的 offer,简直就是大厂 offer 收割机! 最终大佬选了字节,年包 70w,羡慕哭了???? 这么好的资源肯定不能放过,我立马拜托他给总结了他的面试经历和一些心得体会。毕竟字节的面试难度大家都知道的,不是一般的难。  除了这些,大佬还分享了他...
📅 2023-08-10 阅读全文 →

字节一实习生求助:晚上九点半在公司打游戏,被领导发现后开除,将来找工作会背调出来吗?

打游戏是许多年轻人的爱好,在家里怎么打都无可厚非,但如果是在公司打,还被领导抓住了,那会怎么样呢?一个字节的实习生发帖求助:打游戏被上上级领导拍照了,商量的结果是自己回学校。不知道会不会影响以后找工作,据说阿里的背调还挺严格的,担心这段经历影响自己毕业求职。注意:楼主打游戏的时间是晚上九点半。网友震惊:这不是下班时间吗?打个游戏也有问题?有人说,都这么晚了,...
📅 2023-08-10 阅读全文 →

Redis 分布式锁的正确实现原理演化历程与 Redisson 实战总结

❝可能是最完善的 Redis 分布式锁原理与实战总结,建议收藏Redis 分布式锁使用 SET 指令就可以实现了么?在分布式领域 CAP 理论一直存在。分布式锁的门道可没那么简单,我们在网上看到的分布式锁方案可能是有问题的。「码哥」一步步带你深入分布式锁是如何一步步完善,在高并发生产环境中如何正确使用分布式锁。在进入正文之前,我们先带着问题去思考:...
📅 2023-08-10 阅读全文 →

一个简单需求竟让我改了十几处代码,必须控诉到底什么是重复代码!

这是一个纷杂而无规则的世界,越想忘掉的事情,越难忘记。        正文   我们这行都很幽默 ,总说编程就是CV,自黑写程序大部分都是靠复制粘贴。实际上,很多高级或资深程序员写代码也就是CV:把其他项目里的一段代码复制过来,稍加改动,run 一下没问题就能上线。但这种做法就是...
📅 2023-08-10 阅读全文 →

技术十年

走过的路,回忆起来是那么曲折,把自己的一些心得体会分享给程序员兄弟姐妹们,虽然时代在变化,但是很可能你也会走我已经走过的10年的路程,有些心得体会你可以借鉴一下。在某一天的某一个时候,突然意识到,自己已经毕业工作十年了,是该写篇东西,来记录下自己的十年,算是给自己一个心理的慰藉,亦算是给自己入职场以来,第一个十年的总结。 大学生活 我是03年上的大学,上大学...
📅 2023-08-10 阅读全文 →

背了那么多面试八股文,都没有阿里大佬整的这300道题好用!

最近,一位45岁程序员给中国政府网的留言,在社交媒体引发热议。这位网友留言称,“我是一名软件开发人员,今年45岁,精通各种技术体系… …而我辞职回家半年后再回来寻找工作机会的时候,却发现连个面试机会都很难得到。”越来越多的迹象表明,年龄歧视,已成为劳动就业领域比肩性别歧视的一个相当普遍的问题。并且,让整个IT圈更受到冲击的是:有专业技术的找工作尚且如此,没有...
📅 2023-08-10 阅读全文 →

全中国一共有多少IP地址?

这段时间不是某某云的云服务器广告铺天盖地嘛,而我去年双十一用新用户搞的那个服务器也到期了,到了续费的时间一看,还真是肉疼啊。果然还是应了那句话:白piao一时爽,续费火葬场幸好我那上面也没啥重要的数据,关了就关了吧。然后我又换了个账号享受新用户的低价,这一次,直接买了三年。话题扯远了,今天要聊的话题是关于IP地址。IP地址因为我平时会弄个小程序,搭个网站博客...
📅 2023-08-10 阅读全文 →

高可用 Prometheus 架构实践中的踩坑集锦

监控系统的历史悠久,是一个很成熟的方向,而 Prometheus 作为新生代的开源监控系统,慢慢成为了云原生体系的事实标准,也证明了其设计很受欢迎。本文主要分享在 Prometheus 实践中遇到的一些问题和思考,如果你对 K8S 监控体系或 Prometheus 的设计还不太了解,可以先看下容器监控系列。几点原则:监控是基础设施,目的是为了解决问题,不要只...
📅 2023-08-10 阅读全文 →

效率提升多倍, 推荐值得收藏40 个命令总结

1 删除0字节文件find -type f -size 0 -exec rm -rf {} \;2 查看进程按内存从大到小排列PS -e -o "%C : %p : %z : %a"|sort -k5 -nr3 按 CPU 利用率从大到小排列ps -e -o "%C : %p : %z : %a"|sort -nr4 打印 cache 里的URLgrep&n...
📅 2023-08-10 阅读全文 →

基于 Prometheus 的监控系统实践

监控作为底层基础设施的一环,是保障生产环境服务稳定性不可或缺的一部分,线上问题从发现到定位再到解决,通过监控和告警手段可以有效地覆盖了「发现」和「定位」,甚至可以通过故障自愈等手段实现解决,服务开发和运维人员能及时有效地发现服务运行的异常,从而更有效率地排查和解决问题。一个典型的监控(如白盒监控),通常会关注于目标服务的内部状态,例如:单位时间接收到的请求数...
📅 2023-08-10 阅读全文 →

某大龄程序员用亲身经历推翻35岁红线:大厂offer拿到手软,35岁才是黄金年龄!

35岁程序员难找工作已经成为互联网圈内人尽皆知的事,但一个35岁程序员却用亲身经历告诉我们:35岁不仅不难找工作,相反还是找工作的黄金年龄。他拿到了字节、蚂蚁、华为、虾皮还有若干创业公司的offer。楼主说,能力不行就说能力不行,别把原因归咎到年龄、性别和学历歧视上,很多人不敢正视自己的问题,只会找客观原因。35岁如果刷得了题,码得了码,八股文背得溜,项目经...
📅 2023-08-10 阅读全文 →

亿级数据服务平台:跟低效率、指标难统一的数仓说再见!

数据服务是数据中台体系中的关键组成部分。作为数仓对接上层应用的统一出入口,数据服务将数仓当作一个统一的 DB 来访问,提供统一的 API 接口控制数据的流入及流出,能够满足用户对不同类型数据的访问需求。电商平台唯品会的数据服务自 2019 年开始建设,在公司内经历了从无到有落地,再到为超过 30+业务方提供 to B、to C 的数据服务的过程。本文主要介绍...
📅 2023-08-10 阅读全文 →

这样建统一告警平台,运维的告警麻痹症有救了

一、背景一套监控系统的检测和告警是密不可分的,检测用来发现异常,告警用来将问题信息发送给相应的人。vivo监控系统1.0时代各个监控系统分别维护一套计算、存储、检测、告警收敛逻辑,这种架构下对底层数据融合非常不利,也就无法实现监控系统更广泛场景的应用,所以需要进行整体规划,重新对整个监控系统架构进行调整,在这样的背景下统一监控的目标被确立。以前监控被划分为基...
📅 2023-08-10 阅读全文 →

15 种 SQL 优化中,老司机才懂的处理技巧

前言SQL优化是一个大家都比较关注的热门话题,无论你在面试,还是工作中,都很有可能会遇到。如果某天你负责的某个线上接口,出现了性能问题,需要做优化。那么你首先想到的很有可能是优化SQL语句,因为它的改造成本相对于代码来说也要小得多。那么,如何优化SQL语句呢?这篇文章从15个方面,分享了SQL优化的一些小技巧,希望对你有所帮助。一、避免使用select *很...
📅 2023-08-10 阅读全文 →

十亿级流量下,我与Redis时延小突刺的战斗史

一、背景某一日收到上游调用方的反馈,提供的某一个Dubbo接口,每天在固定的时间点被短时间熔断,抛出的异常信息为提供方dubbo线程池被耗尽。当前dubbo接口日请求量18亿次,报错请求94W/天,至此开始了优化之旅。二、快速应急 2.1 快速定位首先进行常规的系统信息监控(机器、JVM内存、GC、线程),发现虽稍有突刺,但都在合理范围内,且跟报错时间点对不...
📅 2023-08-10 阅读全文 →

爱奇艺裁员内幕曝光:以中层(总监级别)和高薪老员工居多!再这么下去,滴滴司机和外卖小哥的市场都要饱和了!

年关将近,爱奇艺却传出了裁员消息。近日,有爱奇艺员工表示,目前爱奇艺正在裁员,裁员比例在20%到40%之间,裁员补偿暂定n+1。据称,本次爱奇艺裁员以中层(总监级别)和高薪老员工居多。花钱为主的部门裁员比例在30%以上,最多能到50%。没过试用期的员工几乎都被裁员。爱奇艺研究院、游戏中心等部门几乎全员被裁,短视频产品会和其他产品合并,只有40%的人可以留下。...
📅 2023-08-10 阅读全文 →

如何优雅的关闭容器,看这一篇就够了

最近把 Docker 官方的 Docker Reference 文档又读了一遍,发现有些细节深究起来,还是有很多可挖的。针对写 Dockerfile ,大部分时候只要照葫芦画瓢,基本也不会有什么大的问题,但是如果再深入理解一下那就更有意思了。要说如何优雅的关闭容器,那就不得不提到信号(Signal)的理念,以及 Dockerfile 中 ENTRYPOINT...
📅 2023-08-10 阅读全文 →

记一次 Kubernetes 集群被入侵,服务器变矿机

近期遇到了一次我们自建 Kubernetes 集群中某台机器被入侵挖矿,后续也找到了原因,所幸只是用来挖矿…网络安全是个严肃的问题,它总是在不经意间出现,等你反应过来却已经迟了。希望各位读者看完后也有所启发,去检查及加固自己的集群。入侵现象检查到某台机器中出现了异常进程./.system -o pool.supportxmr.com:3333 --donat...
📅 2023-08-10 阅读全文 →

原来 Kubernetes 部署如此简单,看完全明白了

将项目迁移到k8s平台是怎样实现的?制作镜像控制器管理PodPod数据持久化暴露应用对外发布应用日志/监控1 制作镜像分为三步:第一基础镜像,是基于哪个操作系统,比如Centos7或者其他的第二步中间件镜像,比如服务镜像,跑的像nginx服务,tomcat服务第三步项目镜像,它是服务镜像之上的,将你的项目打包进去,那么这个项目就能在你这个服务镜像里面运行了一...
📅 2023-08-10 阅读全文 →

根本停不下来,原来学计算机可以这么有趣

对于很多人来说,他们生活在一个有智能手机、平板电脑、可以随时随地上网、打电话、聊天交友、购物的时代。殊不知我们现在所享受的这些便利都源于二十世纪最伟大的发明之一-计算机 尽管计算机与互联网已经随处可见,但是为了探寻底层,科技的发展进步。你还是应该了解一下:计算机怎么会一步步地变得能干起来、变得越来越“聪明”了? 这也是我们科普的价值所在。...
📅 2023-08-10 阅读全文 →

阿里女员工被性侵案又有反转:被侵害女员工被阿里前上司、原阿里集团副总裁告上法庭!

还记得之前沸沸扬扬的阿里女员工被性侵案吗?这个大瓜又有反转,这次“被害人”周某(花名:新月)成了被告。起诉她的是她在阿里的前上司、原阿里巴巴集团副总裁李永和(花名:老鼎),起诉理由是周某侵犯自己名誉,要求周某在全国性网站首页显著位置连续15日书面向自己赔礼道歉,为自己消除影响、恢复名誉,并索赔人民币1元。由于这个瓜拖得时间太久,帮大家回忆一下,之前周某通过在...
📅 2023-08-10 阅读全文 →

了解 ElasticSearch 这几个知识点后,查询起飞~

最近接触的几个项目都使用到了 Elasticsearch (以下简称 ES ) 来存储数据和对数据进行搜索分析,就对 ES 进行了一些学习。本文整理自我自己的一次技术分享。本文不会关注 ES 里面的分布式技术、相关 API 的使用,而是专注分享下“ES 如何快速检索”这个主题上面。这个也是我在学习之前对 ES 最感兴趣的部分。本文大致包括以下内容:关于搜索:...
📅 2023-08-10 阅读全文 →

记一次 Linux 被入侵全过程

0x00 背景周一早上刚到办公室,就听到同事说有一台服务器登陆不上了,我也没放在心上,继续边吃早点,边看币价是不是又跌了。不一会运维的同事也到了,气喘吁吁的说:我们有台服务器被阿里云冻结了,理由:对外恶意发包。我放下酸菜馅的包子,ssh连了一下,被拒绝了,问了下默认的22端口被封了。让运维的同事把端口改了一下,立马连上去,顺便看了一下登录名:root,还有不...
📅 2023-08-10 阅读全文 →

记一次单机系统的性能优化:最后竟是 TCP 的锅

前言这篇文章的主题是记录一次 Python 程序的性能优化,在优化的过程中遇到的问题,以及如何去解决的。为大家提供一个优化的思路,首先要声明的一点是,我的方式不是唯一的,大家在性能优化之路上遇到的问题都绝对不止一个解决方案。如何优化首先大家要明确的一点是,脱离需求谈优化都是耍流氓,所以有谁跟你说在xx机器上实现了百万并发,基本上可以认为是不懂装懂了,单纯的并...
📅 2023-08-09 阅读全文 →

坚定推动DDD落地的企业,70%代码效率翻倍了!

对于架构师而言,设计高质量的架构是困难和复杂的。简而言之,耗费大量人力物力打造一套高并发、高可用、高性能架构,不应只是为了解决当下业务需求,更应该是健硕的、可维护的、足够灵活和能快速成长的。以这两年业内争议较大的 DDD 领域驱动设计为例,其实,DDD 思想已经很好解决了当前大型企业级架构所遇到的种种难题(至少在理论层面),比如通过设计上下文映射,就能从本质...
📅 2023-08-09 阅读全文 →

通俗理解 Kubernetes 中的服务,搞懂后真“有趣”

1. 复习 pod 相关核心结构1.1 pod 结构pod 相当于一个容器,pod 有独立的 ip 地址,也有自己的 hostname,利用 namespace 进行资源隔离,相当于一个独立沙箱环境。pod 内部封装的是容器,可以封装一个,或者多个容器(通常是一组相关的容器)1.2 pod 网络pod 有自己独立的 IP 地址pod 内部的容器之间是通过 l...
📅 2023-08-09 阅读全文 →