什么时候需要分库分表
分库
分库主要解决并发量过高的问题。
当并发上来了,单库的链接数就有可能成为瓶颈,这时候增加数据库实例以提高系统并发度。
常见的分库场景会按照微服务业务来拆分(垂直):
Shopee 供应链团队开发语言慢慢从 Python 切到了 Go 语言,代码覆盖率这种评估测试活动的常规手段也应该快速建设,业界在 Java、C++ 等语言有比较成熟的覆盖率方案,但在 Go 语言上较少,下文将介绍在这个背景下进行的挑战和实践。
Golang 原生有 go test 工具集用于覆盖率统计,但 go test 无法像 Jacoco、Gcov 这样轻松做到以集成测试的方式统计覆盖率的能力。但经过分析有以下几个原因:
为了解决以上问题,深入研究了 Go 覆盖率生态及其实现原理,并结合了七牛开源的 goc 集测覆盖率工具,实现了几乎无侵入的运行时覆盖率统计,并进而提供了 分支级别的增量覆盖率 和 基于AST实现的函数维度覆盖率合并 能力,并提供详细的 全量覆盖率 和 增量覆盖率 报告。
操作系统作为计算机基础学科之一,其经过多年的发展,内容多而全,知识几乎横跨平时编程中接触的所有概念。重新温习操作系统,一是可以让我们对开发有一个底层的认知,遇到问题可以多一条思路;二是扩大知识面和加深理解,现代很多技术的实现中都能看到操作系统的概念,和相关解决方案。
大部分同学在首次接触学习操作系统的过程中,会遇到很多阻力,究其原因一是因为操作系统需要很多前置知识才能理解,例如硬件设备,编译原理,汇编等等;二是因为操作系统中的概念太多且描述的很深奥,大部分场景没有实际经验是很难理解其真正含义。所以在上层开发积累了一定经验之后,接触到的很多概念,例如缓存,并发,持久化等等是可以回过头来套在操作系统底层知识一起理解的。
建议大家在工作之余,能够回头再来看看网络,操作系统一类的基础书籍,共同学习,会有很大的收获~
对数据进行了爬取之后,打算做一些简单的数据分析,对二手平台笔记本的回收有一个大概的了解。
爱回收数据采集分析过程见:https://yujunjiex.gitee.io/2019/09/30/爱回收二手平台爬虫分析/
数据采集的笔记本品牌包括以下22种:
这个数据采集项目本来是一个外包项目,做完了一阵子老板不要了…所以就把它开源了…
项目地址:https://github.com/yujunjiex/AHSSpider
数据分析结果请见:https://yujunjiex.gitee.io/2019/10/01/爱回收二手平台数据分析