37、高级高可用性与可扩展性技术解析

高可用与可扩展架构解析

高级高可用性与可扩展性技术解析

1. 分片架构概念

分片架构是一种拥有众多节点的架构模式。在这种架构里,部分或全部节点会存有冗余数据,每个节点都有独特的令牌。这些令牌用于分割整个数据,实现对数据库的读写操作。

以社交网络应用为例,系统里存在大量用户和众多用户操作。若要设计令牌,可以依据用户姓名的首字母,按字母表将用户划分到不同节点。比如,名字首字母为 A - H 的用户请求和数据由一组节点或节点集群处理,I - Q 的由另一组处理,依此类推。这种方式假定事务和数据能大致均匀地分布在各个节点或节点集群上,这样只需一次性管理单个节点或单个节点集群的可扩展性。你可以根据应用需求设计节点或集群的数量,进而确定节点(或分区)数量以及相应的令牌。

分片不仅可用于数据层,还能应用于微服务层。此时,弹性负载均衡器(ELB)需具备一定智能,以便将请求路由到合适的微服务实例。

2. 架构选择思考

此前看到的数据库解决方案各有其适用场景,是否采用这些方案需要综合多方面因素,包括企业的长期技术战略。我们一直强调多语言(数据)架构的重要性,以及每个微服务应完全管理自身数据。因此,我们需要思考一些架构,它们能提供类似的可扩展性和可用性,同时不过度依赖特定供应商的昂贵技术栈。

微服务架构可将系统按功能拆分成多个独立部分,便于独立管理各部分的可用性和可扩展性。分片则能进一步处理大量数据。此外,还可将读写操作分离,第 12 章介绍的命令查询职责分离(CQRS)模式就适用于此。合理运用这些原则有助于实现网络级别的扩展。

3. Axon 中的高可用和可扩展 CQRS 示例
3.1 示例场景设计
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值