首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
有疑说
掘友等级
Principal Engineer
|
Shopee
前微信搜一搜、看一看后台开发 高级工程师
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
47
文章 47
沸点 0
赞
47
返回
|
搜索文章
最新
热门
高并发系统设计(4) —— 结构化缓存
在众多应用中,缓存都是标配,使用缓存都能获得非常巨大的性能提升。然而却少有人能把缓存用好,使用缓存的服务,随着需求的迭代都会不可避免的陷入一种怪圈: 在反复的折腾之下,系统难以维护,最终不得不走向整体“重构”。 以微博为例,当打开微博时,页面主要数据构成有:分类列表(左侧);微…
永远不要在不知道如何停止的情况下启动一个 goroutine
在 Go 中,goroutine 的创建成本低,调度效率高,同时存在数十万个 goroutine 并不奇怪。虽然单个 goroutine 使用的内存有限,但是不意味着可以毫无限制的创建 goroutine。 每次启动 goroutine 时,必须知道 goroutine 何时、…
译|Go Concurrency Patterns: Context
在 Go 服务中,每个传入的请求在单独的 goroutine 中处理。请求回调函数通常启动额外的 goroutine 以访问后端,如数据库和RPC服务。处理同一请求的一系列 goroutine 通常需要访问请求相关的值,例如端用户的标识、授权令牌和请求截止时间。当请求被取消或超…
sync.singleflight 到底怎么用才对?
所有的请求被同时打到下游存储上,将会影响下游存储的服务质量,因此需要严格限制访问下游存储的并发量。使用 Golang 编程的人,倾向于不假思索的使用 singleflight 应对 Cache Miss(缓存未命中),即: 在绝大多数场景下,singleflight 都很好用,…
译|Optimal Logging
找到系统故障的根本原因,需要多长时间?5分钟?还是5天?如果你的答案接近5分钟,那么你的生产系统和测试很大可能有非常好的日志记录。更常见的情况是,诸如日志、异常处理、甚至测试这类非核心的工作,被当作一种出现问题后的补救方式。同异常处理和测试一样,在系统和测试中都需要日志记录的策…
内存管理基础概念总述
在1940 ~ 1950年代,所有较大的程序都必须包含管理内存和二级存储的逻辑,例如overlaying。为了允许多程序和多任务,许多早期系统在多个程序之间划分内存,例如:早期模型 PDP-10 。 有一种经不起推敲的说法,虚拟内存的概念的来源是德国物理学家弗里茨·鲁道夫·居特…
Golang 进阶文章一览
最近在组内 Code Review 发现很多同学学习时间虽然不短,但Golang的一些基本Pattern仍然有所疏漏。 如果时间不是问题,那么就是知识体系存在漏洞。那么一个体系化、结构化的指南,对他们应该会帮助,因此整理之前主体阅读过的经典文章,形成了本篇文章。
从 lsof 开始,深入理解虚拟文件系统
有时会出现这样的情况,磁盘空间显示已经被占满,但是在查看磁盘的具体文件占用情况时,发现磁盘仍然有很大的空余空间。 1. 执行df命令查看磁盘使用情况,发现磁盘已经满了。 2. 执行du命令查看各个目录的磁盘占用情况,把各个目录文件的大小相加,发现并没有占满磁盘,有10多G空间莫…
B+树 —— 数据库的灵魂
虽然 Nosql 风生水起,关系型数据库在当前的开发中仍然扮演着不可或缺的角色。因此在面试中也会被时常问到,很多问题即使是工作多年的同学仍然会磨棱两可,例如: 很多人把原因归结于没有认真准备。靠记忆死记硬背终归落了下乘,归根结底还是没有把握住本质。Mysql的本质是什么?当然是…
数据库常识课
1TB:如果数据库会膨胀到 TB 级别,需要考虑 MySQL 分库分库。 每秒 1000 次写入:单节点写入速率超过每秒 1000 次。可以考虑根据业务场景引入 Redis 或消息队列作为写缓冲,实现数据库写操作异步化 数据库的单机QPS不过几千,显然满足不了互联网业务场景下对…
下一页
个人成就
文章被点赞
152
文章被阅读
49,287
掘力值
1,591
关注了
3
关注者
57
收藏集
3
关注标签
10
加入于
2019-02-20