gydtep
发表于 2021-3-15 14:45:47
代码文本不是简单的二维平面结构,看懂一段代码需要反复地通过定义与引用的跳转,才能将代码深层次的逻辑和片段影响范围理解透彻。纯文本形式的代码浏览是网页端代码评审的最大痛点之一,朱熹老先生常说“心不在此,则眼不看仔细,心眼既不专一,却只漫浪诵读,决不能记,记亦不能久也。
gydtep
发表于 2021-3-15 18:09:06
索引构建的另外一个难点是增量计算。如上文所述,语法服务索引构建对资源的要求非常高,而现实中代码库不可避免地会存在频繁提交的现象。如此引申出了两个优化点:
利用增量的方式减少存储内容的变更,加快索引构建速度。
利用分布式时序锁减少频繁请求带来的压力。
gydtep
发表于 2021-3-16 13:07:53
阿里不缺解决问题的同学,但是缺定义问题的同学。你怎么知道这是个问题,并且把这个问题定义清楚。需要将发现的问题进行抽象和归纳,定义出问题的基本要素,同时定义出问题的短期和长期方案,推进技术整体的进步。
gydtep
发表于 2021-3-16 15:20:40
学习也不是说去瞎学,一定要有体系化的。首先跟你工作相关的,要体系化的去学习,从最下到最上体系化的去学习,学习完了以后你会有新的不一样的认识。把你的想法可以向你的团队说出来,向你的主管说出来。
gydtep
发表于 2021-3-16 18:50:26
• SNAPSHOT_TS 用于判断其他事务提交数据对当前事务的可见性,统一了一个分布式事务在每个分片上进行读取发生的时间。SNAPSHOT_TS 决定了当前事务的快照。
gydtep
发表于 2021-3-17 09:55:37
这主要因为 CNCF 基金会在当时的核心拳头软件就是 K8s,因此在概念定义上主要是围绕着容器编排建立起来的生态。其实这也是为什么我们可以看到 CNCF 定义云原生的时候有时感觉就是再说容器生态。
gydtep
发表于 2021-3-17 13:34:07
下面介绍云原生架构的一些关键技术点。涉及内容由微服务、分布式常见架构设计(性能、数据一致性、可扩展性、高可用)、研发流程、DevOps、组织文化等,可以根据目录选择性的看看,基本上都是一些介绍,详细的设计可以查看相关文档进一步了解。
gydtep
发表于 2021-3-17 15:31:40
性能指标
响应时间(Latency),就是发送请求和返回结果的耗时。
吞吐量(Throughput),就是单位时间内的响应次数。
负载敏感度,是指响应时间随时间变化的程度。例如,当用户增加时,系统响应时间的衰减速度。
可伸缩性,是指向系统增加资源对性能的影响。例如,要使吞吐量增加一倍,需要增加多少服务器。
gydtep
发表于 2021-3-17 20:26:51
Code Review
提升代码易读性。
统一规范、标准。
技术交流,提升能力。
Code Review 原则:以发现问题为目标,团队开放、透明,整个 Code Review 的过程对事不对人,不设置惩罚。
线上线下接合的方式,长期线上,定期线下。
gydtep
发表于 2021-3-18 09:46:25
不可变基础设施、可观测、自动恢复
基于 K8s 底座,背后代表的是镜像之类的不可变基础设施以及可观测、自动恢复,如果检测到请求失败,会自动切流或重启实例。