高可用架构设计二

架构高可用遇到的问题

上线发生数据改动,格式和之间不兼容,回滚也不正常,如何处理?

数据库备份。

高可用架构为什么需要分层?

数据层 关系型数据库,NoSQL数据库,缓存。

逻辑层 根据项目相关。

接入层 对外暴露API层(用户身份,数据加密,攻防,提供最原始的数据,美化由前端展示)。

展示层 前端用户展示。

高可用架构分层设计原则是什么?

功能单一(数据,逻辑,接入,展示)、分层间低耦合(接口交互通过rpc框架例如dubbo|dubbox|Thrift|Avro、restfullapi,http )、功能聚焦单一。

分层过多缺点:请求交互路径长,请求响应延迟高,层次多运维成本高,定位问题设计层次多定位复杂。

层次过少:每个层次功能不单一,耦合性高。高可用无法保证。功能相互影响。

高可用架构如何分层?

数据存储和业务逻辑的分层,业务逻辑和接入层逻辑分层,接入层和数据展示层分离。

前段架构分层:mvc|mvcc分成。

后端架构分层

按照功能水平拆分:

四层:

接入层,逻辑层,数据层,数据存储

接入层,逻辑层,原子服务层,数据存储

五层:

接入层、序列化层(异步消息队列,指事务提交的序列化层前段把事务成功提交到队列就行算成功),逻辑层、数据层、数据存储

按照功能垂直拆分:

业务1,业务2,业务3……

高可用架构最佳实践?

业务数据量,请求量快速增长期

引入分层

接入层,逻辑层,数据存储

业务请求高并发,海量存储

每层进一步细化

分布式存储,NoSQL,RDBMS分库分表

业务多,请求多,关系复杂

 服务化

58的实践案例



 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值