这是一个纷杂而无规则的世界,越想忘掉的事情,越难忘记。 正文 我们这行都很幽默,总说编程就是CV,自黑写程序大部分都是靠复制粘贴。实际上,很多高级或资深程序员写代码也就是CV:把其他项目里的一段代码复制过来,稍加改动,run一下没问题就能上线。但这种做法就是在给子孙后...
操作日志几乎存在于每个系统中,而这些系统都有记录操作日志的一套API。操作日志和系统日志不一样,操作日志必须要做到简单易懂。所以如何让操作日志不跟业务逻辑耦合,如何让操作日志的内容易于理解,如何让操作日志的接入更加简单?上面这些都是本文要回答的问题。我们主要围绕着如何“优雅”地记...
直播业务的核心功能有两个,一个是实时音视频推拉流,另一个是直播间消息流的收发。本文主要介绍百度直播服务内的消息服务系统的设计实践和演化。
Linux内核对网络包的接收过程大致可以分为接收到RingBuffer、硬中断处理、ksoftirqd软中断处理几个过程。其中在ksoftirqd软中断处理中,把数据包从RingBuffer中摘下来,送到协议栈的处理,再之后送到用户进程socket的接收队列中。
这篇文章酝酿了很久,一直想写,却一直觉得似乎要讲的东西有点杂,又不是很容易讲清楚,又怕争议的地方很多,就一拖再拖。但是,每次看到不少遇到跟这个设计相关导致的问题,又忍不住跟人讨论,但又很难一次说清楚,于是总后悔没有及早把自己的观点写成文章。不管怎样,观点还是要表达的,无论对错。故...
背景最近,在对公司容器云的日志方案进行设计的时候,发现主流的ELK或者EFK比较重,再加上现阶段对于ES复杂的搜索功能很多都用不上最终选择了Grafana开源的Loki日志系统,下面介绍下Loki的背景。背景和动机当我们的容器云运行的应用或者某个节点出现问题了,解决思路应该如下:...
抓手,赋能,勾兑,组合拳......这些话听起来耳熟吗? 对于互联网小白来说,这些术语就像江湖“黑话”一样难懂。但即使是互联网老人,对这些话也是褒贬不一。有个网友发帖吐槽自己的新leader“味道很重”,别误会,这可不是说leader口臭,而是指对上面这些词
我们使用MQ作为消息中间件,传输一些消息的时候,必须考虑到消息丢失的可能。因为有的时候消息丢失了,会产生很严重的后果,比如消息计费数据,跟钱有关的消息。这篇文章我们以RocketMQ为例来讲解,如何设计一套全链路消息不丢失的方案。接下来我们分别讲下生产者、broker、消费者,如...
URL去重在我们日常工作中和面试中很常遇到,包括阿里,网易云、优酷、作业帮等知名互联网公司都出现过相关面试题,而且和URL去重比较类似的,如IP黑/白名单判断等也经常出现在我们的工作中,所以本文就来“盘一盘”URL 去重的问题。
不管你是从事开发还是运维工作,或多或少都会接触到Linux基本命令,Linux命令也是Linux系统正常运行的核心。但是Linux命令那么多,都要学习吗?当然不是了,一般只需掌握工作中常用的命令以及命令本身的参数选项就够了,其他的等遇到需要的时候再自行查阅。今天给大家分享一份超详...