web应用的可靠性、高性能、可伸缩、可扩展、可迁移 如果保证!

可靠性:简单来说就是少出bug,稳定性很高

处理:1. 代码方面需要做好更多的异常处理,没写一行代码需要想打这行代码可能的风险,比如线程安全问题、可能跑出的异常,每个变量需要考虑空指针等问题。

            2. 故障的隔离(安全保障)

            3. 建立强大的监控系统

高性能:并发高

       处理方法:这里方法很多,大概,负载均衡、cache、业务逻辑判断(不同业务不同场景做不一样的处理)、降级、异步……

 具体如下:

前端:
轻量化前台的js
页面静态化(咨讯类网站)
页面渲染优化
CDN技术(Content Delivery Network)


后端java:
合适使用缓存技术(本地缓存or集中式缓存)
异步处理(消息)
IO的合理负载,减少IO操作(网络IO本地文件操作IO)
应用的负载均衡(硬件负载均衡F5/软负载均衡LVS)
分布式处理(拆分系统,独立化运行,核心应用服务化,解决单一处理的瓶颈)
限流
降级处理
故障的隔离(安全保障)
避免长事务
预热
避免热点问题(本地缓存其),数据通过相关规则分布式存储
冷数据存低廉性能低的硬件上面 如历史数据 读的几率很少(比如淘宝的交易快照)
根据业务特性采用处理不同的方式。(比如微薄的话,给粉丝推送消息,可根据有些粉丝不是今天的活跃用户 所以不想实时发消息给他。)
……


解少网络传输


代码优化

基础知识(String ,StringBuffer)、锁、连接/线程池……


数据库:
    读写分离(高并发)
    主备切换
    分表分库
    索引、有效使用索引


其他方面:
历史数据和现有数据拆分
连接池
SQL的优化
NOSQL 非关系型数据库 (写的性能高)
……



可伸缩:可以随时新增减少服务器数量

          处理: 1. 减少对OS的依赖;

                       2. 减少对应用服务器等非war的依赖。


可扩展:代码的扩展性高,可以满足将来或者现在的业务

            处理: 代码自己需要考虑


可迁移:服务器或者程序的随时迁移性

         1. 对于DB的更新,需要走统一应用的接口,不能开放谁都可以访问;

         2. 减少对OS的依赖;

         3. 配置信息不要写IP,一定要有域名,代码里面更不能写死配置,最好所有配置信息都统一管理

          

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值