互联网标准技术架构图 :
一、储存层
1、SQL
1)采用统一的分库分表中间件
解决数据如何拆分,数据如何组合问题,满足性能问题
2)构建SQL储存平台
统一提供资源分配,数据备份,迁移,容灾,读写分离,分库分表,满足资源的利用率问题,运维效率问题
2、NoSQL
NoSQL集群的基础上构建统一的储存平台,实现资源动态按需分配,资源自动化管理,故障自动化管理。
3、小文件储存
小文件定义:数据小,数据量大,访问量巨大,比如商品图片,商品描述
在开源FASTDFS等的基础上进行封装
4、大文件储存
范围:
1)业务上的大数据,比如电影视频
2)海量的日志数据
在Hadoop的基础上封装成大数据平台
二、开发层
1、开发框架
指定大的技术方向,使用统一的成熟开发框架
2、web服务器
选择开源的web服务器,有需要可以在此基础上封装
3、容器
代替虚拟机,以docker为代表,实现可伸缩
三、服务层
1、配置中心
集中配置,快速变更配置,快速搭建新环境
2、服务中心
解决跨系统依赖的配置和调度问题
实现方式:1)服务名字系统 例如Eureka Feign
2)服务总线系统 例如nginx
对比:
3、消息队列
解耦,异步,削峰,消息的可靠性,事务性,时序性需要单独考虑
三、网络层
1、负载均衡
1)DNS http-DNS
2) Nginx ,LVS ,F5
2、CDN
分布式存储、全局负载均衡、网络重定向、流量控制等都属于 CDN 的范畴
3、多机房
主要目标是备灾
分类:
1)同城多机房
2)跨城多机房
3)跨国多机房
4、多中心
多点同时提供服务,故障自动切换
关键在于数据一致性和数据事务性的保证
举例:
两地三中心,是指同城两个机房是双活,异地机房是备份,当同城两个机房都挂掉,异地机房不能接管业务,只能用来备份恢复
四、用户层
1、用户管理
把众多分散的用户连接起来,例如单点登录
2、消息推送
设备管理(唯一标识、注册、注销)、连接管理和消息管理
3、储存云、图片云
存储云和图片云都是基于“CDN 小文件存储”的技术,图片云提供裁剪、压缩、美化、审核、水印等更多功能
五、业务层
基于业务如何拆分服务
六、运维平台
运维平台核心的职责分为四大块:配置、部署、监控、应急
运维平台的核心设计要素是“四化”:标准化、平台化、自动化、可视化
七、测试平台
架构:
八、数据平台
架构:
九、管理平台
提供所有系统的身份认证 和权限认证功能