30、通信与数据同步:不同场景下的策略与实践

通信与数据同步:不同场景下的策略与实践

在当前的应用环境中,公共互联网上的大部分流量基于 HTTP 协议。异步协议在防火墙之外并不那么流行,不过 AMQP 可以通过 TLS 进行隧道传输,有时也会在互联网上公开,但更多时候它被安全地保留在组织的数据中心内,或者在组织边界公开。移动应用更倾向于使用 HTTP,基于浏览器的客户端几乎只使用 HTTP。虽然未来在互联网上使用异步协议可能会更常见,但目前将公共客户端连接到服务器通常还是涉及 HTTP,不过这并不意味着必须同步使用它,即使是请求/响应协议也可以异步使用。

数据同步的本质

“同步”这个词在应用于数据时容易产生误解。从字面上看,同步意味着让两个系统同时或以相同的速率进行,但数据同步并非关于时间,其目标是自主性而非同步性,追求的是数据的一致性。也就是说,当向两个节点提出相同的问题时,它们会给出相同的答案,这是因为它们拥有相同的信息,而非同时运行。

在不可变架构中,每台机器都有其可用的数据子集,这使得该机器上的用户和进程无需咨询其他机器就能做出决策。所谓的数据同步,就是与对等方交换不可变事实,使它们的数据结构趋于一致的过程。每台机器仅拥有其所需的子集,当这些子集重叠时,无冲突复制数据类型(CRDTs)的规则确保在该过程完成时达到一致性。

基于不可变数据结构,在数据同步过程中可以独立决定使用哪些协议,需要考虑以下问题:
- 需要什么样的传输保证?
- 消息应该同步还是异步处理?
- 只能使用常见的开放协议,还是可以选择更具理想特性的定制选项?
- 对等方是否可寻址,还是需要等待它们主动联系?
- 机器是永久连接,还是偶尔连接?

为了回答这些问题,

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值