gydtep 发表于 2020-11-16 13:51:33
首先,需要识别某流量是否与该业务相关;其次,需要将该流量接入到某个特定区域中;然后,该区域还需要将所有与完成该业务相关的节点都包含进来。gydtep 发表于 2020-11-16 15:45:18
在国际支付时可以将信息流处理逻辑部署在支付方所在的区域中,这就使得支付操作不需要依赖原来的处理逻辑所部署的机房。需要注意的是,在将数据部署在其它机房时,通常需要一些额外的处理,比如信息安全等内容。gydtep 发表于 2020-11-16 17:38:32
回切数据库时也是如此。由于FO库已经有很多新的数据内容,因此在回切数据库时需要将这部分数据merge回主库中。gydtep 发表于 2020-11-16 18:04:17
这就需要结合各种原子手段以实现业务在当前阶段所需要的高可用能力。未来,可能存在非常智能的系统,能够使用最低成本刻画业务的当前特征,然后自动化地组合一些原子高可用能力最大化系统高可用能力。gydtep 发表于 2020-11-17 09:17:22
云原生架构的建议是:允许失败发生,确保每个服务器,每个组件都能够在不影响系统的情况下发生故障并且具备自愈和可替代能力。gydtep 发表于 2020-11-17 09:23:21
这个设计原则的基础是应用配置和持久化状态与具体运行环境的解耦。Kubernetes 的自动化运维体系让服务器的可替换性变得更加简单。gydtep 发表于 2020-11-17 11:34:28
支付宝最开始是一个单体应用。随着业务不断发展,支付宝拆分成了多个服务,衍生出了若干代架构。微服务是服务化后的进一步演进,服务的粒度比服务化更细,具有很好的流量管控机制,中间件和编程模型。gydtep 发表于 2020-11-17 13:37:36
此前,应用设计需要考虑读写分离,需要连接不同的数据源处理读写分离的结果,并且这些功能都需要写入应用程序代码。gydtep 发表于 2020-11-17 15:11:10
但通过移除和核心业务无关的内容,从而减小节点数量后,系统的可用率就会大幅增高。上图的左右两边从不同角度对微服务的高可用设计进行了分析。gydtep 发表于 2020-11-17 19:37:52
用户可以用顺序、分支、并行等方式来编排分布式任务,服务会按照设定好的顺序可靠地协调任务执行, 跟踪每个任务的状态转换,并在必要时执行用户定义的重试逻辑,以确保工作流顺利完成。