概述
架构师的6个能力:
1、需求分析
- 识别业务逻辑
- 识别业务场景
- 识别业务风险
2、架构设计
- 解决问题:三高
- 解决问题:CAP
- 领域模型设计
- 大数据建模设计
3、架构选型
- 技术方案选型:常用技术方案VS优缺点对比
- 设计模式选型:36种代码设计模式的最优化选择
- 架构模式选型:单机、分布式、生产消费、客户端-服务端等几种模式的最优化选择
4、容量规划
- 业务层面规划:整体上评估业务需要多大系统容量:UV,PV,DAU/MAU,IP这些指标衡量。
- 水平层面规划:TPS,QPS,SESSION,这些指标衡量各个子系统的承载能力。
- 垂直层面规划:CPU,内存,IO,网络,连接数,这些指标衡量各子系统的承载能力。
5、代码落地
- 核心代码编写:比如多线程代码编写,解决分布式系统核心代码问题;编写一个C/S架构的代码结构;编写一个跳表持久化模块;
- 底层代码设计:比如构建一个项目的0-1代码框架,需要租户功能,需要MVC,需要外置存储cache,需要机器学习,需要搜索ES,需要微服务等。
6、服务治理
- 识别和找出线上BUG和线上性能问题:通过异常日志,异常监控指标等;
- 线上问题的分析和定位:代码走查解决日志异常的问题,压力测试解决监控异常指标的问题;面对JAVA内存溢出的情况,通过查看日志,栈异常通常是for循环语句,JAVA的每一行代码都保存在内存栈中;堆异常就很可能是对象过大过多,比如流没close发生对象无限大和多没释放把JVM给暴了,临时方案增大XSS,XMS,同时各种内存分析工具定位问题代码点,然后针对问题代码进行逻辑检查,代码块打代码运行时间差来判断,并且查看GC监控里线程是否线行增长,堆是否线行增长?如果线程过多导致OOM就降低线程数,如果是堆增长查看对象是否关闭的逻辑;修正之后运行一下OK,最后压测一下这个代码逻辑一短时间,期间要看一下代码运行时间的变化;
- 降级和柔性的设计:解决问题之后,尽可能设计加固方案(回退、降级、偶发点等保障性设计),比如:通过经验积累,提前考虑到代码行会产生FULL GC的问题造成性能损失,零拷贝和内存池解决FULL GC;https://blog.csdn.net/u013411339/article/details/116456444
- 柔性设计来进行线上的补偿和替补;
最后
以上就是瘦瘦店员为你收集整理的架构师的6个能力的全部内容,希望文章能够帮你解决架构师的6个能力所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复