黑白之院

Valar Morghulis


  • 首页

  • 归档

  • 分类

  • 标签

  • 收藏

  • 关于

Go 编写姿势

发表于 2019-09-03 | 分类于 Go
| 字数统计: 942 | 阅读时长 ≈ 3
一般情况下,interface 可以直接进行值传递,除非你需要修改 interface 指向的数据。interface 本身很轻量,其包括指向数据类型的指针和存储数据的指针。 Value Receiver 方法可以通过值或者指针调用;Pointer Receiver 则只接受指针调用。换句话说,指 ...
阅读全文 »

野猪🐗书读书笔记之事务

发表于 2019-08-24 | 分类于 系统设计
| 字数统计: 3.5k | 阅读时长 ≈ 12

引言

由于数据存储期间,可能发生错误、故障的点特别多,比如网络中断、磁盘写满等,面对这些复杂的情况,应用层应付起来非常困难。所以就有了事务的概念,说道事务,我们最先能想到的就是:可以一次事务中将很多读写入操作打包成一个逻辑操作单元,整个事务不成功(Committed)便成仁(Rollback)。如果失败,应用层可根据情况安全地重试,不用担心部分写入的问题。

阅读全文 »

野猪🐗书读书笔记之数据复制和分区

发表于 2019-08-18 | 分类于 系统设计
| 字数统计: 4.3k | 阅读时长 ≈ 14

引言

完成第一部分的数据系统基础学习后,就开始进入分布式数据系统的世界了。前面学习的内容主要是针对单节点的情况;然而,在现实中,我们需要考虑到系统的扩展性、容错性以及延迟性等,这就引入了分布式系统。分布式系统中通常会有很多个节点,复杂度自然也上来了。这个部分将主要学习数据系统的复制、分区、事务、一致性共识算法、以及分布式系统设计时的一些挑战等,这些知识都比较硬核,也非常有趣。所以,「上车,走吧~」

本篇笔记重点是关于数据系统的复制和分区,可以了解下常规的主从复制原理、多主复制的应用场景,另外还介绍了无主复制的系统(如亚马逊 Dynamo 系统)。最后就是关于数据分区的介绍,可以了解下常见的分区策略,动态平衡策略等。

阅读全文 »

野猪🐗书读书笔记之数据系统基础

发表于 2019-08-14 | 分类于 系统设计
| 字数统计: 4.7k | 阅读时长 ≈ 16

引言

《数据密集型应用系统设计》(Design Data-Intensive Applications)是一本非常有诚意、非常优秀的讲解针对数据密集场景下系统设计相关的目标、原则和技术选型等知识。作者结合理论与实践,为我们展现了一些技术的发展趋势以及它们之间的对比;同时还介绍了一些关键技术(如存储引擎、序列化协议、分布式一致性)等的实现原理,让我们能够知其然,更知其所以然。

阅读全文 »

Go 源码学习之 Context

发表于 2019-08-02 | 分类于 Go
| 字数统计: 6.7k | 阅读时长 ≈ 30

引言

在一次排查某 HTTP 接口请求频繁因 context canceled 错误导致请求处理失败的问题期间,深入了解了下 Go 语言的 Context 实现。本文将首先介绍我们是如何排查诡异的 context canceled 产生原因(也就是在哪儿因为什么而导致取消的);接下来将深入介绍 Context 诞生的目的、源码解析及应用场景等,便于更进一步加深对它的理解;最后我们也会谈及使用 Context 的一些痛点。

阅读全文 »
1…567…10
iFaceless

iFaceless

47 日志
16 分类
75 标签
RSS
GitHub 邮箱 专栏
常用链接
  • Lingering Fragments
  • The Morning Paper
  • freeCodeCamp
  • Draveness's Blog
© 2018 — 2020 黑白之院(iFaceless)
由 Hexo 强力驱动
|
主题 — NexT.Mist
0%