华为云用户手册
-
OPS08-01 使用度量指标衡量运营目标 风险等级 高 关键策略 定义清晰的运营成功的目标和 KPI,设置基线作为参考点并定期重新评估。与业务领导者和利益相关者确定服务的总体目标。确定各个运营团队的任务以及可能面临的挑战。并明确运营目标的关键绩效指标 (KPI),可能是客户满意度、TTM、平均问题解决时间等等。根据 KPI,识别关键指标和数据源。客户满意度可能是各种指标的组合,例如呼叫等待或响应时间、满意度评分以及提出的问题类型。 父主题: OPS08 度量运营状态和持续改进
-
RES05 网络高可用 应用系统对外或对内通信都依赖于网络,一旦网络异常将会导致业务中断,因此网络架构的高可用及容灾能力至关重要。在进行网络设计时,需要充分考虑应用系统对内和对外的网络连接、IP地址管理和 域名 解析等。 华为云中网络高可用主要涉及三个场景: 公有云网络:构建应用系统相关的公网网络连接的高可用,可减少由于网络连接中断而导致的业务中断。 混合云网络:对于自建本地数据中心(IDC)或使用其他云的用户,基于业务发展需要将部分业务部署到华为云时,将涉及到混合云网络互连;应用系统跨云部署时(如跨云主备容灾或双活),需要构建高可用的混合云网络连接,以减少由于网络连接中断而导致的业务中断。 云上网络之间访问:当业务系统涉及到多个部门或业务团队时,一般会使用多个VPC进行业务隔离,不同团队和部门之间需要相互访问,将会涉及不同VPC之间的网络连接。 RES05-01 网络连接高可用 RES05-02 避免暴露不必要的网络地址 RES05-03 不同流量模型业务的网络共享带宽隔离 RES05-04 预留IP资源以便扩展及高可用 父主题: 高可用设计
-
PERF04-01 定义验收标准 风险等级 高 关键策略 验收标准是用于评估指定工作负载是否满足性能要求的指标,需要在性能测试前期定义合理的验收标准。 查看性能目标 性能目标定义了工作负载所需的性能级别。查看为工作负载建立的性能目标。性能目标是可能涉及响应时间、吞吐量、资源利用率或任何其他相关绩效指标的指标。例如响应时间的目标可能低于特定阈值,如小于2秒。 定义验收标准 将性能目标转换为可用于评估工作负载性能的特定验收标准。例如,假设响应时间的性能目标是2秒或更短。接受条件可以是工作负载的平均响应时间应小于2秒。使用这些验收标准来确定工作负载是否满足所需的性能级别。 父主题: 性能测试
-
OPS05-01 进行生产准备度评审(Product Readiness Review) 风险等级 高 关键策略 Production Readiness Review 生产准备度评估基线:从SLI/SLO、可冗余、可容灾、可过载控制、可故障管理、可变更能力、可运维、安全生产等维度,对服务可用性及运维能力提出基线要求。在服务产品开发前端构筑能力,进行相关需求规划、设计和开发工作,并在服务上线前进行生产准入审视。 具备以下核心价值: 1)准确评价产品可用性、维护能力并明确相关上线标准;不满足上云标准的服务,原则上不允许上线。 2)持续导入服务可服务性、运维需求基线,实现标准化、减少例外操作,帮助服务快速上云。 3)持续提升自动化验证能力,减少手工评估,提升产品的交付与运维效率。 相关云服务和工具 COC PRR评审 父主题: OPS05 运维准备和变更管理
-
SEC05-04 密钥安全管理 密钥的安全管理对于整个工作负载的安全性至关重要。如果使用不恰当的密钥管理方式,强密码算法也无法保证系统的安全。密钥的安全管理包括密钥的生成、传输、使用、存储、更新、备份与恢复、销毁等完整的生命周期流程。 风险等级 高 关键策略 生成密钥: 分层管理密钥。最少把密钥分为两层,即:根密钥和工作密钥,根密钥为工作密钥提供加密保护。 使用安全的随机数生成器来生成密钥,确保密钥的随机性和不可预测性。避免使用弱密钥或者固定密钥。 传输密钥: 使用安全的通信渠道传输密钥,如加密通道或者物理传输。 确保传输过程中密钥不被窃取或篡改。 使用密钥: 最小化密钥的使用范围,避免在不必要的情况下暴露密钥。 实施访问控制和权限管理,限制对密钥的访问。 存储密钥: 使用安全的存储设备或者加密存储来保存密钥。 确保只有授权人员可以访问密钥存储。 更新密钥: 定期更新密钥以应对安全漏洞和攻击。 使用安全的方式进行密钥轮换,确保服务的连续性。 备份与恢复: 定期备份密钥,并将备份存储在安全的地方。 确保有可靠的恢复机制,以防止密钥丢失或损坏。 销毁密钥: 在密钥不再需要时及时销毁密钥。 使用安全的密钥销毁方法,如加密删除或者物理销毁。 相关云服务和工具 数据加密 服务 DEW 父主题: SEC05 运行环境安全
-
SEC02-01 对账号进行保护 账号是华为云租户的账号体系中权限最高的用户,拥有对整个云环境的最高权限。一旦账号受到攻击或泄露,可能导致严重的安全问题和数据泄露。因此,身份认证的安全性首先要考虑对此账号进行保护。 风险等级 高 关键策略 强密码:使用强密码来保护账号,包括数字、字母、特殊字符的组合,并确保密码足够长且复杂。 多因素认证(MFA):启用多因素认证为保护账号提供了额外的安全层次。除了密码之外,MFA需要额外的身份验证信息,提高了账号的安全性。 限制日常操作:避免直接使用账号进行日常操作,而是创建并使用 IAM 用户进行日常的管理操作。账号应仅用于关键操作,如创建新的IAM用户或修改权限。 优先使用临时凭证并定期轮换凭证:定期更改账号的密码,并定期更新MFA设备。这有助于减少被猜测或盗用的风险。 启用审计日志:启用审计日志功能,以监控账号的活动。审计日志可以帮助检测异常行为并及时采取措施。 多账号管理场景:需指定一个账号作为中央账号(企业主账号),由这个账号再添加成员账号(企业子账号)。优先保证中央账号的安全,再考虑成员账号。 相关云服务和工具 统一身份认证 服务 IAM 组织 Organizations 企业管理 云审计 服务 CTS 父主题: SEC02 身份认证
-
OPS05-02 进行变更风控 风险等级 高 关键策略 根据不同变更场景构建风险控制能力,通过风险数字化度量分析和评估风险影响程度,并采取风险控制措施削减或规避风险,保障变更成功。变更风险指现网各要素增、删、改及状态改变(如版本迭代、配置改变、节点扩缩容等)时引发的业务中断风险及变更失败可能导致的业务受损风险。 设计建议 变更风控衡量指标:变更风控衡量指标为变更导致事件密度和变更引入重大事件数。 变更导致事件密度定义:每月变更导致对客户造成影响的事件数与总变更数的比值。 计算公式:变更导致事件密度=变更导致对客户造成影响的事件数/总变更数。 变更引入重大事件数定义:每月变更引入对客户产生重大影响的事件次数。 相关云服务和工具 COC 变更管理 父主题: OPS05 运维准备和变更管理
-
RES13-02 应用系统负载均衡,避免流量不均匀 针对无状态集群业务,通过负载均衡来保证业务均匀分发,可避免部分组件空闲,而部分组件过载而影响业务;同时还可以充分利用系统资源,提高系统性能,改善系统可靠性。 风险等级 高 关键策略 负载均衡分发业务粒度需避免过大,而导致部分组件过载。 负载均衡分发时需检查后端节点的负载状态,并根据各节点的负载进行业务分发。 在后端节点故障的情况下,需要自动将业务分发给其他健康节点处理,以避免业务失败。 相关云服务和工具 弹性负载均衡 ELB:支持业务负载均衡处理,还支持后端服务器健康状态检测,自动隔离异常状态的E CS 。 父主题: RES13 过载保护
-
COST06-03 跟踪并监控权益商品的使用情况 风险等级 低 关键策略 客户购买资源包等权益商品时,应定时跟踪资源包的使用情况,若资源包到期或用尽应及时续购,资源包覆盖不足应及时增购,资源包使用过少则应在资源包到期后续购合适大小的资源包,避免浪费。 相关服务和工具 华为云成本中心提供资源包的使用率/覆盖率分析,您可以通过该工具了解已购资源包的使用率和覆盖率情况,识别资源包购买过多(使用率低),还是过少(覆盖率低),从而优化下一阶段的购买。 华为云费用中心提供资源包剩余使用量预警功能,您可以根据实际需要,按照剩余使用量百分比、绝对值或自定义方式来设置阈值,及时获取提醒。 父主题: COST06 使用不同计费模式优化成本
-
单Region方案 采用单Region时,前端以CCE为例,建议方案如下: 类别 实施方案 冗余 ELB、CCE、DCS、Kafka、RDS、DDS等云服务实例均高可用部署。 备份 RDS、DDS数据库自动备份,在数据故障时使用最新备份数据恢复,可以满足可用性目标要求。 容灾 应用在两个AZ各部署一套,进行双向复制,双活容灾;AZ故障时自动恢复。 监控告警 进行站点运行状态检查,在发生故障时告警;针对CCE、DCS、kafka、RDS、DDS等实例负载状态进行监控,在资源过载时需要告警。 弹性扩缩容 CCE集群支持工作负载的自动弹性伸缩。 变更防差错 软件更新采用金丝雀或蓝绿部署,部署过程自动完成,在部署过程中出现问题时自动回滚。 应急恢复处理 制定应急处理机制,指定应急恢复人员,以便在突发事件后能快速决策和恢复;并提供常见应用、数据库问题以及升级部署失败的相关解决方案,以便在出现问题后可以及时恢复;定期进行演练,及时发现问题。 根据以上方案,典型部署架构如下: 该架构的主要特点包括: 应用系统采用无状态应用+有状态数据库的分层部署架构。 该应用系统在华为云一个Region两个AZ中各部署一套,提供同城容灾能力。 接入层(外部GSLB):通过外部GSLB进行域名解析与流量负载均衡,在单个AZ故障时自动将业务流量切换到另一AZ。 应用层(负载均衡器、应用软件及容器):对于无状态应用,通过负载均衡器进行故障检测与负载均衡,并可通过容器进行弹性伸缩。 中间件层:每个可用区各部署一套DCS、DMS Kafka集群。 数据层:每个可用区各部署一套RDS数据库,通过DRS 数据复制服务 实现跨AZ的双向数据库复制与容灾切换;并支持定期自动数据备份,在数据丢失时能快速恢复。OBS对象存储跨可用区高可用部署,单个AZ故障对业务没有影响。 为了保证数据的可靠性,RDS数据库的数据定期自动备份。 父主题: 电商类应用典型部署架构(99.99%)
-
PERF03-01 选择合适类型的计算云服务 风险等级 中 关键策略 根据应用的特征选择合适的计算云服务。选择计算云服务主要考虑以下两个因素: 应用本身的部署形态 上云时,业务的迁移方式(例如:业务是简单的迁移上云,还是本身要做改造) 如果业务本身在IDC部署模式是虚拟机部署,应用系统比较老旧,业务本身也没有改造的计划,建议按照原来IDC的部署模式,采用ECS或者BMS的形式进行应用部署,以满足应用和业务本身的性能诉求。 如果借助上云的机会业务侧也会做容器化和微服务的改造,上云时选择容器化(CCE/CCI)进行部署。 如果本身业务已经是微服务化的形式,建议上云时考虑容器服务(CCE/CCI)进行部署。 相关服务和工具 弹性云服务器 ECS 裸金属服务器 BMS 云容器引擎 CCE 云容器实例 CCI 父主题: 选择合适的计算资源
-
概念表 概念 解释 机密性 确保只有授权的用户可以访问系统中的敏感信息,防止未经授权的访问和泄露。机密性通常通过加密技术来实现,包括对数据进行加密和解密的过程,确保只有授权用户能够访问和理解数据内容。 完整性 确保数据在传输和存储过程中不被篡改,保持数据的完整性,防止数据被恶意篡改或损坏。完整性通常通过哈希函数和数字签名等技术来实现,确保数据在传输或存储过程中没有被篡改或损坏。 可用性 确保系统和数据在需要时可用,防止因攻击、故障或其他原因导致系统不可用。从安全的角度,可用性可通过负载均衡、弹性计算、事件监控和告警、防暴力攻击如DDoS防护等手段来实现。 可审计 系统或数据处理过程能够被有效地监视、记录和审计的能力。可审计性通常通过审计日志、审计跟踪、监控系统和审计工具等技术来实现,记录系统操作和事件,以便后续审计和监控。 不可抵赖性 在通信或交易过程中,一方无法否认已经发出的消息或行为,也无法否认接收到的消息或行为。不可抵赖性通常通过数字签名、公钥基础设施(PKI)、审计日志和审计跟踪等技术来实现,确保通信双方无法否认其行为或消息。 账号 帐号是您的华为云资源归属、资源隔离、计费的主体,对其所拥有的资源及云服务具有完全的访问权限。每个账号具有独立的身份验证、访问控制和资源隔离,账号之间默认相互隔离。 IAM 统一身份认证(Identity and Access Management,简称IAM)是华为云提供身份认证和权限管理的基础服务,可以帮助您安全地控制云服务和资源的访问权限。 IAM用户 由帐号在IAM中创建的用户,是云服务的使用人员,具有独立的身份凭证(密码和访问密钥),根据帐号授予的权限使用资源。 账号与IAM用户可以类比为父子关系,账号是资源归属以及计费的主体,对其拥有的资源具有所有权限。IAM用户由账号创建,只能拥有账号授予的资源使用权限,账号可以随时修改或者撤销IAM用户的使用权限。 多因素认证 多因素认证(Multi-Factor Authentication,简称MFA)是一种安全认证过程,需要用户提供两种及以上不同类型的认证因子来表明自己的身份,包括密码、指纹、短信验证码、智能卡、生物识别等多种因素组合,从而提高用户账户的安全性。 安全威胁 安全威胁指的是可能导致系统、网络或数据遭受损害、被破坏或被访问的潜在危险因素或事件。安全威胁可以是意外的,也可以是有意的,可能会导致系统遭受攻击或受到损害。安全威胁可以是外部的(如黑客攻击、恶意软件)或内部的(如员工疏忽、内部泄露)。 威胁建模 识别系统的潜在威胁以建立防护策略,构建安全的系统。 安全风险 安全风险是指在面临安全威胁的情况下,系统、网络或数据可能遭受损害或丧失机密性、完整性或可用性的概率和影响程度。安全风险通常由威胁的存在、系统漏洞、不恰当的安全措施或其他因素造成。安全风险通常通过风险评估来评估和管理,以确定风险的程度并采取相应的控制措施。 Playbook 处置剧本 安全响应中的处置剧本是一种预定义的操作指南,旨在帮助安全团队在面对特定的安全事件或威胁时,迅速且有序地采取行动。剧本通常包含详细的步骤、流程、工具和责任分配,以确保安全事件得到有效处理,减少潜在损失和影响。 数据主体 提供个人数据,可以通过个人数据识别或个人数据的组合识别的自然人,对个人数据有疑问时,有投诉或提出质询的权利。如:产品的最终用户,公司的雇员等。 数据控制者 单独或者与他人共同确定个人数据处理的目的和手段的自然人、法人、公共机构、政府部门或其他机构。对个人数据的处理有控制权,承担个人数据保护的主要责任。 数据处理者 代表数据控制者处理个人数据的自然人、法人、公共机构、政府部门或其他机构。数据处理者必须按照数据控制者的要求对个人数据进行充分的保护。 第三方(特指隐私保护中的第三方角色) 指数据主体、数据控制者、数据处理者以及根据数据控制者或者处理者的直接授权而处理数据的人之外的任何自然人或法人、公共权力机关、代理机构或其他机构。 个人数据 个人数据是指与一个身份已被识别或者身份可被识别的自然人(“数据主体”)相关的任何信息。身份可识别的自然人是指其身份可以通过诸如姓名、身份证号、位置数据等识别码或者通过一个或多个与自然人的身体、生理、精神、经济、文化或者社会身份相关的特定因素来直接或者间接地被识别。 敏感个人数据 高影响个人数据的一个子集。指在个人基本权利和自由方面极其敏感,一旦泄露可能会造成人身损害、财务损失、名誉损害、身份盗窃或欺诈、歧视性待遇等的个人数据。 父主题: 基本概念
-
RES01-02 应用组件多位置部署 应用组件需要部署在多个数据中心,以避免单个数据中心故障而导致业务中断。 风险等级 高 关键策略 可根据不同需求,将应用的数据和资源部署在多个位置: 应用多AZ部署:应用应尽可能部署在多个可用区,避免由于单个可用区故障而导致所有业务中断。 应用多Region部署:对于可用性要求高的应用系统,需要考虑多Region部署,避免由于单个Region故障而导致所有业务中断。 在多AZ部署能满足需求的情况下,应优先使用多AZ部署。大多数工作负载的可用性目标都可通过在单个Region内多 AZ 部署来实现,只有工作负载具有极高的可用性要求或者其他业务目标时,才考虑多Region架构。 父主题: RES01 冗余
-
SEC04-01 对网络划分区域 网络的分区是将网络划分为多个部分,以隔离不同敏感性要求的网络流量和资源,从而增加网络的安全性。 风险等级 高 关键策略 通过网络分区,可以实现以下目的: 隔离敏感数据:将敏感数据和应用程序隔离在独立的网络分区中,以减少未经授权访问的风险。 可扩展性:分区和分层可以帮助管理和扩展复杂的网络架构,使其更易于维护和扩展。 限制网络流量:控制不同网络分区之间的通信流量,以确保只有经过授权的流量可以流动。 提高性能和可用性:通过分区网络,可以优化网络性能和可用性,避免网络拥塞和单点故障的影响。 定义每个分区的边界,并按照方便管理和控制的原则为各网络区域分配地址。例如,对于一个Web工作负载,划分Web区、App区、Data区等。最重要的边界是公共网络(互联网)与应用程序之间的边界,这个边界是您的工作负载的第一道防线。华为云的VPC和子网都可以作为每个网络分区的边界。 VPC划分:为VPC指定合适的CIDR范围,以确定VPC的IP地址空间。 子网划分:在VPC中,创建多个子网,并将不同的资源部署在不同的子网中。 相关云服务和工具 虚拟私有云 VPC 父主题: SEC04 网络安全
-
RES06-03 支持亚健康检测 系统内组件有可能完全故障,也有可能处于亚健康状态;亚健康是指系统整体业务未超标,但系统中局部实例业务超标。亚健康更多是个相对概念,相对历史表现的统计,或相对系统整体。因此针对亚健康的检测和判断有所不同。当处于亚健康状态时,系统也需要及时进行隔离或恢复处理,避免对业务造成影响。 风险等级 高 关键策略 亚健康检测通常用于根据亚健康症状来预测系统故障,典型的例子是内存泄漏,内存泄漏往往不会立刻导致系统失效,系统首先会因为Swap Memory不足变得运行缓慢,消耗内存量持续增加,因此通过监控实例内的内存占用率,在超过阈值的情况下及时告警,人工介入迅速恢复,可避免造成业务中断。 典型的亚健康场景有:通信链路丢包/错包、硬盘性能下降、CPU/内存过载等,当应用系统内组件出现亚健康时,可能会导致应用系统对外业务成功率下降。 由于亚健康并非故障,因此针对亚健康的检测一般是针对业务监控指标设置阈值,当指标超过阈值时进行告警和恢复处理。 父主题: RES06 故障检测
-
PERF05-04 大数据场景资源优化 风险等级 中 关键策略 在大数据场景下,可以通过优化资源的使用和分配,提高系统的性能和效率。以下是一些常见的大数据场景资源优化方法: 分布式存储:使用分布式存储系统,如Hadoop HDFS、Apache Cassandra等,将数据分散存储在多个节点上,以提高数据的可靠性和可扩展性。 数据压缩:对于大量的数据,可以采用压缩算法进行压缩,以减少数据的存储空间和传输带宽。 并行计算:使用并行计算框架,如Apache Spark、Apache Flink等,将计算任务分配到多个节点上并行执行,以提高计算速度和效率。 内存优化:通过调整内存分配和使用策略,如使用内存缓存、内存映射等技术,以提高数据处理和计算的速度和效率。 负载均衡:通过负载均衡技术,将数据和计算任务均匀地分配到多个节点上,以避免单个节点过载,提高系统的可用性和性能。 数据分区:将数据按照一定的规则分成多个分区,以便更好地进行数据处理和计算。 网络优化:通过优化网络带宽、延迟等参数,以提高数据传输的速度和效率。 数据清洗和预处理:在进行大数据处理之前,对数据进行清洗和预处理,以提高数据的质量和准确性,减少后续计算的错误率和计算量。 父主题: 资源优化
-
跨云容灾方案 当重要应用系统已经在IDC或其他云上部署,并需要容灾到华为云,以提供高可用的容灾方案。假定应用系统在IDC或其他云上可以达到99.9%的可用性,则在容灾到华为云后,能提供99.99%的可用性。 跨云应用典型架构为前端无状态应用层+后端数据库,其中前端无状态应用可采用虚拟机或容器(以容器为例,华为云采用CCE),后端数据库通常要求采用通用MySQL数据库(华为云采用RDS for MySQL),以实现跨云容灾。 华为云上的应用部署建议方案如下: 类别 实施方案 冗余 ELB、CCE、DCS、Kafka、RDS、DDS等云服务实例均高可用部署。 备份 RDS、DDS数据库自动备份,在数据故障时使用最新备份数据恢复,可以满足可用性目标要求。 容灾 应用跨AZ部署,AZ故障时自动恢复;支持跨云容灾,在IDC或其他云出现故障时可以快速切换到华为云。 监控告警 进行站点运行状态检查,在发生故障时告警;针对CCE、DCS、kafka、RDS、DDS等实例负载状态进行监控,在资源过载时需要告警。 弹性扩缩容 CCE集群支持工作负载的自动弹性伸缩。 变更防差错 软件更新采用金丝雀或蓝绿部署,部署过程自动完成,在部署过程中出现问题时自动回滚。 应急恢复处理 制定应急处理机制,指定应急恢复人员,以便在突发事件后能快速决策和恢复;并提供常见应用、数据库问题以及升级部署失败的相关解决方案,以便在出现问题后可以及时恢复;定期进行演练,及时发现问题。 根据以上方案,典型部署架构如下: 该架构的主要特点包括: 应用系统采用无状态应用+有状态数据库/虚拟机的分层部署架构。 应用系统在IDC/其他云与华为云中各部署一套完整系统;华为云采用跨AZ部署,可以实现云内应用层跨数据中心双活;云间数据支持将它云数据实时同步到华为云,采用主备容灾,在IDC/其他云故障的情况下能快速容灾切换到华为云。 接入层(外部DNS、API网关):通过外部DNS进行域名解析,在IDC/其他云故障时手工将业务流量切换到华为云。 应用层(负载均衡器、应用软件及虚拟机或物理主机):对于无状态应用,通过负载均衡器进行故障检测与负载均衡,在华为云上可通过AS弹性伸缩服务监控负载进行弹性伸缩;对于有状态应用,通过SDRS服务实现跨云的虚拟机数据复制与容灾切换,并可通过CBR服务进行自动数据备份。 中间件层:Redis、Kafka集群跨可用区高可用部署。 数据层:MySQL数据库高可用,通过DRS数据复制服务实现跨云的数据库复制与容灾切换;并可定期自动备份数据,在数据丢失时快速恢复业务。 为了保证数据的可靠性,数据库的数据定期自动备份,在数据丢失时可以快速恢复。 父主题: 跨云场景典型部署架构(99.99%)
-
SEC06-02 建立安全编码规范 应用安全涉及需求、设计、实现、部署多个环节,实现的安全是应用安全的重要一环。建立安全编码规范有助于团队编写更安全、更高质量的代码,减少甚至规避由于编码错误引入的安全风险。 风险等级 高 关键策略 发布团队常用编程语言的安全编码规范。通用的安全编码规范应包含程序输入校验、程序输出编码、身份验证、访问控制、安全加解密算法、异常处理、IO操作、文件上传、序列化、输出格式化等。 对于在Web应用场景使用的语言如Java、Python,还要考虑安全会话管理、防SQL注入、防跨站脚本攻击XSS、防跨站请求伪造CSRF等编码规范。 对于C/C++语言,要考虑缓冲区溢出漏洞、命令注入、危险函数、内存泄露、指针越界、数组读写越界等安全风险。 对于JavaScript语言,要考虑容易受到XSS攻击的安全风险。 父主题: SEC06 应用安全性
-
卓越运营支柱简介 在华为公司,卓越运营代表着质量、效率和可持续的卓越客户体验。它帮助改进设计、开发、测试、部署、发布和运维活动,持续实现高质量的交付结果,推动了持续集成和持续交付(CI/CD)落地;同时助力打造确定性运维体系,让研发团队将更多时间用在构建让客户受益的新功能上,减少用于维护和处理突发事件的时间,从而带来运行良好的系统和平衡的工作负载,尤其是卓越的客户体验。卓越运营支柱融合了这些优秀实践,聚焦如何正确地构建软件,高效地运维软件,持续提供卓越的客户体验,包含:组织团队、设计工作负载、大规模运营工作负载和随时间变化改进工作负载的最佳实践。 父主题: 卓越运营支柱
-
OPS01-01 建立持续学习和改进的文化 风险等级 高 关键策略 由于系统的独特性和复杂性,没有放之四海皆准的方案,为了达到卓越运营,需要不断改进这些最佳实践,并建立自己的最佳实践。所以,在所有最佳实践的第一条,就是在您的团队中培养持续学习和改进的文化。 而持续学习和改进需要鼓励团队沟通和共享,例如,在您公司/组织中总结的最佳实践应该得到广泛地传播,对已有事故的分析,应该得到记录,确保相关根因都得到充分理解,尤其重要的是制定有效的标准化流程/自动化工具来降低事故再次发生的可能性和影响,这些流程和自动化工具,也需要广而告之,以向团队解释清楚缘由。 父主题: OPS01 建立持续改进的团队文化和标准化的运维体系
-
OPS04-03 基础设施即代码 基础设施即代码(IaC)是指使用代码而不是手动流程来管控基础设施的能力。 应用程序环境都需要许多基础设施组件,例如操作系统、数据库连接和存储。 开发人员必须定期设置、更新和维护基础设施,以开发、测试和部署应用程序。 手动管理基础设施既耗时又容易出错,尤其是在大规模管理应用程序时。 风险等级 高 关键策略 使用声明式工具:与命令式工具相比,声明式工具是部署和管理 IaC 的更好的整体选择。声明性工具对其定义文件使用更简单的语法,仅定义部署完成后所需的环境状态。命令式工具需定义达到所需最终状态所需的步骤,因此文件可能比声明性文件复杂得多。声明性定义文件还有助于减少维护命令式代码(例如部署脚本)的技术债务,这些技术债务会随着时间的推移而增加。 使用云平台工具和其他经过行业验证、集成到平台中的工具:云平台提供的工具可以使 IaC 的部署变得简单直接。利用这些工具而不是开发自己的解决方案。云平台包含满足您大多数需求的内置功能,并且由平台提供商不断更新,随着平台的发展而变得更加有用。 标准化模块化方案:模块可以使基础设施部署可重复,标准化有助于确保模块的构建能够满足特定目标。建议使用模块来封装复杂的配置或资源组合。此外,在开发新模块时非敏感场景可以适当使用开源模块。 标准化人工步骤:如果存在与部署和维护相关的人工步骤,要尽可能减少这类活动。在运维指南和标准操作程序中,清楚地记录人工步骤,并实现标准化,以确保安全、一致地执行任务。 回收闲置资源:由于配置管理工具及其限制等原因,有时 IaC 工具无法自动删除资源。例如,假设需要从虚拟机迁移到 PaaS 服务,而 IaC 工具没有删除闲置资源的逻辑。如果忘记手动删除这些资源,这些资源可能会成为孤立资源。为了处理这些场景,需要标准化扫描闲置资源并明确删除策略。 相关云服务和工具 资源编排 服务 RFS 父主题: OPS04 自动化构建和部署流程
-
RES08-02 依赖松耦合 系统内组件之间直接访问时,会产生紧耦合关系一个组件的状态变化会对其他组件产生直接影响,从而会导致所有组件的可用性均下降。而采用松耦合架构时,各个组件之间的依赖关系非常弱,它们可以独立地进行修改和扩展,而不影响其他组件;系统更加灵活,易于维护和升级,并且稳定性和可靠性也更强。 风险等级 中 关键策略 组件之间通过消息队列、消息缓存、负载均衡器等交互(即松耦合关系),可一定程度上屏蔽组件的状态变化,防止对其他组件造成影响 相关云服务和工具 弹性负载均衡服务 ELB 分布式缓存服务 DCS 分布式消息服务Kafka版 分布式消息服务RabbitMQ版 分布式消息服务RocketMQ版 事件网格 EG 父主题: RES08 依赖减少与降级
-
数据持久度 数据持久度是指数据不丢失的概率,即存储在预计周期内不出现数据丢失的概率,可以用于度量一个存储系统的可靠性。其只表示数据是否丢失的概率,不体现数据丢失多少;数据持久度的预计周期,一般按一年进行预计。 影响存储数据持久度的主要因子有:冗余数、磁盘失效率与数据修复时间。其中每多一个冗余,数据持久度通常可增加2~3个9;云上常用的对象存储,一般采用3副本冗余,通常可提供11~12个9的数据持久度。 父主题: 可用性目标定义
-
PERF02-02 容量规划 风险等级 中 关键策略 容量规划指根据业务需求和系统性能,包括用户数量、并发请求量、响应时间要求等,以此规划和配置系统所需的资源。容量规划对于任何组织来说都非常重要,有效的容量规划可以确保有足够的资源来满足预期的需求,同时避免浪费资源。 收集容量数据 收集容量数据有助于将业务目标转化为技术要求,并且对于预测容量至关重要。为了满足工作负载需求,收集容量数据需要包括系统资源消耗数据以及业务关键数据。 资源消耗数据:包括CPU、内存、磁盘空间、网络带宽等,以便确定系统的瓶颈所在。 业务关键数据:包括用户数量、用户行为模式、业务类型、业务时段等,以便确定业务需求对工作负载的影响。 预测需求 有效的容量规划需要为未来的业务需求做好准备,通常使用工作负载的数据来预测未来需求。预测需求是一个复杂的过程,涉及到多种因素,包括市场趋势、消费者行为、竞争环境等。通过多种方法的组合,如历史数据分析、资源分析、趋势分析等,以此作为预测需求的基础,并结合人工智能机器学习算法,以便更准确地预测未来的需求,评估工作负载的资源需求。 使预测与工作负载目标保持一致 为了确保预测与工作负载目标保持一致,需要定期对预测进行评估,比较实际结果与预测结果,根据需要对容量预测模型进行调整。例如新的应用或服务添加到系统中,那么容量预测模型就需要考虑这些新的容量需求。预测与工作负载目标的一致性,可确保充分预配资源,防止资源浪费或工作负载过载。 确定资源需求 根据需求和预测分析的结果,进行容量评估和规划。确定系统所需的计算资源、存储资源和网络带宽等资源,以满足系统的性能要求。 计算资源:根据预测的需求,计算所需的CPU、GPU、内存等计算资源,并根据实际情况进行选择和配置。 存储资源:根据预测的需求,计算所需的存储空间,例如需要存储大量的数据,可能需要选择分布式存储系统。 网络带宽:根据预测的需求,计算所需的网络带宽,例如需要进行大规模的数据传输或者实时的网络通信,可能需要选择高速网络 了解资源限制 容量规划时了解和合理使用资源限制非常重要,常见的资源限制包括进程、线程、CPU使用率、内存使用量、磁盘空间等。资源限制的主要目的是保证系统的稳定性,防止某些进程或应用程序占用过多的系统资源,导致其他进程或应用程序无法正常运行,甚至导致系统崩溃。 父主题: 性能规划
-
RabbitMQ性能优化 保持尽可能短的队列长度 太多的消息堆积在队列中会造成内存负载过高,为了释放内存,RabbitMQ 会把消息转存到磁盘,转存过程会耗费大量时间,造成消息处理速度下降或直接阻塞生产流程。因此队列中堆积过多的消息容易对 broker 产生负面效应。除此之外,如果节点崩溃后重启,过多的数据会使得重建索引需要消耗大量时间,集群模式下的节点间同步数据也会非常耗时。 使用惰性队列提升稳定性 惰性队列(lazy queues)是 RabbitMQ 3.6 之后新增的特性。惰性队列的消息会自动存储到磁盘,因此减少了内存的使用率,但是会增加I/O开销,影响吞吐量。使用惰性队列能够更好的把控性能,并且使得集群更加的稳定。和非惰性队列不同,消息不会积累在内存中然后等到内存不足再一次性刷到磁盘,造成队列性能不稳定。如果你需要一次发送大量消息,或者消费速度长时间赶不上生产速度,那么我们推荐使用惰性队列。 请注意,以下情况不建议使用惰性队列: a. 追求高性能 b. 队列无明显积压 c. 队列设置了 max-length 策略 通过TTL或者max-length限制队列长度 可以通过设置消息 TTL、队列 TTL 和 max-length 来限制队列长度。如果队列长度达到 max-length 值,队列头部的消息会被丢弃或进入死信队列。消息的生存时间到期也会被丢弃或者进入死信队列。 关注队列个数 在 RabbitMQ 中,一条队列是由一个线程处理的。利用服务器的多核特性和分布式特性建立多条队列,将不同队列分布到不同 CPU 或不同节点,以此来获取高吞吐量。同时需要注意,过多的队列可能会对 CPU 和内存造成较高的负担,RabbitMQ management 接口的响应速度也会受到影响。 自动为临时队列分配队列名 如果使用临时队列(包括排他队列、自动删除队列、非持久化队列),可以调用不带参数的接口queueDeclare()让 RabbitMQ 自动为你分配一个队列名。 根据需要使用自动删除队列 如果不再使用的队列资源长期保存在服务端,可能对 RabbitMQ 性能造成影响,可以通过三种方法自动地删除队列:为队列设置 TTL 属性、为队列设置 auto-delete 属性、为队列设置 exclusive 属性。 控制优先级队列的使用 每一个优先级会在Erlang VM中使用一个内部队列,这会消耗一定的资源。大多数场景下,使用最多5个优先级就够了。 如何确定消息大小 如何选择发往RabbitMQ的消息长度是一个常见问题。记住,每秒钟发送的消息数比消息大小更容易达到瓶颈。虽然发送大消息不是一个好的做法,但是发送多条小的消息也可能不是一个好的选择。更好的方法是生产者把多条小消息封装成一条大消息,然后由消费者来拆开处理。然而,如果一条大消息封装了太多的子消息,处理速度将会受到影响。如果一条子消息处理失败,整个大消息都需要重传。因此,当选择消息大小时,需要考虑带宽和业务架构。 连接和通道 每条连接(connection)大约占用 100KB 内存(启动 TLS 则会占用更多)。数以千计的连接会对 RabbitMQ 服务端造成较大的负担,极端情况下会因为 OOM 而崩溃。AMQP 协议可以在单条 TCP 连接上进行多路复用。建议一个进程只创建一条 TCP 连接,每个线程复用这条连接创建各自的通道(channel)。连接应该保持长生命周期,因为 AMQP 建立连接需要一定的开销(至少 7 个 TCP 包)。相反,通道则允许较为频繁的开启和关闭,但在发布消息时复用通道也是一个好的习惯,不要每发送一条消息都开启一个新的通道。同时需要注意如下几点: 多线程不要共享通道,因为你很难实现线程安全。 不要频繁的开启或关闭连接和通道,否则会造成更高的延迟。 生产者和消费者使用独立的连接,来提高吞吐量。 大量的连接和通道可能会影响管理接口的性能,造成请求超时。 消息确认 消费者使用确认(Acknowledgment)机制避免消息因为连接问题而丢失,客户端可以在收到消息或者处理完消息后回给服务端一个 ack 消息。消费者确认机制会对性能造成影响,如果单纯追求高吞吐量,应该关闭手动确认功能。如果消息对于业务来说比较重要,那么应该在消息被处理完之后才确认该条消息。生产者使用 Confirm 机制来实现类似的功能,当服务端收到生产者发来的消息,它会返回一个 ack 消息,以此来实现最少一次(at-least-once)的投递语义。注意,Confirm 机制同样会影响性能。 控制未确认消息个数 所有未确认的消息都会暂存在内存中,太多的未确认消息可能造成服务 OOM。为了限制未确认消息的规模,你可以在消费者端开启prefetch功能来限制消息拉取上限。 持久化资源 为了防止因为服务宕机、重启、硬件问题等原因造成的消息丢失,请使用持久化队列和消息。持久化消息涉及到写磁盘操作,如果使用了惰性队列也会将所有消息写入磁盘,包括非持久化消息。如果单纯追求高性能,可以使用非持久化消息。 开启TLS连接 你可以在 AMQP 之上使用 TLS 连接 RabbitMQ。因为数据需要加解密,所以 TLS 对性能有一定的影响。 如何正确选择 QoS 值 如果只有单个或少量消费者,并且消费速度很快,那么建议 QoS 设置的大一点,使得客户端保持忙碌状态。 如果客户端的消息处理速度和带宽保持不变,简单的用公式RTT / 单条消息处理时间就可以估算出应该设置多大的 QoS 值。 如果消费者数量较多并且消息处理速度较快,那么建议 QoS 设置的小一点。 如果消费者数量较多并且消息处理速度较慢,那么建议 QoS 设置为 1,让消息平均的分发到所有消费者。 请注意,如果客户端使用拉模式或者开启了自动确认(auto-ack),预拉取功能将会失效。一个常见的错误是不限制预拉取消息个数,所有消息全部发送给一个消费者,造成消费者 OOM 崩溃和消息重复投递。更多关于 RabbitMQ 预拉取功能的信息可以参考这里。 观测性能指标 指标ID 指标名称 指标说明 channels 通道数 该指标用于统计RabbitMQ实例中的总通道数。 queues 队列数 该指标用于统计RabbitMQ实例中的总队列数。 connections 连接数 该指标用于统计RabbitMQ实例中的总连接数。 connections_usage 连接数使用率 当前节点实际连接数占最大连接数比率。 rabbitmq_disk_usage 磁盘容量使用率 统计Rabbitmq节点虚拟机的磁盘容量使用率。 rabbitmq_cpu_usage CPU使用率 统计Rabbitmq节点虚拟机的CPU使用率。 rabbitmq_memory_usage 内存使用率 统计Rabbitmq节点虚拟机的内存使用率。 rabbitmq_cpu_core_load CPU核均负载 统计Rabbitmq节点虚拟机CPU每个核的平均负载。 全量指标可参考RabbitMQ支持的监控指标。 父主题: 消息队列性能优化
-
SEC08-04 数据收集合规性 数据收集合规性是指数据控制者在收集个人数据时需遵守相关的法律法规和隐私保护准则,确保数据收集活动符合法律规定并尊重数据主体的权利。 风险等级 高 关键策略 收集个人数据必须获得数据主体授权。 收集敏感个人数据必须获得数据主体明示同意。 个人数据收集范围、使用目的、处理方式不得超出隐私声明,且遵循最小化原则。 收集到同意之后也需要向数据主体提供撤销或修改同意的途径。 父主题: SEC08 数据隐私保护
-
PERF04-05 应用性能数据采集 风险等级 中 关键策略 应用程序的性能数据(吞吐量、延迟和完成时间),通常需要通过代码采集,例如嵌入代码片段或将工具集成到应用程序代码中。通过应用的性能数据,可以识别性能瓶颈、评估系统行为、识别可用性风险、规划容量等指标。 常用应用性能监控策略有: APM 工具:可用使用云上APM 工具或者开源的APM工具和分析性能数据(指标、日志、调研链) 使用基于日志调用链框架:这些框架具备日志生成、日志格式化、日志上下文关联分析登能力。 通过框架引入到代码库中,可以在运行时采集相关的性能数据。 自定义检测:仅当平台指标不足时,才建议开发人员可以添加自定义代码采集独有的性能指标。 使用业界可观测的标准。请考虑使用围绕业界标准构建的工具,例如OpenTelemetry。 建议:使用分布式的调用链技术,可以识别多个服务和组件之间请求链路;通过收集调用链数据实现数据流端到端的分析,产品阻塞瓶颈点或者效率低下的请求片段,从而进行针对性的优化。 相关云服务和工具 应用运维管理 AOM 应用性能管理 APM 云日志服务LTS 父主题: 性能数据采集
-
COST05-01 分析业务趋势和优化收益 风险等级 高 关键策略 云成本是一个综合工程,也是一个定期审核、回顾和执行的流程,除了考虑优化带来的收益以外,还需要考虑相关成本,例如,因为优化带来的人员和时间成本。 为了降低整体成本,优化的工作量必须与潜在的节省额成比例。优化可以从应用占成本的比例考虑。 例如,与占总成本 5% 的应用相比,应更经常、更彻底地审核占总成本 50% 的应用。优化时要考虑的另一个因素是实施更改的工作量。如果测试和验证变更的成本很高,优化的频率应该降低。您应该反方向考虑是否可以通过替身自动化测试和验证能力,从而进一步降低人力成本。 此外,由于成本优化带来可能带来的资源冗余度的下降,故而也应该综合考虑业务的趋势。 比如一个快速增长的业务组织更多地可能会偏向于提升业务的速度,而设计一个比较宽松的云成本优化策略,而稳定的业务组织则可以以成本效率为主要考量,设计比较严格的云成本优化策略。如果应用服务于特定的地理位置或市场领域,并且您已预测出该领域会出现的对云业务使用量的降低,则提高优化频率可能会更有利于节省成本。 父主题: COST05 优化指定策略和目标
-
问题和检查项 在迈向卓越运营的过程中,推荐使用如下问题寻找自身可以改进的点,并参考检查项/最佳实践进行改进,以下所有的检查项,也是最佳实践建议,将在下一章节进行详细描述。 问题 检查项/最佳实践 OPS01 您是否已经建立持续改进的团队文化和标准化运维体系? 1. 建立持续学习和改进的文化 2. 规划标准化的运维组织 3. 规划标准化的运维流程与运维工具 OPS02 您是否通过CI/CD实现高效的频繁可逆的小规模变更? 1. 进行需求管理与迭代开发 2. 关联源代码版本和部署的应用版本,使用代码质量最佳实践 OPS03 你是否有完备的测试验证体系? 1. 推行开发者测试 2. 使用多个环境进行集成测试,构建和生产环境相同的预生产环境 3. 性能压测 4. 生产环境拔测 5. 混沌测试和演练 OPS04 自动化构建和部署流程是否完备? 1. 有效落地持续集成 2. 采用持续部署模型 3. 基础设施即代码 4. 自动化工程运维任务 OPS05 是否有运维准备和变更管理体系? 1. 进行生产准备度评审 2. 进行变更风控 3. 定义变更流程 OPS06 是否建立了完备的可观测体系? 1.建立可观测体系 2.定义可观测对象 3.制定和实施可观测性指标 4. 规范化应用日志 5. 实施依赖项遥测 6. 实施分布式跟踪 7. 通过可观测性指标引入自动化措施 OPS07 是否进行故障分析与管理? 1. 创建可操作的告警 2. 创新监控看板 3. 支持事件管理 4. 支持故障恢复流程 OPS08 是否有运营状态度量和持续改进机制? 1. 使用度量指标衡量运营目标 2. 进行事故复盘和改进 3. 知识管理 父主题: 卓越运营支柱
-
PERF05-01 设计优化 风险等级 中 关键策略 快速通道模式 通过减少支配性工作量负载的处理量,只剩下必要的部分,来改进响应的时间。一个软件可以有多项功能,只有几个是被经常使用的,经常使用的功能构成支配性工作量负载。快速通道模式减少这些功能的处理量,或简化其处理过程。快速通道通过简化执行路径的方式来实现,简化路径即是快速通道。 快速通道的前提是识别出支配性工作量,可以根据某项功能的使用频率来选择。常见的快速通道如,页面快速导航键、DB的索引等。 重要事情优先 把资源优先用于或者集中在重要的任务处理上,确保重要任务的完成;如果不能在可用的时间内完成所有事情,被忽略的是最不重要的任务。主要用于处理瞬时突发负载导致超出系统处理的容量的情况,一般给重要任务赋予高优先级,最重要的行为优先得到处理。只适用于暂时超载的情况,如果超载不是暂时的,需要减少处理量,或者升级系统。如在性能过载场景下,按照功能优先级进行熔断间接,保证主要功能可用。 聚合 将大多数场合在一起使用的功能组合在一起,以减少调用的交互次数。 本模式要求将组合调用居多的一些子功能,合并起来使用。聚合这个模式要求尽量将相关或紧耦合的功能放到一个对象中,使用本地接口,避免在外部接口或重开销的接口(如CORBA接口),呈现小粒度对象。聚合模式使用更粗粒度的对象,经常被访问的数据应当组合成一个聚合物,以消除对少量信息的频繁请求。如,帐户类CustAcct可以提供访问函数getName(),getAddress(),getZip(),如果经常用到该类的任务是创建邮件标签,可以使用一个新函数genMailLableInfo(),以便调用一次取得所有信息,减少交互次数。 批处理 把经常性的服务请求合并到一起,节省请求的初始化、传输、终止的处理开销。当请求的任务初始化、传输、终止的开销较大时,系统的额外开销可能超过真正的处理时间。通过将请求合并为批处理,开销处理为一批请求所分摊,不再是单独分别执行一次,从而提高处理效率。如DB的批量保存、Redis的popeline方式都是常用的批处理操作 批处理过程模型 替代路由(Bypass) 从空间上分散对高使用率对象的请求,将请求分散到其他对象或者对象的其他位置,以降低争用延时.类似于通过一条替代路线,绕开交通瓶颈,到达目的地。具体方案一是对目标对象进行空间划分,划分成小粒度对象,操作分散到不同物理位置;二是增加单独线程,每个线程更新自身的数据区域。 比如进程必须与下游单个进程协作时,只有一个下游进程,在高负载的情况下跟不上,造成交通堵塞。可以使用多个下游进程,每个进程只更新其自身的数据区域。 弹性时间 在时间上分散对高使用率对象的要求,分散到不同的时间段上,减少对这些对象的争用延时。 很多请求在某一时刻同时发出,导致要求返回的结果激增,响应缓慢。而在其他时间,很少或者没有请求。当处理请求以特定频率出现,或者在一天中的某个特定时间出现,就会产生这种情况。识别那些定期的,以特定间隔反复处理的功能,然后修改他们的处理时间,在给定时间范围内,随机分散到不同时间,以解决这个问题。 空间换时间 通过使用更多的存储空间,以节省执行时间。 空间换时间包括简单地预先存储结果,或者存储经常被访问的数据以方便计算;另一种空间换时间则包括选择特定的算法,如HASH算法就是一种典型的空间换时间的算法。另一种是OLAP技术,在此技术中,数据被按照一定的层级关系预先汇总,这样会大辐降低后续查询的耗时。 比如在慢SQL优化的时候,常用收段是识别频繁访问的字段并且设置索引,通过索引来缩短访问时延。 处理有效负载 识别出必须要处理的数据,排除对其他数据的重复处理。在一项处理数据的操作中,并非所有的处理数据都是必须处理的,可以通过分析,识别出必须处理的数据。可以有多种方式,来减轻负载的方法,如增量处理、变化通知等。 增量处理 变化通知 有效减负的反模式是“负载过重”,是在处理过程中,处理了大量不必要的处理数据,大辐增加了处理负载。出现这种情况的原因,有时为了简化处理过程,有时候是没有做必要性分析。可以通过对待处理数据进行分析,筛选出必须处理的数据,重新设计处理方案。 串行同步衔接 给线程/进程间的串行衔接设计紧密的衔接和同步措施,减少同步等待延时。 将一个串行处理通过划分多个线程并行处理,但各线程的处理又有一定的顺序和同步关系,需要设计合适的衔接和同步措施。同步方式可以是定时查询,也可以选择消息同步,或Event关联,选择的原则是衔接时间缝隙满足性能目标要求。 这个方法最佳的效果只是让整体性能略等于处理环节中最差的一个环境的性能(忽略线程切换及信号量等切换时间)。 父主题: 设计优化
共100000条
- 1
- ...
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 87
- 88
- 89
- 90
- 91
- 92
- 93
- 94
- 95
- 96
- 97
- 98
- 99
- 100
- 101
- 102
- 103
- 104
- 105
- 106
- 107
- 108
- 109
- 110
- 111
- 112
- 113
- 114
- 115
- 116
- 117
- 118
- 119
- 120
- 121
- 122
- 123
- 124
- 125
- 126
- 127
- 128
- 129
- 130
- 131
- 132
- 133
- 134
- 135
- 136
- 137
- 138
- 139
- 140
- 141
- 142
- 143
- 144
- 145
- 146
- 147
- 148
- 149
- 150
- 151
- 152
- 153
- 154
- 155
- 156
- 157
- 158
- 159
- 160
- 161
- 162
- 163
- 164
- 165
- 166
- 167
- 168
- 169
- 170
- 171
- 172
- 173
- 174
- 175
- 176
- 177
- 178
- 179
- 180
- 181
- 182
- 183
- 184
- 185
- 186
- 187
- 188
- 189
- 190
- 191
- 192
- 193
- 194
- 195
- 196
- 197
- 198
- 199
- 200
- 201
- 202
- 203
- 204
- 205
- 206
- 207
- 208
- 209
- 210
- 211
- 212
- 213
- 214
- 215
- 216
- 217
- 218
- 219
- 220
- 221
- 222
- 223
- 224
- 225
- 226
- 227
- 228
- 229
- 230
- 231
- 232
- 233
- 234
- 235
- 236
- 237
- 238
- 239
- 240
- 241
- 242
- 243
- 244
- 245
- 246
- 247
- 248
- 249
- 250
- 251
- 252
- 253
- 254
- 255
- 256
- 257
- 258
- 259
- 260
- 261
- 262
- 263
- 264
- 265
- 266
- 267
- 268
- 269
- 270
- 271
- 272
- 273
- 274
- 275
- 276
- 277
- 278
- 279
- 280
- 281
- 282
- 283
- 284
- 285
- 286
- 287
- 288
- 289
- 290
- 291
- 292
- 293
- 294
- 295
- 296
- 297
- 298
- 299
- 300
- 301
- 302
- 303
- 304
- 305
- 306
- 307
- 308
- 309
- 310
- 311
- 312
- 313
- 314
- 315
- 316
- 317
- 318
- 319
- 320
- 321
- 322
- 323
- 324
- 325
- 326
- 327
- 328
- 329
- 330
- 331
- 332
- 333
- 334
- 335
- 336
- 337
- 338
- 339
- 340
- 341
- 342
- 343
- 344
- 345
- 346
- 347
- 348
- 349
- 350
- 351
- 352
- 353
- 354
- 355
- 356
- 357
- 358
- 359
- 360
- 361
- 362
- 363
- 364
- 365
- 366
- 367
- 368
- 369
- 370
- 371
- 372
- 373
- 374
- 375
- 376
- 377
- 378
- 379
- 380
- 381
- 382
- 383
- 384
- 385
- 386
- 387
- 388
- 389
- 390
- 391
- 392
- 393
- 394
- 395
- 396
- 397
- 398
- 399
- 400
- 401
- 402
- 403
- 404
- 405
- 406
- 407
- 408
- 409
- 410
- 411
- 412
- 413
- 414
- 415
- 416
- 417
- 418
- 419
- 420
- 421
- 422
- 423
- 424
- 425
- 426
- 427
- 428
- 429
- 430
- 431
- 432
- 433
- 434
- 435
- 436
- 437
- 438
- 439
- 440
- 441
- 442
- 443
- 444
- 445
- 446
- 447
- 448
- 449
- 450
- 451
- 452
- 453
- 454
- 455
- 456
- 457
- 458
- 459
- 460
- 461
- 462
- 463
- 464
- 465
- 466
- 467
- 468
- 469
- 470
- 471
- 472
- 473
- 474
- 475
- 476
- 477
- 478
- 479
- 480
- 481
- 482
- 483
- 484
- 485
- 486
- 487
- 488
- 489
- 490
- 491
- 492
- 493
- 494
- 495
- 496
- 497
- 498
- 499
- 500
- 501
- 502
- 503
- 504
- 505
- 506
- 507
- 508
- 509
- 510
- 511
- 512
- 513
- 514
- 515
- 516
- 517
- 518
- 519
- 520
- 521
- 522
- 523
- 524
- 525
- 526
- 527
- 528
- 529
- 530
- 531
- 532
- 533
- 534
- 535
- 536
- 537
- 538
- 539
- 540
- 541
- 542
- 543
- 544
- 545
- 546
- 547
- 548
- 549
- 550
- 551
- 552
- 553
- 554
- 555
- 556
- 557
- 558
- 559
- 560
- 561
- 562
- 563
- 564
- 565
- 566
- 567
- 568
- 569
- 570
- 571
- 572
- 573
- 574
- 575
- 576
- 577
- 578
- 579
- 580
- 581
- 582
- 583
- 584
- 585
- 586
- 587
- 588
- 589
- 590
- 591
- 592
- 593
- 594
- 595
- 596
- 597
- 598
- 599
- 600
- 601
- 602
- 603
- 604
- 605
- 606
- 607
- 608
- 609
- 610
- 611
- 612
- 613
- 614
- 615
- 616
- 617
- 618
- 619
- 620
- 621
- 622
- 623
- 624
- 625
- 626
- 627
- 628
- 629
- 630
- 631
- 632
- 633
- 634
- 635
- 636
- 637
- 638
- 639
- 640
- 641
- 642
- 643
- 644
- 645
- 646
- 647
- 648
- 649
- 650
- 651
- 652
- 653
- 654
- 655
- 656
- 657
- 658
- 659
- 660
- 661
- 662
- 663
- 664
- 665
- 666
- 667
- 668
- 669
- 670
- 671
- 672
- 673
- 674
- 675
- 676
- 677
- 678
- 679
- 680
- 681
- 682
- 683
- 684
- 685
- 686
- 687
- 688
- 689
- 690
- 691
- 692
- 693
- 694
- 695
- 696
- 697
- 698
- 699
- 700
- 701
- 702
- 703
- 704
- 705
- 706
- 707
- 708
- 709
- 710
- 711
- 712
- 713
- 714
- 715
- 716
- 717
- 718
- 719
- 720
- 721
- 722
- 723
- 724
- 725
- 726
- 727
- 728
- 729
- 730
- 731
- 732
- 733
- 734
- 735
- 736
- 737
- 738
- 739
- 740
- 741
- 742
- 743
- 744
- 745
- 746
- 747
- 748
- 749
- 750
- 751
- 752
- 753
- 754
- 755
- 756
- 757
- 758
- 759
- 760
- 761
- 762
- 763
- 764
- 765
- 766
- 767
- 768
- 769
- 770
- 771
- 772
- 773
- 774
- 775
- 776
- 777
- 778
- 779
- 780
- 781
- 782
- 783
- 784
- 785
- 786
- 787
- 788
- 789
- 790
- 791
- 792
- 793
- 794
- 795
- 796
- 797
- 798
- 799
- 800
- 801
- 802
- 803
- 804
- 805
- 806
- 807
- 808
- 809
- 810
- 811
- 812
- 813
- 814
- 815
- 816
- 817
- 818
- 819
- 820
- 821
- 822
- 823
- 824
- 825
- 826
- 827
- 828
- 829
- 830
- 831
- 832
- 833
- 834
- 835
- 836
- 837
- 838
- 839
- 840
- 841
- 842
- 843
- 844
- 845
- 846
- 847
- 848
- 849
- 850
- 851
- 852
- 853
- 854
- 855
- 856
- 857
- 858
- 859
- 860
- 861
- 862
- 863
- 864
- 865
- 866
- 867
- 868
- 869
- 870
- 871
- 872
- 873
- 874
- 875
- 876
- 877
- 878
- 879
- 880
- 881
- 882
- 883
- 884
- 885
- 886
- 887
- 888
- 889
- 890
- 891
- 892
- 893
- 894
- 895
- 896
- 897
- 898
- 899
- 900
- 901
- 902
- 903
- 904
- 905
- 906
- 907
- 908
- 909
- 910
- 911
- 912
- 913
- 914
- 915
- 916
- 917
- 918
- 919
- 920
- 921
- 922
- 923
- 924
- 925
- 926
- 927
- 928
- 929
- 930
- 931
- 932
- 933
- 934
- 935
- 936
- 937
- 938
- 939
- 940
- 941
- 942
- 943
- 944
- 945
- 946
- 947
- 948
- 949
- 950
- 951
- 952
- 953
- 954
- 955
- 956
- 957
- 958
- 959
- 960
- 961
- 962
- 963
- 964
- 965
- 966
- 967
- 968
- 969
- 970
- 971
- 972
- 973
- 974
- 975
- 976
- 977
- 978
- 979
- 980
- 981
- 982
- 983
- 984
- 985
- 986
- 987
- 988
- 989
- 990
- 991
- 992
- 993
- 994
- 995
- 996
- 997
- 998
- 999
- 1000
- 1001
- 1002
- 1003
- 1004
- 1005
- 1006
- 1007
- 1008
- 1009
- 1010
- 1011
- 1012
- 1013
- 1014
- 1015
- 1016
- 1017
- 1018
- 1019
- 1020
- 1021
- 1022
- 1023
- 1024
- 1025
- 1026
- 1027
- 1028
- 1029
- 1030
- 1031
- 1032
- 1033
- 1034
- 1035
- 1036
- 1037
- 1038
- 1039
- 1040
- 1041
- 1042
- 1043
- 1044
- 1045
- 1046
- 1047
- 1048
- 1049
- 1050
- 1051
- 1052
- 1053
- 1054
- 1055
- 1056
- 1057
- 1058
- 1059
- 1060
- 1061
- 1062
- 1063
- 1064
- 1065
- 1066
- 1067
- 1068
- 1069
- 1070
- 1071
- 1072
- 1073
- 1074
- 1075
- 1076
- 1077
- 1078
- 1079
- 1080
- 1081
- 1082
- 1083
- 1084
- 1085
- 1086
- 1087
- 1088
- 1089
- 1090
- 1091
- 1092
- 1093
- 1094
- 1095
- 1096
- 1097
- 1098
- 1099
- 1100
- 1101
- 1102
- 1103
- 1104
- 1105
- 1106
- 1107
- 1108
- 1109
- 1110
- 1111
- 1112
- 1113
- 1114
- 1115
- 1116
- 1117
- 1118
- 1119
- 1120
- 1121
- 1122
- 1123
- 1124
- 1125
- 1126
- 1127
- 1128
- 1129
- 1130
- 1131
- 1132
- 1133
- 1134
- 1135
- 1136
- 1137
- 1138
- 1139
- 1140
- 1141
- 1142
- 1143
- 1144
- 1145
- 1146
- 1147
- 1148
- 1149
- 1150
- 1151
- 1152
- 1153
- 1154
- 1155
- 1156
- 1157
- 1158
- 1159
- 1160
- 1161
- 1162
- 1163
- 1164
- 1165
- 1166
- 1167
- 1168
- 1169
- 1170
- 1171
- 1172
- 1173
- 1174
- 1175
- 1176
- 1177
- 1178
- 1179
- 1180
- 1181
- 1182
- 1183
- 1184
- 1185
- 1186
- 1187
- 1188
- 1189
- 1190
- 1191
- 1192
- 1193
- 1194
- 1195
- 1196
- 1197
- 1198
- 1199
- 1200
- 1201
- 1202
- 1203
- 1204
- 1205
- 1206
- 1207
- 1208
- 1209
- 1210
- 1211
- 1212
- 1213
- 1214
- 1215
- 1216
- 1217
- 1218
- 1219
- 1220
- 1221
- 1222
- 1223
- 1224
- 1225
- 1226
- 1227
- 1228
- 1229
- 1230
- 1231
- 1232
- 1233
- 1234
- 1235
- 1236
- 1237
- 1238
- 1239
- 1240
- 1241
- 1242
- 1243
- 1244
- 1245
- 1246
- 1247
- 1248
- 1249
- 1250
- 1251
- 1252
- 1253
- 1254
- 1255
- 1256
- 1257
- 1258
- 1259
- 1260
- 1261
- 1262
- 1263
- 1264
- 1265
- 1266
- 1267
- 1268
- 1269
- 1270
- 1271
- 1272
- 1273
- 1274
- 1275
- 1276
- 1277
- 1278
- 1279
- 1280
- 1281
- 1282
- 1283
- 1284
- 1285
- 1286
- 1287
- 1288
- 1289
- 1290
- 1291
- 1292
- 1293
- 1294
- 1295
- 1296
- 1297
- 1298
- 1299
- 1300
- 1301
- 1302
- 1303
- 1304
- 1305
- 1306
- 1307
- 1308
- 1309
- 1310
- 1311
- 1312
- 1313
- 1314
- 1315
- 1316
- 1317
- 1318
- 1319
- 1320
- 1321
- 1322
- 1323
- 1324
- 1325
- 1326
- 1327
- 1328
- 1329
- 1330
- 1331
- 1332
- 1333
- 1334
- 1335
- 1336
- 1337
- 1338
- 1339
- 1340
- 1341
- 1342
- 1343
- 1344
- 1345
- 1346
- 1347
- 1348
- 1349
- 1350
- 1351
- 1352
- 1353
- 1354
- 1355
- 1356
- 1357
- 1358
- 1359
- 1360
- 1361
- 1362
- 1363
- 1364
- 1365
- 1366
- 1367
- 1368
- 1369
- 1370
- 1371
- 1372
- 1373
- 1374
- 1375
- 1376
- 1377
- 1378
- 1379
- 1380
- 1381
- 1382
- 1383
- 1384
- 1385
- 1386
- 1387
- 1388
- 1389
- 1390
- 1391
- 1392
- 1393
- 1394
- 1395
- 1396
- 1397
- 1398
- 1399
- 1400
- 1401
- 1402
- 1403
- 1404
- 1405
- 1406
- 1407
- 1408
- 1409
- 1410
- 1411
- 1412
- 1413
- 1414
- 1415
- 1416
- 1417
- 1418
- 1419
- 1420
- 1421
- 1422
- 1423
- 1424
- 1425
- 1426
- 1427
- 1428
- 1429
- 1430
- 1431
- 1432
- 1433
- 1434
- 1435
- 1436
- 1437
- 1438
- 1439
- 1440
- 1441
- 1442
- 1443
- 1444
- 1445
- 1446
- 1447
- 1448
- 1449
- 1450
- 1451
- 1452
- 1453
- 1454
- 1455
- 1456
- 1457
- 1458
- 1459
- 1460
- 1461
- 1462
- 1463
- 1464
- 1465
- 1466
- 1467
- 1468
- 1469
- 1470
- 1471
- 1472
- 1473
- 1474
- 1475
- 1476
- 1477
- 1478
- 1479
- 1480
- 1481
- 1482
- 1483
- 1484
- 1485
- 1486
- 1487
- 1488
- 1489
- 1490
- 1491
- 1492
- 1493
- 1494
- 1495
- 1496
- 1497
- 1498
- 1499
- 1500
- 1501
- 1502
- 1503
- 1504
- 1505
- 1506
- 1507
- 1508
- 1509
- 1510
- 1511
- 1512
- 1513
- 1514
- 1515
- 1516
- 1517
- 1518
- 1519
- 1520
- 1521
- 1522
- 1523
- 1524
- 1525
- 1526
- 1527
- 1528
- 1529
- 1530
- 1531
- 1532
- 1533
- 1534
- 1535
- 1536
- 1537
- 1538
- 1539
- 1540
- 1541
- 1542
- 1543
- 1544
- 1545
- 1546
- 1547
- 1548
- 1549
- 1550
- 1551
- 1552
- 1553
- 1554
- 1555
- 1556
- 1557
- 1558
- 1559
- 1560
- 1561
- 1562
- 1563
- 1564
- 1565
- 1566
- 1567
- 1568
- 1569
- 1570
- 1571
- 1572
- 1573
- 1574
- 1575
- 1576
- 1577
- 1578
- 1579
- 1580
- 1581
- 1582
- 1583
- 1584
- 1585
- 1586
- 1587
- 1588
- 1589
- 1590
- 1591
- 1592
- 1593
- 1594
- 1595
- 1596
- 1597
- 1598
- 1599
- 1600
- 1601
- 1602
- 1603
- 1604
- 1605
- 1606
- 1607
- 1608
- 1609
- 1610
- 1611
- 1612
- 1613
- 1614
- 1615
- 1616
- 1617
- 1618
- 1619
- 1620
- 1621
- 1622
- 1623
- 1624
- 1625
- 1626
- 1627
- 1628
- 1629
- 1630
- 1631
- 1632
- 1633
- 1634
- 1635
- 1636
- 1637
- 1638
- 1639
- 1640
- 1641
- 1642
- 1643
- 1644
- 1645
- 1646
- 1647
- 1648
- 1649
- 1650
- 1651
- 1652
- 1653
- 1654
- 1655
- 1656
- 1657
- 1658
- 1659
- 1660
- 1661
- 1662
- 1663
- 1664
- 1665
- 1666
- 1667
- 1668
- 1669
- 1670
- 1671
- 1672
- 1673
- 1674
- 1675
- 1676
- 1677
- 1678
- 1679
- 1680
- 1681
- 1682
- 1683
- 1684
- 1685
- 1686
- 1687
- 1688
- 1689
- 1690
- 1691
- 1692
- 1693
- 1694
- 1695
- 1696
- 1697
- 1698
- 1699
- 1700
- 1701
- 1702
- 1703
- 1704
- 1705
- 1706
- 1707
- 1708
- 1709
- 1710
- 1711
- 1712
- 1713
- 1714
- 1715
- 1716
- 1717
- 1718
- 1719
- 1720
- 1721
- 1722
- 1723
- 1724
- 1725
- 1726
- 1727
- 1728
- 1729
- 1730
- 1731
- 1732
- 1733
- 1734
- 1735
- 1736
- 1737
- 1738
- 1739
- 1740
- 1741
- 1742
- 1743
- 1744
- 1745
- 1746
- 1747
- 1748
- 1749
- 1750
- 1751
- 1752
- 1753
- 1754
- 1755
- 1756
- 1757
- 1758
- 1759
- 1760
- 1761
- 1762
- 1763
- 1764
- 1765
- 1766
- 1767
- 1768
- 1769
- 1770
- 1771
- 1772
- 1773
- 1774
- 1775
- 1776
- 1777
- 1778
- 1779
- 1780
- 1781
- 1782
- 1783
- 1784
- 1785
- 1786
- 1787
- 1788
- 1789
- 1790
- 1791
- 1792
- 1793
- 1794
- 1795
- 1796
- 1797
- 1798
- 1799
- 1800
- 1801
- 1802
- 1803
- 1804
- 1805
- 1806
- 1807
- 1808
- 1809
- 1810
- 1811
- 1812
- 1813
- 1814
- 1815
- 1816
- 1817
- 1818
- 1819
- 1820
- 1821
- 1822
- 1823
- 1824
- 1825
- 1826
- 1827
- 1828
- 1829
- 1830
- 1831
- 1832
- 1833
- 1834
- 1835
- 1836
- 1837
- 1838
- 1839
- 1840
- 1841
- 1842
- 1843
- 1844
- 1845
- 1846
- 1847
- 1848
- 1849
- 1850
- 1851
- 1852
- 1853
- 1854
- 1855
- 1856
- 1857
- 1858
- 1859
- 1860
- 1861
- 1862
- 1863
- 1864
- 1865
- 1866
- 1867
- 1868
- 1869
- 1870
- 1871
- 1872
- 1873
- 1874
- 1875
- 1876
- 1877
- 1878
- 1879
- 1880
- 1881
- 1882
- 1883
- 1884
- 1885
- 1886
- 1887
- 1888
- 1889
- 1890
- 1891
- 1892
- 1893
- 1894
- 1895
- 1896
- 1897
- 1898
- 1899
- 1900
- 1901
- 1902
- 1903
- 1904
- 1905
- 1906
- 1907
- 1908
- 1909
- 1910
- 1911
- 1912
- 1913
- 1914
- 1915
- 1916
- 1917
- 1918
- 1919
- 1920
- 1921
- 1922
- 1923
- 1924
- 1925
- 1926
- 1927
- 1928
- 1929
- 1930
- 1931
- 1932
- 1933
- 1934
- 1935
- 1936
- 1937
- 1938
- 1939
- 1940
- 1941
- 1942
- 1943
- 1944
- 1945
- 1946
- 1947
- 1948
- 1949
- 1950
- 1951
- 1952
- 1953
- 1954
- 1955
- 1956
- 1957
- 1958
- 1959
- 1960
- 1961
- 1962
- 1963
- 1964
- 1965
- 1966
- 1967
- 1968
- 1969
- 1970
- 1971
- 1972
- 1973
- 1974
- 1975
- 1976
- 1977
- 1978
- 1979
- 1980
- 1981
- 1982
- 1983
- 1984
- 1985
- 1986
- 1987
- 1988
- 1989
- 1990
- 1991
- 1992
- 1993
- 1994
- 1995
- 1996
- 1997
- 1998
- 1999
- 2000
- 2001
- 2002
- 2003
- 2004
- 2005
- 2006
- 2007
- 2008
- 2009
- 2010
- 2011
- 2012
- 2013
- 2014
- 2015
- 2016
- 2017
- 2018
- 2019
- 2020
- 2021
- 2022
- 2023
- 2024
- 2025
- 2026
- 2027
- 2028
- 2029
- 2030
- 2031
- 2032
- 2033
- 2034
- 2035
- 2036
- 2037
- 2038
- 2039
- 2040
- 2041
- 2042
- 2043
- 2044
- 2045
- 2046
- 2047
- 2048
- 2049
- 2050
- 2051
- 2052
- 2053
- 2054
- 2055
- 2056
- 2057
- 2058
- 2059
- 2060
- 2061
- 2062
- 2063
- 2064
- 2065
- 2066
- 2067
- 2068
- 2069
- 2070
- 2071
- 2072
- 2073
- 2074
- 2075
- 2076
- 2077
- 2078
- 2079
- 2080
- 2081
- 2082
- 2083
- 2084
- 2085
- 2086
- 2087
- 2088
- 2089
- 2090
- 2091
- 2092
- 2093
- 2094
- 2095
- 2096
- 2097
- 2098
- 2099
- 2100
- 2101
- 2102
- 2103
- 2104
- 2105
- 2106
- 2107
- 2108
- 2109
- 2110
- 2111
- 2112
- 2113
- 2114
- 2115
- 2116
- 2117
- 2118
- 2119
- 2120
- 2121
- 2122
- 2123
- 2124
- 2125
- 2126
- 2127
- 2128
- 2129
- 2130
- 2131
- 2132
- 2133
- 2134
- 2135
- 2136
- 2137
- 2138
- 2139
- 2140
- 2141
- 2142
- 2143
- 2144
- 2145
- 2146
- 2147
- 2148
- 2149
- 2150
- 2151
- 2152
- 2153
- 2154
- 2155
- 2156
- 2157
- 2158
- 2159
- 2160
- 2161
- 2162
- 2163
- 2164
- 2165
- 2166
- 2167
- 2168
- 2169
- 2170
- 2171
- 2172
- 2173
- 2174
- 2175
- 2176
- 2177
- 2178
- 2179
- 2180
- 2181
- 2182
- 2183
- 2184
- 2185
- 2186
- 2187
- 2188
- 2189
- 2190
- 2191
- 2192
- 2193
- 2194
- 2195
- 2196
- 2197
- 2198
- 2199
- 2200
- 2201
- 2202
- 2203
- 2204
- 2205
- 2206
- 2207
- 2208
- 2209
- 2210
- 2211
- 2212
- 2213
- 2214
- 2215
- 2216
- 2217
- 2218
- 2219
- 2220
- 2221
- 2222
- 2223
- 2224
- 2225
- 2226
- 2227
- 2228
- 2229
- 2230
- 2231
- 2232
- 2233
- 2234
- 2235
- 2236
- 2237
- 2238
- 2239
- 2240
- 2241
- 2242
- 2243
- 2244
- 2245
- 2246
- 2247
- 2248
- 2249
- 2250
- 2251
- 2252
- 2253
- 2254
- 2255
- 2256
- 2257
- 2258
- 2259
- 2260
- 2261
- 2262
- 2263
- 2264
- 2265
- 2266
- 2267
- 2268
- 2269
- 2270
- 2271
- 2272
- 2273
- 2274
- 2275
- 2276
- 2277
- 2278
- 2279
- 2280
- 2281
- 2282
- 2283
- 2284
- 2285
- 2286
- 2287
- 2288
- 2289
- 2290
- 2291
- 2292
- 2293
- 2294
- 2295
- 2296
- 2297
- 2298
- 2299
- 2300
- 2301
- 2302
- 2303
- 2304
- 2305
- 2306
- 2307
- 2308
- 2309
- 2310
- 2311
- 2312
- 2313
- 2314
- 2315
- 2316
- 2317
- 2318
- 2319
- 2320
- 2321
- 2322
- 2323
- 2324
- 2325
- 2326
- 2327
- 2328
- 2329
- 2330
- 2331
- 2332
- 2333
- 2334
- 2335
- 2336
- 2337
- 2338
- 2339
- 2340
- 2341
- 2342
- 2343
- 2344
- 2345
- 2346
- 2347
- 2348
- 2349
- 2350
- 2351
- 2352
- 2353
- 2354
- ...
- 2355
- 2356
- 2357
- 2358
- 2359
- 2360
- 2361
- 2362
- 2363
- 2364
- 2365
- 2366
- 2367
- 2368
- 2369
- 2370
- 2371
- 2372
- 2373
- 2374
- 2375
- 2376
- 2377
- 2378
- 2379
- 2380
- 2381
- 2382
- 2383
- 2384
- 2385
- 2386
- 2387
- 2388
- 2389
- 2390
- 2391
- 2392
- 2393
- 2394
- 2395
- 2396
- 2397
- 2398
- 2399
- 2400
- 2401
- 2402
- 2403
- 2404
- 2405
- 2406
- 2407
- 2408
- 2409
- 2410
- 2411
- 2412
- 2413
- 2414
- 2415
- 2416
- 2417
- 2418
- 2419
- 2420
- 2421
- 2422
- 2423
- 2424
- 2425
- 2426
- 2427
- 2428
- 2429
- 2430
- 2431
- 2432
- 2433
- 2434
- 2435
- 2436
- 2437
- 2438
- 2439
- 2440
- 2441
- 2442
- 2443
- 2444
- 2445
- 2446
- 2447
- 2448
- 2449
- 2450
- 2451
- 2452
- 2453
- 2454
- 2455
- 2456
- 2457
- 2458
- 2459
- 2460
- 2461
- 2462
- 2463
- 2464
- 2465
- 2466
- 2467
- 2468
- 2469
- 2470
- 2471
- 2472
- 2473
- 2474
- 2475
- 2476
- 2477
- 2478
- 2479
- 2480
- 2481
- 2482
- 2483
- 2484
- 2485
- 2486
- 2487
- 2488
- 2489
- 2490
- 2491
- 2492
- 2493
- 2494
- 2495
- 2496
- 2497
- 2498
- 2499
- 2500
- 2501
- 2502
- 2503
- 2504
- 2505
- 2506
- 2507
- 2508
- 2509
- 2510
- 2511
- 2512
- 2513
- 2514
- 2515
- 2516
- 2517
- 2518
- 2519
- 2520
- 2521
- 2522
- 2523
- 2524
- 2525
- 2526
- 2527
- 2528
- 2529
- 2530
- 2531
- 2532
- 2533
- 2534
- 2535
- 2536
- 2537
- 2538
- 2539
- 2540
- 2541
- 2542
- 2543
- 2544
- 2545
- 2546
- 2547
- 2548
- 2549
- 2550
- 2551
- 2552
- 2553
- 2554
- 2555
- 2556
- 2557
- 2558
- 2559
- 2560
- 2561
- 2562
- 2563
- 2564
- 2565
- 2566
- 2567
- 2568
- 2569
- 2570
- 2571
- 2572
- 2573
- 2574
- 2575
- 2576
- 2577
- 2578
- 2579
- 2580
- 2581
- 2582
- 2583
- 2584
- 2585
- 2586
- 2587
- 2588
- 2589
- 2590
- 2591
- 2592
- 2593
- 2594
- 2595
- 2596
- 2597
- 2598
- 2599
- 2600
- 2601
- 2602
- 2603
- 2604
- 2605
- 2606
- 2607
- 2608
- 2609
- 2610
- 2611
- 2612
- 2613
- 2614
- 2615
- 2616
- 2617
- 2618
- 2619
- 2620
- 2621
- 2622
- 2623
- 2624
- 2625
- 2626
- 2627
- 2628
- 2629
- 2630
- 2631
- 2632
- 2633
- 2634
- 2635
- 2636
- 2637
- 2638
- 2639
- 2640
- 2641
- 2642
- 2643
- 2644
- 2645
- 2646
- 2647
- 2648
- 2649
- 2650
- 2651
- 2652
- 2653
- 2654
- 2655
- 2656
- 2657
- 2658
- 2659
- 2660
- 2661
- 2662
- 2663
- 2664
- 2665
- 2666
- 2667
- 2668
- 2669
- 2670
- 2671
- 2672
- 2673
- 2674
- 2675
- 2676
- 2677
- 2678
- 2679
- 2680
- 2681
- 2682
- 2683
- 2684
- 2685
- 2686
- 2687
- 2688
- 2689
- 2690
- 2691
- 2692
- 2693
- 2694
- 2695
- 2696
- 2697
- 2698
- 2699
- 2700
- 2701
- 2702
- 2703
- 2704
- 2705
- 2706
- 2707
- 2708
- 2709
- 2710
- 2711
- 2712
- 2713
- 2714
- 2715
- 2716
- 2717
- 2718
- 2719
- 2720
- 2721
- 2722
- 2723
- 2724
- 2725
- 2726
- 2727
- 2728
- 2729
- 2730
- 2731
- 2732
- 2733
- 2734
- 2735
- 2736
- 2737
- 2738
- 2739
- 2740
- 2741
- 2742
- 2743
- 2744
- 2745
- 2746
- 2747
- 2748
- 2749
- 2750
- 2751
- 2752
- 2753
- 2754
- 2755
- 2756
- 2757
- 2758
- 2759
- 2760
- 2761
- 2762
- 2763
- 2764
- 2765
- 2766
- 2767
- 2768
- 2769
- 2770
- 2771
- 2772
- 2773
- 2774
- 2775
- 2776
- 2777
- 2778
- 2779
- 2780
- 2781
- 2782
- 2783
- 2784
- 2785
- 2786
- 2787
- 2788
- 2789
- 2790
- 2791
- 2792
- 2793
- 2794
- 2795
- 2796
- 2797
- 2798
- 2799
- 2800
- 2801
- 2802
- 2803
- 2804
- 2805
- 2806
- 2807
- 2808
- 2809
- 2810
- 2811
- 2812
- 2813
- 2814
- 2815
- 2816
- 2817
- 2818
- 2819
- 2820
- 2821
- 2822
- 2823
- 2824
- 2825
- 2826
- 2827
- 2828
- 2829
- 2830
- 2831
- 2832
- 2833
- 2834
- 2835
- 2836
- 2837
- 2838
- 2839
- 2840
- 2841
- 2842
- 2843
- 2844
- 2845
- 2846
- 2847
- 2848
- 2849
- 2850
- 2851
- 2852
- 2853
- 2854
- 2855
- 2856
- 2857
- 2858
- 2859
- 2860
- 2861
- 2862
- 2863
- 2864
- 2865
- 2866
- 2867
- 2868
- 2869
- 2870
- 2871
- 2872
- 2873
- 2874
- 2875
- 2876
- 2877
- 2878
- 2879
- 2880
- 2881
- 2882
- 2883
- 2884
- 2885
- 2886
- 2887
- 2888
- 2889
- 2890
- 2891
- 2892
- 2893
- 2894
- 2895
- 2896
- 2897
- 2898
- 2899
- 2900
- 2901
- 2902
- 2903
- 2904
- 2905
- 2906
- 2907
- 2908
- 2909
- 2910
- 2911
- 2912
- 2913
- 2914
- 2915
- 2916
- 2917
- 2918
- 2919
- 2920
- 2921
- 2922
- 2923
- 2924
- 2925
- 2926
- 2927
- 2928
- 2929
- 2930
- 2931
- 2932
- 2933
- 2934
- 2935
- 2936
- 2937
- 2938
- 2939
- 2940
- 2941
- 2942
- 2943
- 2944
- 2945
- 2946
- 2947
- 2948
- 2949
- 2950
- 2951
- 2952
- 2953
- 2954
- 2955
- 2956
- 2957
- 2958
- 2959
- 2960
- 2961
- 2962
- 2963
- 2964
- 2965
- 2966
- 2967
- 2968
- 2969
- 2970
- 2971
- 2972
- 2973
- 2974
- 2975
- 2976
- 2977
- 2978
- 2979
- 2980
- 2981
- 2982
- 2983
- 2984
- 2985
- 2986
- 2987
- 2988
- 2989
- 2990
- 2991
- 2992
- 2993
- 2994
- 2995
- 2996
- 2997
- 2998
- 2999
- 3000
- 3001
- 3002
- 3003
- 3004
- 3005
- 3006
- 3007
- 3008
- 3009
- 3010
- 3011
- 3012
- 3013
- 3014
- 3015
- 3016
- 3017
- 3018
- 3019
- 3020
- 3021
- 3022
- 3023
- 3024
- 3025
- 3026
- 3027
- 3028
- 3029
- 3030
- 3031
- 3032
- 3033
- 3034
- 3035
- 3036
- 3037
- 3038
- 3039
- 3040
- 3041
- 3042
- 3043
- 3044
- 3045
- 3046
- 3047
- 3048
- 3049
- 3050
- 3051
- 3052
- 3053
- 3054
- 3055
- 3056
- 3057
- 3058
- 3059
- 3060
- 3061
- 3062
- 3063
- 3064
- 3065
- 3066
- 3067
- 3068
- 3069
- 3070
- 3071
- 3072
- 3073
- 3074
- 3075
- 3076
- 3077
- 3078
- 3079
- 3080
- 3081
- 3082
- 3083
- 3084
- 3085
- 3086
- 3087
- 3088
- 3089
- 3090
- 3091
- 3092
- 3093
- 3094
- 3095
- 3096
- 3097
- 3098
- 3099
- 3100
- 3101
- 3102
- 3103
- 3104
- 3105
- 3106
- 3107
- 3108
- 3109
- 3110
- 3111
- 3112
- 3113
- 3114
- 3115
- 3116
- 3117
- 3118
- 3119
- 3120
- 3121
- 3122
- 3123
- 3124
- 3125
- 3126
- 3127
- 3128
- 3129
- 3130
- 3131
- 3132
- 3133
- 3134
- 3135
- 3136
- 3137
- 3138
- 3139
- 3140
- 3141
- 3142
- 3143
- 3144
- 3145
- 3146
- 3147
- 3148
- 3149
- 3150
- 3151
- 3152
- 3153
- 3154
- 3155
- 3156
- 3157
- 3158
- 3159
- 3160
- 3161
- 3162
- 3163
- 3164
- 3165
- 3166
- 3167
- 3168
- 3169
- 3170
- 3171
- 3172
- 3173
- 3174
- 3175
- 3176
- 3177
- 3178
- 3179
- 3180
- 3181
- 3182
- 3183
- 3184
- 3185
- 3186
- 3187
- 3188
- 3189
- 3190
- 3191
- 3192
- 3193
- 3194
- 3195
- 3196
- 3197
- 3198
- 3199
- 3200
- 3201
- 3202
- 3203
- 3204
- 3205
- 3206
- 3207
- 3208
- 3209
- 3210
- 3211
- 3212
- 3213
- 3214
- 3215
- 3216
- 3217
- 3218
- 3219
- 3220
- 3221
- 3222
- 3223
- 3224
- 3225
- 3226
- 3227
- 3228
- 3229
- 3230
- 3231
- 3232
- 3233
- 3234
- 3235
- 3236
- 3237
- 3238
- 3239
- 3240
- 3241
- 3242
- 3243
- 3244
- 3245
- 3246
- 3247
- 3248
- 3249
- 3250
- 3251
- 3252
- 3253
- 3254
- 3255
- 3256
- 3257
- 3258
- 3259
- 3260
- 3261
- 3262
- 3263
- 3264
- 3265
- 3266
- 3267
- 3268
- 3269
- 3270
- 3271
- 3272
- 3273
- 3274
- 3275
- 3276
- 3277
- 3278
- 3279
- 3280
- 3281
- 3282
- 3283
- 3284
- 3285
- 3286
- 3287
- 3288
- 3289
- 3290
- 3291
- 3292
- 3293
- 3294
- 3295
- 3296
- 3297
- 3298
- 3299
- 3300
- 3301
- 3302
- 3303
- 3304
- 3305
- 3306
- 3307
- 3308
- 3309
- 3310
- 3311
- 3312
- 3313
- 3314
- 3315
- 3316
- 3317
- 3318
- 3319
- 3320
- 3321
- 3322
- 3323
- 3324
- 3325
- 3326
- 3327
- 3328
- 3329
- 3330
- 3331
- 3332
- 3333
- 3333
推荐文章