高可用系统设计

为什么使用分布式?

  分布式系统的开发维护成本远远高于单体应用,为什么我们还要使用分布式架构?

单体应用分布式
开发逻辑简单需要考虑分布式带来的问题
性能单机性能有限可无限扩容
部署全部编译,耗时较长资源隔离,水平扩展

  分布式系统带来的问题:分布式事务的实现难度要远高于单机事务;分布式架构提供的高可用需要集群达到一定数量,例如zookeeper的高可用需要集群有三台机器才能容忍一台机器异常;分布式架构的并发问题处理方式更为复杂。

常规方法论
高性能高可用
网络层CDN、资源静态化、NIO、内存映射鉴权网关、风控
应用层缓存、异步、集群无状态、负载均衡
服务层多线程、资源复用、良好的设计结构分级管理、快速失败、服务降级、幂等
数据层硬件优化、缓存、读写分离、分库分表冗余备份、失效转移、离线存储

  系统的设计实际上是成本和收益之间的博弈,硬件的优化效果远大于软件,硬件的价格也会随着性能提升线性增加。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值