0%

2. 网站架构模式

「模式」的定义:
每一个模式描述了一个在我们周围不断重复发生的问题及该问题的解决方案的核心。

模式的关键 —— 模式的可重复性。

2.1 分层

将系统在横向维度上切分成几个部分,每个部分负责一部分相对比较单一的职责,然后通过上层对下层的依赖和调用组成一个完整的系统。

分层架构模式的目的:规划软件清晰的逻辑结构便于开发维护,支持网站从高并发向分布式方向发展。

网站分层架构 职责
应用层 负责具体业务和视图展示,如网站首页及搜索输入和结果展示。
服务层 为应用层提供服务支持,如用户管理服务,购物车服务。
数据层 提供数据存储访问服务,如数据库、缓存、文件、搜索引擎等。

应用层可以继续细分为:视图层、业务逻辑层。
服务层可以继续细分为:数据接口层、逻辑处理层。

分层面临的挑战:

  1. 合理规划层次边界和接口;
  2. 开发过程中,需要严格遵守分层架构约束,禁止跨层次调用及逆向调用。
阅读全文 »

  • Amazon RDS:关系数据库服务,支持 MySQL、MariaDB、PostgreSQL、Oracle 和 Microsoft SQL Server。
  • Amazon DynamoDB:NoSQL 数据库服务
  • AWS Aurora 服务;
  • Amazon ElastiCache:ElastiCache 是一个 Web 服务,其使在云中启动、管理和扩展分布式内存缓存更容易。
  • Amazon DocumentDB:Amazon DocumentDB (与 MongoDB 兼容) 是一项快速、可扩展、高度可用且完全托管的文档数据库服务,支持 MongoDB 工作负载。

To be continued.

  • 文件系统负责管理文件放在底层的块级别存储的位置。
  • 块级别的存储只能运行在操作系统的 EC2 实例上使用。
  • AWS 提供两种类型的块级别存储:网络附加存储和实例存储。

一、网络附加存储 —— 弹性数据块存储(EBS)

参考: Amazon EBS 卷

EBS 卷:

  • 不属于 EC2 实例的一部分,通过网卡附加到 EC2 实例上。
  • Amazon EBS 卷类型
  • EBS 卷是一个独立的资源,它可以独立于 EC2 实例存在,但是需要一台 EC2 服务器才能使用 EBS 卷。
  • EBS 卷的优势:它不属于 EC2 的一部分,是独立的资源。
阅读全文 »

自动化部署

部署:安装、更新和配置应用程序及其依赖的组件。

在 AWS 上部署应用的 3 个工具:

  1. AWS CloudFormation;
    • 在引导流程结束时运行一个脚本来部署应用。
  2. AWS Elastic Beanstalk
    • 适合部署普通 Web 站点应用。
  3. AWS OpsWorks;
    • 支持部署互相依赖的多层架构应用。
阅读全文 »

一、基础架构即代码

思想:使用高级编程语言来控制 IT 系统。

「基础架构即代码」描述了编写程序来创建与修改基础架构(包括虚拟服务器、网络、存储等)的方法。

自动化和 DevOps 运作

DevOps(Development operations)的目标:快速发布开发好的软件,并且没有损失质量。

自动化部署、自动化构建、自动化测试(集成测试)、产品。

自动化基础架构的 3 种方式:

  1. 命令行接口(CLI)
  2. 开发工具套件(SDK)
  3. CloudFormation
阅读全文 »

AWS 的弹性计算云(Elastic Compute Cloud,EC2)服务用来提供虚拟服务器。

虚拟服务器是一台物理服务器的一部分。物理服务器通过软件来隔离其上的各个虚拟服务器。一台虚拟服务器由 CPU、内存、网络接口和存储组成。物理服务器也称为宿主服务器(host serverguest),其上运行的虚拟服务器称为客户机(guest)。虚拟化管理器(hypervisor)负责孤立各个客户机并调度它们对硬件的请求。

  • AWS 使用 Xen,一个开源的虚拟机管理程序,作为 EC2 服务的底层技术。
  • HVM 是最新也是最快的虚拟化类型,HVM 技术是使用硬件辅助的虚拟化技术。

参考:AWS 文档:什么是 Amazon EC2

阅读全文 »

调查时间:2018 年 12 月 11 日

参数指标

计费方式

  • 包年包月:按月购买及续费,预付费模式。== 有折扣优惠 ==
  • 按量付费:按实际开通时长以小时为单位进行收费,后付费模式。
  • 抢占式实例:相对于按量付费实例价格有一定的折扣,价格随供求波动,按实际使用时长进行收费,后付费模式。您愿意支付每小时的实例最高价。当您的出价高于当前市场成交价时,您的实例就会运行。(注:抢占式实例适用于无状态的应用场景,比如可弹性伸缩的 Web 站点服务、实时分析、图像渲染、大数据分析和大规模并行计算等。)== 后期可以尝试的计费方式,弹性增减节点数量 ==
阅读全文 »