1、分层
分层 | 描述 |
---|---|
应用层 | 负责具体业务和视图展示,如首页,搜索,结果展示等 |
服务层 | 为应用层提供服务支持,如用户管理、购物服务 |
数据层 | 提供数据存储访问服务,如数据库,缓存,文件,搜索引擎等 |
应用层可以继续分层
分层 | 描述 |
---|---|
控制器 | 指控制器接受用户的输入并调用模型和视图去完成用户的需求,控制器本身不输出任何东西和做任何处理 |
模型 | 指模型表示业务规则。在MVC的三个部件中,模型拥有最多的处理任务。被模型返回的数据是中立的,模型与数据格式无关,这样一个模型能为多个视图提供数据,由于应用于模型的代码只需写一次就可以被多个视图重用,所以减少了代码的重复性。 |
视图 | 指用户看到并与之交互的界面 |
服务层可以继续分层
分层 | 描述 |
---|---|
数据接口处 | 适配各种输入输出数据格式 |
逻辑处理层 | 逻辑处理:用户管理、购物服务 |
2、分割
功能越来越复杂,那么将不同的功能和服务分割开来,包装成高内聚低耦合的模块单元,有助于开发和维护,另一方面放改变后期分布式管理
例如:购物(预定,虚拟商品,实物,外卖、自提、秒杀、优惠卷等)、论坛、搜索、广告
3、分布式
不同模块部署在不同服务器上,通过远程调用协调工作;加强服务器性能,
分布式应用和服务
分布式静态资源
分布式数据和存储
分布式计算、Hadoop是一个由Apache基金会所开发的分布式系统基础架构和MapReduce是一种编程模型,用于大规模数据集(大于1TB)的并行运算。
4、集群
相同服务部署dao不同服务器上,
5、缓存
cdn加速
反向代理
本地缓存
分布式缓存
6、异步
一般是多线程共享内存队列的方式
实现、典型的生产者消费者模式
7、冗余
主从分离+冷备份+热备份shu’j
8、自动化
发布过程自动胡
自动化代码管理
自动化测试
自动化安全检查
自动化部署
自动化报警
自动化失效专利
自动化失效恢复
自动化降级
自动化分配资源
9、安全
架构举例
新浪
层级 | 内容 |
---|---|
1 | api |
2 | 微博、关系、用户、计数、图片池 |
3 | 数据库、缓存、存储、自动化、实时搜索、idc同步 |
架构的要素
性能:
可用性:主要手段是冗余和集群,做到任何一台服务器崩了都不影响整体可用和数据丢失
伸缩性:标准就是师傅可以用堕胎服务器构建集群
扩展性:主要手段是驱动架构和分布式手段
安全性