课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
软件架构师是目前大多数程序员都在转型的一个职业发展方向,而今天我们就一起来了解一下,软件架构常见性能指标都有哪些类型。
缓存:
缓存的话,不管是tair还是redis或者memcached。我们对缓存的写入成功和数据存在性都不能强依赖。所以基本要做到缓存读取不成功就需要再次查DB。而且不管出什么问题,对程序来说,就是抛异常了。所以一定要异常捕获。数据要用异步线程池异步写入。监控要做好。我们有个服务要做一层缓存。我们组的兄弟比较担心,问我了解不了解冷热启动的概念。这个其实需要去咨询维护服务的人怎么定义这个概念。一般来讲:冷启动数据是从磁盘加载的,热启动是从内存加载的。
服务隔离:
服务隔离是为了减少损失的影响范围,避免雪崩效应。比如我们有一些外部的依赖:我们依赖微信支付的稳定性、支付宝支付的稳定性、银联支付的稳定性。那么我需要按照这几种通道做物理隔离,可以部署相同的代码但是部署在不同的机器群。
组件版本及时升级:
比如httpclient4.3的版本有个bug并发量大的时候会阻塞。之前在乐视的时候,部门有个小组的服务就发生过这样的线上问题。
及时下线不再使用的代码:
可能在一个团队中很多程序bug都是因为存在太多的兼容逻辑和临时代码,写这些逻辑的人如果没有加上很好的注释,在用完的时候也没有及时清理。后来维护的人看到这段毫无道理的代码不敢动。程序里大量的IF和ELSE,很容易踩坑。招聘的时候卡的很严,很多面试者不服气,我也能写出来代码。但是会写代码和会写代码是不一样的。我们需求很急,但是宁愿不做也不要一个写出一堆问题代码,处处是坑,难以维护代码的程序员。
数据库:
一个数据表的数据过多,对更新和查询性能都有影响。对于不再使用的数据要及时备份清走。一般数据库的容量剩余不到60%,就要考虑分库分表了。一般一台物理机写入能力也不能高于QPS1500。所以对于主从延时不是很敏感的业务场景,一定要做好读写分离。虽然做了读写分离,如果读和写的代码在一个事务里,其实都是走的主库。杜绝慢查询。
【免责声明】本文系本网编辑部分转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与管理员联系,我们会予以更改或删除相关文章,以保证您的权益!更多内容请加danei0707学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。