解决方案架构师和软件架构师的区别 前端架构师需要具备的技能和能力( 三 )

  • 工具nginx必备技能超级好用,高性能,基本不会挂掉的服务器,功能多多,解决各种问题 。
  • 分布式缓存技术memcached,redis,提高系统性能必备,一句话,把硬盘上的内容放到内存里来提速,顺便提个算法一致性hash 。
  • 熟悉tcp协议,创建连接三次握手和断开连接四次握手的整个过程,不了解的话,无法对高并发网络应用做优化; 熟悉http协议,尤其是http头,还是那句话,很多工作五年以上的 。
  • 数据库的设计能力,mysql必备,最基础的数据库工具,免费好用,对它基本的参数优化,慢查询日志分析,主从复制的配置,至少要成为半个mysql dba 。 其他nosql数据库如mongodb 。
  • 熟练使用各种数据结构和算法,数组、哈希、链表、排序树……一句话:要么是时间换空间要么是空间换时间,这里展开可以说一大堆,需要有一定的应用经验,用于解决各种性能或业务上的问题
    其他的有时间再补充 。
    还有队列中间件 。 如消息推送,可以先把消息写入数据库,推送放队列服务器上,由推送服务器去队列获取处理,这样就可以将消息放数据库和队列里后直接给用户反馈,推送过程则由推送服务器和队列服务器完成,好处异步处理、缓解服务器压力,解藕系统 。
    以上纯粹是常用的技术,还有很多是需要自己去慢慢去摸索的;因为要了解掌握的东西有很多 。 所以,要成为一名合格的架构师,必须要有强大的自学能力,没有人会手把手的教给你所有的东西 。
    然,想成为架构师不是懂了一大堆技术就可以了,这些只是解决问题的基础、是工具,不懂这些怎么去提解决方案呢?这是成为架构师的必要条件 。
    架构师还要针对业务特点、系统的性能要求提出能解决问题成本最低的设计方案才合格,譬如一个几百人用户的系统,访问量不大,数据量小,你咔咔就给上集群、上分布式存储、上高端服务器,为了架构而架构,这是最扯犊子的,架构师的作用
    第一:满足业务需求,
    第二:最低的硬件网络成本和技术维护成本 。
    架构师还要根据业务发展阶段,提前预见发展到下一个阶段系统架构的解决方案,并且设计当前架构时将架构的升级扩展考虑进去,做到易于升级;否则等系统瓶颈来了,出问题了再去出方案,或现有架构无法扩展直接扔掉重做,或扩展麻烦问题一大堆,这会对企业造成损失 。
    用一段代码给你加油鼓气!
    PublicclassGu{
    Publicstaticvoidmain(String[]args){
    System.out.ptintln(“nothingisimpossible,everythingispossible!!”);
    System.out.println(“Justdoit!!”);
    }
    }原文地址:https://www.zhihu.com/question
  • 系统架构师要学什么?成为优秀程序员,需要学好的知识:
    1、面向对象编程、UML画图、设计模式、代码重构
    2、常用ORM工具
    3、 MVC,WCF,XMl,JQuery,SQL以及性能优化
    4、FrameWork一些深入的知识
    5、高性能代码,比如静态化,MemCached等手段 。
    6、最好也了解一些其他语言,比如Java,PHP等 。
    成为DBA,需要学好的知识:
    1、常用数据库,MSSQL、MySQL、Oracle,性能调优熟练,备份、负载均衡、集群、容灾熟练
    2、大数据量处理熟练
    3、各种数据库监控软件
    成为运维,需要学好的知识:
    1、各种Web负载均衡的硬件,比如F5,软件,比如Nginx等原理和配置
    2、反向代理加速,比如SquID等
    3、操作系统,Linux是必须懂的,各种好的工具都在Linux下 。
    4、各种性能监控软件 。
    成为产品和业务以及项目经理,需要学好的知识:
    1、沟通和理解能力 。
    2、该行业和本公司的业务逻辑 。
    3、软件工程的知识 。


    特别声明:本站内容均来自网友提供或互联网,仅供参考,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。