15、深入探索Go语言中的RPC:REST与gRPC实践

深入探索Go语言中的RPC:REST与gRPC实践

1. 存储层迁移实践

在数据存储方面,我们可以用新的实现替换存储层。例如,实现了一个新的存储接口,该接口可以同时将数据写入Bigtable和Spanner,并从两者中读取数据。在读取时,使用最新的数据戳,必要时更新记录。这样,在历史数据迁移期间,我们可以同时使用这两个数据存储。一旦同步完成,我们将二进制文件迁移到仅使用Spanner实现的版本,整个迁移过程在数千个关键操作运行时没有造成服务停机。

2. 数据库操作回顾

我们学习了如何使用 database/sql 访问通用数据存储,特别是Postgres。掌握了对Postgres进行读写操作以及实现事务的方法,还讨论了使用 database/sql 相对于特定数据库库(如 pgx )的优势。此外,通过接口抽象隐藏实现细节,能让我们更轻松地更改存储后端,并对依赖存储的代码进行独立测试。

3. RPC服务概述

在网络和分布式系统普及之前,系统间通信标准并未广泛使用。这种通信通常被称为远程过程调用(RPC),即一台机器上的程序调用另一台机器上运行的函数并接收输出。过去,单体应用很常见,服务器要么按应用隔离并进行垂直扩展,要么在IBM、Sun、SGI或Cray等公司的大型专业硬件上作为作业运行。系统间通信时,往往使用自定义的有线格式,如Microsoft SQL Server。

随着Web在21世纪初的发展,大型单体系统无法以合理成本为Google Search或Facebook等服务提供计算能力。为了支持这些服务,公司需要将大量标

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值