gydtep
发表于 2021-5-26 13:47:34
BEGIN;
SELECT balance FROM accounts WHERE id = 0 FOR UPDATE; # 检查余额,需要加锁
UPDATE accounts SET balance = balance - 1 WHERE id = 0;
UPDATE accounts SET balance = balance + 1 WHERE id = 1;
COMMIT;
上面的 SQL 执行的是一个典型的转账场景,将 1 元从 id 为 0 的账户转到 id 为 1 的账户,在整个事务中都没有使用到快照读,因此针对这种场景我们会省略 SNAPSHOT_TS 的获取。
gydtep
发表于 2021-5-27 10:04:59
Martin Fowler 与 James Lewis 共同提出了微服务的概念,定义了微服务架构是以开发一组小型服务的方式来开发一个独立的应用系统,每个服务都以一个独立进程的方式运行,每个服务与其他服务使用轻量级(通常是 HTTP API)通信机制。
gydtep
发表于 2021-5-27 17:17:20
如何扩展数据库
X 轴扩展——主从复制集群
Y 轴扩展——分库、垂直分表
Z 轴扩展——分片(sharding)
gydtep
发表于 2021-5-27 20:59:07
分布式系统的一致性分类
建立多个副本。可以把副本放到不同的物理机、机架、机房、地域,当一个副本失效时,可以让请求转到其他副本。
对数据进行分区。复制多个副本解决了读的性能问题,但是无法解决写的性能问题。
gydtep
发表于 2021-5-28 11:18:10
Saga 事务模型:又叫 Long-running-transaction,核心思想是把一个长事务拆分为多个本地事务来实现,由一个 Process manager 统一协调。
gydtep
发表于 2021-5-29 13:00:03
第一定律:Communication dictates design,即组织沟通方式会通过系统设计呈现。
第二定律:There is never enough time to do something right,but there is always enough time to do it over,即时间再多,一件事情也不可能做得完美,但总有时间做完一件事情。
gydtep
发表于 2021-5-31 09:09:54
亚洲、中东和非洲地区的开发人员采用容器和云原生技术的速度较慢。中国的各大公司在向云的迁移方面一直滞后,并且云原生技术的使用也呈现同样的趋势。随着阿里巴巴的 CaaS 获得市场的青睐,相信将来东亚地区会涌现更多云原生开发人员。
gydtep
发表于 2021-5-31 14:17:49
Kubenetes 已经成为了云原生的操作系统,而容器成为了操作系统调度的基本单元,同时定义了应用交付的标准。但对于开发者来说,这些还远没有深入到应用的架构,改变应用的编程界面。但是这种变革已经在悄然发生了,而且有不断加速之势。
gydtep
发表于 2021-5-31 16:36:03
随着异构硬件虚拟化、资源池化、异构资源调度和应用框架支持的成熟,异构硬件的算力也能通过 Serverless 的方式释放,大幅降低企业使用门槛。
gydtep
发表于 2021-6-1 07:49:35
人工智能曾经只应用在数据中心领域。但是,随着人工智能应用在网络的边缘,它开始为组织解决大量的分布式数据和分析问题。边缘人工智能是在数据来源点嵌入智能功能,无论是物联网终端、智能手机还是自动驾驶汽车。Red Hat公司首席技术战略家G.Nadhan解释说,“换句话说,边缘计算使数据和计算最接近交互点。”