`

架构师寄语:请学会正面分析问题

阅读更多
在这样一个IT世界里,作为系统架构师,经常要对各种产品、框架等等进行对比分析和评判。我们应当如何评判这些东西呢?

我发现现在一个很流行的做法就是把用户量和使用情况作为依据,这让我想起来一本很出名的书《走出思维的误区》,我觉得很多人的思维都走进了一个误区。

比如,我问,Tomcat好不好用?数据库连接池DBCP好不好?

很多人都会说,Tomcat很好用啊,很多人都在用啊。DBCP很好用啊,Tomcat默认的连接池就是用的它啊。

问题在哪里呢?

问题是“很多人都在用Tomcat”和“Tomcat默认的数据库连接池”是一个“果”,但是不是“因”。我问问题想知道的是“(1)Tomcat好不好安装?(2)Tomcat部署应用好不好部署?(3)Tomcat启动快还是慢?(4)Tomcat出了问题好不好排查?...”,DBCP的问题是“(1)DBCP好配置吗?(2)DBCP在高并发下性能怎么样?(3)DBCP能自动关闭长时间不使用的连接吗...”


所以我问的问题,需要的是一个正面的回答,有多少人在用,并不是针对我问题有效的回答。而架构师要选择一个开源框架和一个组件库,面对技术选型的工作,最重要的一点,也是列出自己所关心的维度,正面分析一个框架或组件库在这些维度上的表现情况。而不是“倒因为果”,拿结果来反证问题。“很多人都用Tomcat”和“Tomcat默认的数据库连接池”或许是因为Tomcat和DBCP好用,也或许是其它原因。因为它们之间并不是充分条件,也不是必要条件。

再有,从技术上分析,淘X和腾X的支付是否安全?手机银行是否安全?(我是做密码技术的)

从上面的例子可以看到,分析的时候,我关心的是什么?这需要冷静的分析,“我的身份会不会被假冒?我的信息会不会被窃--听?钱会不会莫名其妙的丢掉?”


你要分析它们的安全维度“(1)身份认证怎么做的?会不会被人假冒身份?(2)数据传输是否机密,会否被人窃--听(3)数据传输过程中会不会被人篡改?有哪些措施来保护(5)使用者的敏感和隐私信息是否被保护?(6)整个系统都有哪些安全措施和安全设计?...”从这些维度的分析,得到一些数据,再根据问题中的“是否安全”去分析,究竟要保护哪些东西的安全性,再来看关注的安全维度、采取的安全措施是否和所保护的东西是相匹配的。

这样的分析,得到的结论是有意义和有价值的。而动辄说“很多人都在用”“应该是安全的”,大半属于从众、跟风。不应该看了商家宣传就说是它们安全的,然后看了一些安全杂志和专家的话就说是不安全的。要去了解信息,做自己的判断。

本文的目的,是在于说明,如何对问题正面的分析,也许,我得出的结论,是“Tomcat很好用”“DBCP很好用”“淘X支付在 * 金额上是安全的,腾X支付在*金额上是安全的,手机银行在*金融这个数量上是安全的”,也许得到一些另外的结论。也许,会得到一些不是很正确的结论,因为个人的知识面有限、了解到的信息是不完整的(但是可以努力去获取信息),结论也会随着了解的逐步深入和知识的增加而逐步修正。

也许,我的分析维度中有一项“有多少人在用?大家评价如何”作为一个维度,占到一定的分值。但这只是一个维度而已。

什么也代替不了客观、冷静的分析。分析和判断并不难,只要你努力去做。
分享到:
评论

相关推荐

    阿里P8架构师谈:高并发架构解决方案总结

    用户角度:网站打不开服务器雪崩:通过表设计,如:记录表添加唯一约束,数据处理逻辑使用事物防止并发下的数据错乱问题。通过服务端锁进程防止包并发下的数据错乱问题。这里主要讲述的是在并发请求下的数据逻辑处理...

    云原生Kubernetes全栈架构师:基于世界500强的k8s实战课程

    分享课程——【2022】云原生Kubernetes全栈架构师:基于世界500强的k8s实战课程,2022年最新版,基于V1.23版本,完整版提供文档和软件下载! 课程适合人群: 1、准备学习k8s的运维、开发、测试、架构师; 2、k8s...

    架构师系列:程序员如何向大数据架构师转型?(课件+视频)

    本视频教程仅面向有兴趣转型向Java系统架构师,大数据系统架构师的学员,主要包括四部分内容:一、程序员VS架构师 ;二、架构设计与架构师 ;三、架构风格与架构模式 ;四、架构师转型模型 ;五、面向对象设计原则

    架构师特刊:QCon 上海 2019.pdf

    架构师特刊:QCon 上海 2019.pdf

    架构师的自我修养pdf

    架构师的工作是充满挑战的,他们需要不断地学习新技术,解决新问题,同时还要有预见性地规划未来的架构,并确保其能够支持业务的持续增长和变化。在这个过程中,架构师必须保持自我驱动、积极主动,并持续地自我提升...

    软考系统架构师案例分析知识点整理

    ### 软考系统架构师案例分析知识点整理 #### 一、系统规划 - **系统项目的提出与预可行性分析**: - 分析系统项目的背景、目的和必要性。 - 对项目的初步预算、时间安排和技术可行性进行评估。 - **系统方案的...

    架构师成长之路,架构师成长指南

    此外,架构师还需要具备良好的沟通能力,能够与项目经理、开发人员、测试人员以及业务分析师等不同角色进行有效的协作。 二、技术知识体系 成为一名合格的架构师,需要掌握广泛的技术知识。这包括但不限于:编程...

    2009系统架构师大会PPT:吴静涛:架构师–企业的未来

    #### 二、案例分析:架构师的价值 吴静涛先生通过几个具体的案例展示了架构师如何帮助企业应对挑战: 1. **应用高可用性**:随着业务的快速发展,应用高可用性成为了一个重要的问题。架构师通过引入应用交付厂商的...

    系统架构师案例分析.rar

    《系统架构师案例分析》是针对软考的一项重要学习资源,主要涵盖了系统架构设计与实践的相关知识。在准备此类考试或提升自身技能时,深入理解并掌握这些案例分析至关重要。以下将从多个方面对系统架构师的角色、职责...

    架构师的自我修养.docx

    架构师的经验体现在能够设计和实现复杂的分布式系统,能够监控和捕获异常情况,通过技术手段修复多数的问题,并且能够通过分析、调整架构、优化逻辑来解决问题。 架构师的核心价值在于能够设计和实现复杂的系统,...

    天翼云认证解决方案架构师

    天翼云认证解决方案架构师题库知识点,帮你直接通过天翼云解决方案架构师认证考试。天翼云认证解决方案架构师题库知识点,帮你直接通过天翼云解决方案架构师认证考试。天翼云认证解决方案架构师题库知识点,帮你直接...

    一线架构师实践指南 电子书

    《一线架构师实践指南》是一本专为有志于或已经在IT行业中担任架构师角色的专业人士准备的电子书籍。该书旨在提供实用的、一线的架构设计与实施经验,帮助读者提升自己的专业技能,理解并解决实际工作中遇到的挑战。...

    软考材料合集-系统架构师.rar

    《软考材料合集-系统架构师》是一个针对国家计算机技术与软件专业技术资格(水平)考试,特别是系统架构师级别的备考资源压缩包。系统架构师是IT领域中的高级职位,负责设计、规划和管理企业的信息技术架构,以确保...

    历年高级系统架构师真题

    通过对历年高级系统架构师真题的深度学习,考生不仅可以熟悉考试形式和难度,更能提升自己在实际工作中解决复杂问题的能力。在复习过程中,考生应注重理论与实践相结合,通过案例分析和模拟实战来深化对知识点的理解...

    架构师转型方法与架构设计理论:向大数据架构师转型

    本资料仅面向有兴趣转型向Java系统架构师,大数据系统架构师的学员,主要包括四部分内容:一、程序员VS架构师 ;二、架构设计与架构师 ;三、架构风格与架构模式 ;四、架构师转型模型 ;五、面向对象设计原则

    大型网站技术架构:核心原理与案例分析.pdf

    《大型网站技术架构:核心原理与案例分析》不仅适用于指导网站工程师、架构师进行网站技术架构设计,也可用于指导产品经理、项目经理、测试运维人员等了解网站技术架构的基础概念;还可供包括企业系统开发人员在内的...

    软考架构师2009-2022年真题附答案

    【软考架构师2009-2022年真题附答案】是一份集中的资源,涵盖了从2009年至2022年间的软件设计师资格考试(架构师级别)的实际试题及对应的答案。这个压缩包是备考者宝贵的复习资料,尤其对于那些希望在软件架构领域...

    做架构师——架构师能力模型解析.pdf

    "架构师能力模型解析" 架构师是一个职业名称,而不是一个技术高下的职位名称。要想成为一个优秀的架构师,需要具备“个人特性”和“技术技能”两个方面的能力。“个人特性”包括人际关系的能力和业务能力,而“技术...

    数据架构师的PostgreSQL修炼:高效设计、开发与维护数据库应用 EPUB

    数据架构师的PostgreSQL修炼:高效设计、开发与维护数据库应用 EPUB 数据架构师的PostgreSQL修炼:高效设计、开发与维护数据库应用 EPUB 数据架构师的PostgreSQL修炼:高效设计、开发与维护数据库应用 EPUB

    IT架构师学习资料

    - **学科技能**:IT架构师还需要掌握特定领域的专业知识,例如云计算、大数据分析或人工智能等。 #### 三、规划IT架构师职业生涯:IT架构师职业模型 - **职业里程碑**:IT架构师职业发展分为多个阶段,每个阶段都有...

Global site tag (gtag.js) - Google Analytics