从架构师的角度看服务器端架构点滴

本文从架构师视角探讨服务器端架构设计,重点关注业务迭代、可靠性、性能和可维护性。提出同步与异步架构的选择,接口降级、缓存策略、数据库优化等方法,并讨论APP服务器与web服务器的架构区别,强调预见性、接口隔离和内容管理的重要性。
摘要由CSDN通过智能技术生成

任何服务器端的架构设计,都是性能、一致性和成本三者的权衡。从我在目前的大规模互联网视频公司的负责APP服务器端的角度来讲,我主要关注以下几个点:

业务、可靠性、性能、可维护性

一、业务

框架上保证业务的快速迭代,在性能要求不高的情况下,同步架构会比异步架构更为简单,协程架构则兼具有开发简单和性能较高的特点。

二、可靠性

保障无重大故障。

1.接口层面

当后端服务异常时,能通过降级解决问题;接口异常时,能够通过客户端本地缓存接口问题。降级手段有使用旧数据替换不能使用的新数据、使用小数据替换不能使用的大数据。

2.缓存层面

memcached缓存结构上,使所有的key尽可能的分布均匀,避免热点现象。

3.数据层面

冷热备份,保障数据的安全;

4.业务层面

代码要做单元测试;代码要做团队层面的定期code review;模拟线上环境,定期压测;业务层面和性能层面进行分离;业务层面应保证数据的准确性和一致性;性能层面做扛压工作。

三、性能

1.接口层面

大接口改为小接口。从客户端开发的简单性角度来讲,一个页面一个接口吐出结果会导致任何一个后端数据超时导致该页面所有的数据超时,尤其是服务端是同步架构的情况下。因此,建议将一个页面的接口尽量拆分。

2.缓存层面

通过各种压缩手段(如gzip等)降低memcached的value值的大小,通过CPU换IO,避免耗时过长。

3.数据层面

数据库的分库分表,使得数据库不会因为因为压力过大导致宕机。数据库的主从结构࿰

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值