目前正在实施的一个项目,由于系统架构组组长突然离职,使我有幸代理了一段时间的系统架构组组长,但我主要负责系统架构组的日常管理工作,在技术层面涉入不深,这也是我比较遗憾的地方。最近被人问到如何设计一个系统架构才能支撑高并发的要求时,我哑口了,因为我只知道用的什么系统架构,但真的没有去总结过使用这个架构的原因,今天有空稍微整理了一下思绪,浅浅地谈一下。
先说一下我对系统架构的认识,这是我在和一个资深的系统架构师交谈时所吸收的,架构至少可以分成三种层面的架构:系统架构、软件架构、应用架构。系统架构是最高层面的一个架构,可以独立于软件架构(用什么技术框架来搭建)和应用架构(实现的什么业务需求)而存在。一个系统架构师应该考虑的是,根据系统的非功能性需求(访问量、并发量、扩展性要求等),来选择使用什么样的硬件、操作系统、数据库、中间件、编程语言。
由于没有太多系统架构的经验,这次就先说到这里,之后会简单聊聊我所熟知的软件架构和应用架构。