赞
踩
系统架构不是无目的性的设计和规划,首先得直面当下系统出现的问题,一定是基于业务本身去做设计和分析,系统架构也不是一蹴而就的,是随着业务的发展逐步优化和生长起来的,但在前期设计的时候就需要给后期做好预留工作,这就需要对架构的相关设计理论和原则进行掌握和学习。
1、高可用性:系统整体可用性SLA至少99.99%,单个系统故障不超过五分钟。
2、高可扩展性:架构简单清晰,应用系统间耦合低,容易水平扩展;
3、低成本:提高服务重用性,降低人力成本,减少服务器成本;
4、多块好省:构建平台兼顾效率和性能,以高时效,低成本为目标;
5、锁定当前系统架构问题:绘制架构图谱,给出解决方案;
系统架构过程中有很多实践得出的设计原则帮助我们在架构中提前规避问题,首先要从业务角度出发,先完成业务层级的架构,根据业务层级的需要对技术和数据层进行设计,这里将以电商业务为切入点,带领大家按照业务层级关系进行对应的架构设计。
1、单一责任原则,DID原则,N+1原则;
2、版本可退回,功能可开关,系统容错;
3、服务可重用,服务可水平扩展,松耦合、抽象化;
4、不过度设计,使用成熟的设计;
5、采用同质化硬件或云服务;
6、业务架构分析设计,应用架构分析设计;
7、数据架构分析设计,技术架构分析设计;
结合中小企业到大型企业商业项目实战开发+架构经验
历经15次架构演进过程实操
从电商行业看系统架构根据业务发展过程中产生的一系列演进变化,淘宝商城一开始也不是今天这种业界领先的单元化结构,也是从单一应用逐步发展过来的,学习演进过程的同时也是掌握架构思路的过程
1、单一应用架构出现的场景和问题分析
2、垂直应用架构分析及后续扩展设计
3、分布式应用架构设计和分析
使用Nginx+Tomcat+Docker搭建一套负载均衡服务,体验一下基本的分布式服务和容器化应用到来的架构变化。
1、Linux环境下Nginx安装部署及配置文件初始化
2、Nginx负载均衡算法:轮询、权重等方式
3、Nginx+Tomcat实现负载均衡服务验证
4、使用云服务器在线实现Docker容器化部署
5、基于Docker容器集成Tomcat、MySQL、Nginx、Redis、RabbitMQ、ActiveMQ、Zookeeper、
Kafka、SVN、Solr、Get、ElasticSearch等实战操作
在数据库层面分解请求访问压力,确保数据库的稳定运行,通过读写分离将复杂的数据查询请求和更新操作分离,确保各业务环节稳定通畅。
1、Linux环境下安装MySQL及配置文件初始化
2、MySQL主从服务安装配置,从库同步状态分析
3、自定义一套读写分离中间件
对系统中的数据进行分析,梳理冷热数据,将热数据缓存到Redis集群中进行访问使用,使用集群确保缓存稳定性。
1、Redis集群结构部署实施
2、Redis集群哨兵高可用机制分析
3、Redis集群缓存数据读取写入工具编写
在现实业务中往往留给系统架构设计的时间和资源是有限的,如何根据业务的现状以及能争取到的时间资源进行有效的架构设计才是系统架构设计首要解决的问题。
1、影响架构的时间因素分析及解决措施
2、资源成本要求对架构的影响分析及解决措施
3、架构设计中进度和范围管理之间的取舍
4、SLA标准定义
5、风险控制
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。