正好利用这个漫长的假期,花了几天时间整理一下架构师,资深工程师必备基础知识清单(check list),供大家学习和参考。不管你现在已经是架构师或者未来即将成为架构师,希望对大家有所帮助,查缺补漏,希望大家留言讨论。另外,我也会持续更新完善。
1.软件架构
- 无服务器架构(selerless)
- 微服务
- CS架构(client server)
- 分层架构(layered)
- 分布式系统
- 面向服务SOA
2.管理:作为资深工程师,架构师基本的管理的技能是必须要有的。
- 敏捷开发Agile ,Scrum
- Scaled Agile Framework(“SAFe”),大规模Scrum(LeSS)
- PMI,ITIL,RUP,CMMI
- 教练技术(Coach)和 mentoring:如果大家对教练技术感兴趣,请留言,我可以分享自己的一些经验和体会
- 向上管理
3.设计模式,这里的设计模式不是指那个经典软件开发的23种模式,只要是指我们在软件设计过程经常碰到的常见模式。
- MVC,MVP,MVVM
- Actor 模式
- SOLID
- 领域驱动设计(DDD)
- OOP
- CQRS,Eventual Consistency
- ACID,CAP,BASE 理论
4.大数据和数据库
- 关系代数,数据库设计的三大范式
- Oracle,MySQL,SQL server,PostgreSQL
- NoSQL,Redis,MongoDB
- Hadoop,Spack,MapReduce
- ETL,Datawarehouse
- 数据分析(Analytics),PowerBI
5.网络
- ISO的7层模型,TCP/IP模型
- HTTP/HTTPS
- Socket网路模型
- 网路IO模型
- 防火墙(Firewalls),代理(Proxies)
- 交换机以及路由器
6.体系架构框架
- TOGAF
- UML
- IAF
- BABOK
7.编程语言
- PHP
- Python
- Go
- Javascript/Typescript
- Java/kotin/Scala/Spring
- .NET
8.程序设计
9.Web和移动端
- Reactive和函数化编程
- React,Angular,Vue
- SPA
- PWA
- W3C和WHATWG 标准
- 设计思维(design thinking),UI,UX,CX
10.运维
- CI/CD tools,Jenkins,gitlab runner
- Service Mesh
- SRE
- Docker,K8s
- Linux
- Jboss,Tomcat,Nginx
- DevOps,ansible ,TerraformT
- 云计算:AWS,Azure,阿里云,公有云,私有云,混合云
11.安全
- Oauth2,Open ID connect(OICD)
- OWASP
- PKI
- 网络安全等级保护
12.企业应用软件,如果大家对这些比较模式,可以看一下官方的培训教程,了解一下。目前我们公司用的比较多的是salesforce和SAP,很多时候,免不了跟他们做集成
- Salesforce
- IBM BPM
- SAP ERP,HANA,Busness Objects
- 微软 Dynamics
13.系统集成以及中间件
- ESB,SOAP
- API 网关以及管理
- REST
- BPM,BPEL
- 消息队列MQ,Kafaka,RocketMQ,RabbitMQ,ActiveMQ,ZeroMQ
- RPC,Dubbo,Thrift,gRPC
- 数据库中间件
14.性能优化
- 性能优化方法论
- 容量评估
- CDN 网络
- 连接池
- 性能调优
- 负载均衡,LVS,Haproxy,Keepalived实现读均衡负载