24__实战:处理四层流量,实现Memcached_Server

你好,我是温铭。

在前面几节课中,我们介绍了不少处理请求的 Lua API,不过它们都是和七层相关的。除此之外,OpenResty 其实还提供了 stream-lua-nginx-module 模块来处理四层的流量。它提供的指令和 API,与 lua-nginx-module 基本一致。

24__实战一(下):如何实现一个遵从设计原则的积分兑换系统?

上一节课中,我们讲了积分系统的需求分析和系统设计。今天,我们来讲它的代码实现。

上一节课中,我们把积分赚取和消费的渠道和规则的管理维护工作,划分到了上层系统中,所以,积分系统的功能变得非常简单。相应地,代码实现也比较简单。如果你有一定的项目开发经验,那实现这样一个系统,对你来说并不是件难事。

24__替换策略:缓存满了怎么办?

你好,我是蒋德钧。

Redis 缓存使用内存来保存数据,避免业务应用从后端数据库中读取数据,可以提升应用的响应速度。那么,如果我们把所有要访问的数据都放入缓存,是不是一个很好的设计选择呢?其实,这样做的性价比反而不高。

24__突发式流量数据暴跌,产品经理应该如何应对?【拆解篇】

极客时间的专栏读者你好,我是邱岳。这一次我们继续聊跟数据分析相关的话题。

我们在前面的文章中假设了一个情境:“你在早晨起来,发现昨天产品流量暴跌 20%”。上一次分享,我们主要从产品和渠道的角度介绍了分析思路,这一次的分享,我们就从用户的角度出发,继续对这个问题进行拆解和分析。

24__物理内存管理(下):会议室管理员如何分配会议室?

前一节,前面我们解析了整页的分配机制。如果遇到小的对象,物理内存是如何分配的呢?这一节,我们一起来看一看。

小内存的分配

前面我们讲过,如果遇到小的对象,会使用 slub 分配器进行分配。那我们就先来解析它的工作原理。

24__想成为Android高手,你需要先搞定这三个问题

专栏上线已经两个多月,模块一“高质量开发”也已经更新完毕,你掌握地如何呢?我知道有不少同学一直随着专栏更新积极学习、认真完成课后的练习作业,并且及时给我反馈,作为专栏作者我很欣慰。

但也有不少同学表示很难跟上专栏的进度,似乎对“如何成为 Android 开发高手”感到更加迷茫也更困惑了。“这个专栏实在是太难了!”“我日常工作根本用不上这些知识!”“我应该怎样做才能更好地学习这个专栏?”。太难了、工作用不到、想学但是又不知道从何入手,这是我听到同学们反馈最多的三个问题。

24__业务代码写完,就意味着生产就绪了?

你好,我是朱晔。今天,我们来聊聊业务代码写完,是不是就意味着生产就绪,可以直接投产了。

所谓生产就绪(Production-ready),是指应用开发完成要投入生产环境,开发层面需要额外做的一些工作。在我看来,如果应用只是开发完成了功能代码,然后就直接投产,那意味着应用其实在裸奔。在这种情况下,遇到问题因为缺乏有效的监控导致无法排查定位问题,同时很可能遇到问题我们自己都不知道,需要依靠用户反馈才知道应用出了问题。

24__一致性哈希:如何高效地均衡负载?

你好,我是陶辉。

还记得我们在[第 22 讲] 谈到的 Cassandra 数据库吗?它将服务器节点组成一个环来存储数据,所使用的就是一致性哈希算法。那这一讲,我们就来看看一致性哈希算法是怎样工作的。

24__运维:如何构建高可靠的etcd集群运维体系?

你好,我是唐聪。

在使用 etcd 过程中,我们经常会面临着一系列问题与选择,比如:

  1. etcd 是使用虚拟机还是容器部署,各有什么优缺点?
  2. 如何及时发现 etcd 集群隐患项(比如数据不一致)?
  3. 如何及时监控及告警 etcd 的潜在隐患(比如 db 大小即将达到配额)?
  4. 如何优雅的定时、甚至跨城备份 etcd 数据?
  5. 如何模拟磁盘 IO 等异常来复现 Bug、故障?

今天,我就和你聊聊如何解决以上问题。我将通过从 etcd 集群部署、集群组建、监控体系、巡检、备份及还原、高可用、混沌工程等维度,带你了解如何构建一个高可靠的 etcd 集群运维体系。