杨尚刚--互联网高并发场景数据库运维优化之道

杨尚刚--互联网高并发场景数据库运维优化之道
杨尚刚--互联网高并发场景数据库运维优化之道

互联网高并发场景数据库运维优化之道

互联网高并发场景数据库运维优化之道

杨尚刚

微博zolker

目录

?背景介绍

?数据库运维?性能优化

?总结

互联网

?Web 2.0

?移动互联网时代,成为未来趋势?移动互联网下对技术架构挑战更大? 面向更多在线用户

? 更高的服务SLA需求

? 更快的开发迭代速度

用户容忍度

高并发场景

?并发请求高

?保证服务可用

?保证数据一致性

高并发下的数据库

?在互联网的高并发场景下,数据库依然是非常核心的部分?很大的瓶颈都来自于数据库

?数据依然要持久化存储

?对数据库性能要求高

20000

40000

60000

80000

100000

120000

目标能不能实现呢

?答案必须是Yes

?当然也不是一帆风顺

数据库运维之道

如何选择

数据库选型?应用场景

?数据量

?可用性要求

?数据安全性要求

?运维复杂度

数据库对比

数据库

优点缺点场景MySQL 结构简单,部署方便,社区成熟,稳定性非常好,良好的事务和SQL 支持扩展性差,软件本身性能瓶颈大,没有成熟的集群方案,schema 限制百亿以内的数据存储,

对数据安全性和事务支

持有要求

MongoDB

Schema -free ,快速开发,本身支

持集群和sharding ,支持空间索引锁的粒度大,并发性能差,性能受限于内存,

解决方案上有待考验LBS ,缓存,小文件存储HBase 类Bigtable 系统,基于Hadoop 生态系统,良好的扩展性,高写入能力,

数据自动分片

架构复杂,运维成本高

搜索,数据写入非常高,监控数据Redis

高性能,部署简单,丰富的数据类型支持,支持数据持久化,集群方案支持性能受限于内存,单进

程问题

适合小数据高读写场景

如果选择MySQL?

?MySQL也同样面临选择

?MySQL社区版

?MySQL企业版

?Percona Server版

?MariaDB版

我的建议

MySQL社区版>Percona Server

>MariaDB>MySQL 企业版

数据库运维规范

?基础运维规范

?开发规范

?数据库操作规范

开发规范

?开发规范是针对内部开发的一系列建议或规则?由DBA制定,如果有DBA的话

?意义:

保证线上数据库schema规范

减少出问题概率

方便自动化管理

?需要长期坚持,是一个双赢的事情

规范示例

?列类型够用就好,越小越好

?简单就好

数据类型越简单越好,能用整型尽量不用字符串,比如存时间和字符串

?避免使用Null,尽量使用Not N ull

?主键尽可能使用自增,不建议使用字符串,尤其是innodb

?单表索引数不要超过五个(5.6有待测试)

?索引设计的差异性字符集UTF8

?垂直拆分

?反范式设计

操作规范

?主库切换流程

?SQL审核

?DDL审核和操作时间

?Drop做好数据备份

?高危操作检查

?权限控制

?高可用方案

?数据备份

一种主库无缝切换方案

?在正常条件下如何无缝去做主库切换

?核心思路是让新主库和从库停在相同位置

?主要依赖slave s tart u ntil 语句。

?结合双主结构

?

考虑自增问题Slave

New--‐Master Master

Master New--‐Master Slave

运维服务体系

运维服务体系 整理编辑: 、运维服务体系建设原则 运维服务体系建设的原则有以下几个方面。 一是以完善的运维服务制度、流程为基础。为保障运行维护工作的质量和效率,应制定相对完善、切实可行的运行维护管理制度和规范,确定各项运维活动的标准流程和相关岗位设置等,使运维人员在制度和流程的规范和约束下协同操作。 二是以先进、成熟的运维管理平台为手段。通过建立统一、集成、开放并可扩展的运维管理平台,实现对各类运维事件的全面采集、及时处理与合理分析,实现运行维护工作的智能化和高效率。 三是以高素质的运维服务队伍为保障。运维服务的顺利实施离不开高素质的运维服务人员,因此必须不断提高运维服务队伍的专业化水平,才能有效利用技术手段和工具,做好各项运维工作二、运维服务体系的总体架构 运维服务体系由运维服务制度、运维服务流程、运 维服务组织、运维服务 队伍、运维技术服务平台以及运行维护对象六部分组成,涉及制度、 人、技术、对象四类因素。制度是规范运维管理工作的基本保障,也是流程建立的基础。运维服务组织中的相关人员遵照制度要求和标准化的流程,采用先进的运维管理平台对各类运维对象进行规范化的运行管理和技术操作。 三、运维服务体系建设内容 1.运维管理制度建设 总结现有的运维管理经验,相关运维标准,结合目前的实际情况,统一制定运维管理制度和规范。通过定期和不定期的检查,促进各项制度规范在数据中心的贯彻落实,从而建立起全辖统一、规范的运行维护管理工作方式。同时,随着信息化建设的不断发展,也要确保各项制度的及时更新。制度体系内容要涵盖机房管理、网络管理、资产管理、主机和应用管理、存储和备份管理、技术服务管理、安全管理、文档管理以及人员管理等类别。各类制度具体内容因需要而定,如网络管理制度需覆盖网络的接入管理、用户管理、配置管理及网

数据库维护工作介绍说明

数据库维护工作手册 文档编号:文档名称:编写:审核:批准: 批准日期:

目录 1概述 (4) 2数据库监控 (4) 2.1 数据库监控工作内容 (4) 2.2 数据库监控工作步骤 (4) 2.2.1 查看数据库日志 (4) 2.2.2 检查是否有失效的数据库对象 (5) 2.2.3 查看数据库剩余空间 (5) 2.2.4 重点表检查 (5) 2.2.5 查看数据库是否正常 (5) 2.2.6 死锁检查 (6) 2.2.7 监控SQL语句的执行 (6) 2.2.8 操作系统级检查 (6) 2.2.9 其他 (6) 3数据库维护 (6) 3.1 数据库维护工作内容 (6) 3.2 数据库维护工作事项 (6) 3.2.1 页面修复 (6) 3.2.2 数据库对象重建 (7) 3.2.3 碎片回收(数据重组) (7) 3.2.4 删除不用的数据 (7) 3.2.5 备份恢复 (7) 3.2.6 历史数据迁移 (7) 3.2.7 定期修改密码 (8) 3.2.8 删除掉不必要的用户 (8) 3.2.9 其他 (8) 4数据库管理常用SQL脚本 (8) 5日常维护和问题管理 (17) 5.1 目的 (17) 5.2 例行工作建议 (17) 5.3 相关填表说明 (17)

1概述 数据库的日常监控是使管理员及时了解系统异常的手段。大部分情况下,系统总是正常运行的。只有对正常情况的充分了解,才能通过对比正常情况发现异常情况。对于数据库的日常监控要有记录,文字记录或者电子文档保存。对于数据库异常进行分析,提出解决方案。 日常工作包括监控和维护两个部分。 此文档中关于数据库的运行命令示例主要针对于ORACLE数据库,但对于SYBASE数据库同样有参考价值,只要换用相对应的语句即可。 数据库监控 2数据库监控 数据库监控工作内容 制定和改进监控方案,编写监控脚本。 对于数据库进行日常监测,提交记录。 根据监测结果进行分析、预测,提交相应的系统改进建议方案。 数据库监控工作步骤 2.1.1查看数据库日志 数据库的日志上会有大量对于管理员有用的信息。ORACLE的Alert日志纪录了数据库系统所报的系统级错误信息,以及数据块失效等严重错误信息。错误信息的产生,会产生相应的跟踪文件,通过查看警告日志和跟踪文件可查找错误原因,对于发现的问题应及时解决和汇报。如: 1.表空间是否满,是否需要进行添加或者扩展。Alert文件中会显示有表块无法扩展 的提示。 2.表的块或者页面是否损坏。(往往这时alert文件中会显示ora-600的错误。) 3.数据库是否进行了异常操作。(如:drop tablespace等等)。 实用命令: ·报警日志文件(alert.log或alrt.ora) 记录数据库启动,关闭和一些重要的出错信息。数据库管理员应该经常检查这个文件,并对出现的问题作出即使的反应。可以通过以下SQL 找到他的路径select value from v$parameter where upper(name) ='BACKGROUND_DUMP_DEST',或通过参数文件获得其路径,或者show parameter BACKGROUND_DUMP_DEST。 ·后台跟踪文件 路径与报警文件路径一致,记载了系统后台进程出错时写入的信息。 ·用户跟踪文件

互联网+未来发展趋势

互联网+未来发展的趋势 从现状来看,“互联网+”处于初级阶段,是个都在热谈但是没有落实的理论阶段。各领域针对“互联网+”都会做一定的论证与探索,但是大部分商家仍旧会处于观望的阶段。从探索与实践的层面上,互联网商家会比传统企业主动,毕竟这些商家从诞生开始就不断用“互联网+”去改变更多的行业,他们有足够的经验可循,可以复制改造经验的模式去探索另外的区域,继而不断的融合更多的领域,持续扩大自己的生态。 互联网+真正难以改造的是那些非常传统的行业,但是这不意味着传统企业不做互联网化的尝试。很多传统企业都在过去几年就开始尝试营销的互联网化,多是借助B2B、B2C等电商平台来实现网络渠道的扩建。更多的线下企业还停留在信息推广与宣传的阶段,甚至不会、不敢或者不能尝试网络交易方面的营销,因为他们找不到合适的方案来解决线下渠道与线上渠道的冲突问题。还有一些商家自搭商城,但是成功的不是太多。但是自创品牌,通过电商平台销售经营的服装及零食等商家已经摸索出了一条电商之路。 与传统企业相反的是,当前“全民创业”时代的常态下,与互联网相结合的项目越来越多,这些项目从诞生开始就是“互联网+”的形态,因此它们不需要再像传统企业一样转型与升级。“互联网+”正是要促进更多的互联网创业项目的诞生,从而无需再耗费人力、物力及财力去研究与实施行业转型。可以说,每一个社会及商业阶段都有一个常态以及发展趋势,“互联网+”提出之前的常态是千万企业需要转型升级的大背景,后面的发展趋势则是大量“互联网+”模式的爆发以及传统企业的“破与立”。 本文尝试结合互联网线上线下的常态,做一个“互联网+”发展趋势的预测,希望对正在关注“互联网+”的朋友有所启发。 趋势一:政府推动“互联网+”落实 “互联网+”是全国性的,就如“三个代表”一样,各地政府都会提出建设主方案,然后招标或者外包给能够帮助企业做转型的服务型企业去具体执行。在今后长期的“互联网+”实施过程中,政府将扮演的是一个引领者与推动者的角色。 一是发现那些符合政策并且做的好的企业并立为标杆,起到模范带头作用。 二是挖掘那些有潜力的企业,在将来能够发展成为“互联网+”型企业,算是案例。

MySQL数据库运维

MySQL数据库运维 MySQL数据库作为世界上最流行的开源数据库,以简单、易用、开源等特点,收到互联网行业的推崇。随着去IOE运动的如火如荼,MySQL数据库已经深入到传统行业,大有改变行业格局。而与此同时,MySQL数据库规模成倍的增长,如何快速定位问题,解决问题?如何规模化、自动化运维?如何进行优化,提高MySQL数据库的性能?如何架构部署MySQL集群、架构跨IDC的分布式MySQL集群?如何实现MySQL数据库的HA?将在本课程中跟大家分享。 课程大纲: 第1课机器选型、系统规划 机器选型 业务评估--根据业务进行评估,转化为机器资源需求。 SSD vs HDD--熟悉SSD和HDD的架构设计,了解SSD的发展趋势。 成本评估--通过成本评估,选择合适机型。 系统规划 文件系统规划--根据MySQL的特点,规划文件系统,IO调度。 数据库配置--根据IO写入特点,配置MySQL数据库。 第2课安装部署 源码编译--源码编译安装操作处理方法。

功能定制--定制mysql的Server限流,SQL限流,并行复制,ThreadPool功能。 规模化部署--了解打包、配置模板、数据目录等统一管理方法。 版本升级--跨版本升级如何做到安全可靠? 资源池管理--资源管理、实例分配、资源利用率等。 第3课压力测试 TPC-C模型--了解TPC-C模型设计。 测试工具--熟悉常用的数据库测试工具。 基准测试--介绍只读测试、TPCC测试、读写比测试方法。 定制测试--介绍定制sql模型、定制测试工具、流量加速回放等方法。 评估标准--介绍评估测试结果的基本参数标准。 第4课性能优化 参数优化--详细介绍与MySQL数据库息息相关的性能参数和优化方法。 性能优化--详细介绍系统层优化和MySQL功能优化。(NUMA、MALLOC等) 第5课字符集和权限安全 字符集 常见问题--介绍字符集乱码的常见问题以及解决方法。 注意事项--介绍字符集设置的注意事项,以及如何规避。 权限安全

IT运维管理体系建设案例

IT运维管理体系建设案例

————————————————————————————————作者:————————————————————————————————日期:

某部IT运维管理体系建设案例 摘要: 某部委信息中心(以下简称中心)肩负着电子政务主干网建设、维护、运营的使命,致力于提供安全、高效、快捷的IT服务。近年来,随着信息化建设的深入,网上运行的业务应用逐步增加,计算机机房设备、网络基础设施,大型主机、服务器、客户端等硬件平台,政务应用系统、数据库、应用服务器、中间件等软件平台日益复杂,服务的用户(包括应用使用单位、人民银行、税务、海关、各代理银行等)越来越多,如何维护好日益增多的网络和系统等各类设备,保证各个应用系统安全顺畅地运行,为用户提供良好的服务,及时解决出现的问题和故障,做到网络和用户之所及,管理和服务之所及,是政务业务能否可靠运行的关键所在。 1.案例背景 某部委信息中心(以下简称中心)肩负着电子政务主干网建设、维护、运营的使命,致力于提供安全、高效、快捷的IT服务。近年来,随着信息化建设的深入,网上运行的业务应用逐步增加,计算机机房设备、网络基础设施,大型主机、服务器、客户端等硬件平台,政务应用系统、数据库、应用服务器、中间件等软件平台日益复杂,服务的用户(包括应用使用单位、人民银行、税务、海关、各代理银行等)越来越多,如何维护好日益增多的网络和系统等各类设备,保证各个应用系统安全顺畅地运行,为用户提供良好的服务,及时解决出现的问题和故障,做到网络和用户之所及,管理和服务之所及,是政务业务能否可靠运行的关键所在。 中心目前还处于初级的IT服务管理状态,在组织结构、管理规范、管理流程和技术支撑方面,还没有构建一个综合的IT服务管理体系。对网络、设备、系统、用户等的管理和服务是分散的、不关联的,没有实现数据、信息和知识库的共享,没有实现规范化和流程化,因此,管理和服务是粗粒度、低效率的,这种管理模式将越来越难以适应政务信息化的发展要求。 因此,需要梳理服务管理需求、规范服务管理流程,开发和建设一套科学有效的,融合组织、制度、流程、技术的IT服务管理体系,从粗放和分散型管理,逐步过渡到规范化、精细化和主动式IT服务管理,使IT服务管理体系成为中心日常工作的重要组成部分,这不仅对政务核心应用系统顺利运行和应用有重要意义,也将为支持和推进政务改革提供管理和服务保障。 中心决定启动运维系统建设项目系统化地解决以上难题,构建IT服务管理体系。在经过对众多国际知名及国内咨询公司的考察和比较后,最终选定ITGov专家和信诚致远?( )作为咨询合作伙伴,承担运维管理体系总体规划。

互联网行业运维管理解决方案

Mocha Business Service Management 互联网行业运维管理解决方案 公司:摩卡软件有限公司(Mocha Software Co., Ltd.) 地址:北京市西城区宣武门西大街127号大成大厦15层 全国咨询热线:400-611-5522

目录 1互联网行业背景 (1) 2互联网行业应用特征 (1) 3方案功能 (2) 4Mocha BSM方案亮点 (5) 5系统运行环境 (5) 5.1服务器 (5) 6Mocha BSM 4+1介绍 (6) 6.1三位一体的产品定位 (6) 6.2Mocha BSM 4+1做得更多 (6) 7系统运行环境 (7) 7.1服务器 (7) 7.2数据库 (7) 7.3客户端 (7) 8联系我们 (7)

1 互联网行业背景 随着Internet的发展,各种以Internet为基础的网上业务开展的如火如荼,各种各样的网站也如雨后春笋般迅速增长,互联网行业内的竞争变得越来越激烈。为了在竞争中立于不败之地,降低运维成本,提高运维水平,提高业务运行的质量,成了各个互联网公司不能逃避的问题。针对这种情况,我们结合互联网行业的特点,提出了Mocha BSM互联网行业运维管理解决方案。 2 互联网行业应用特征 互联网行业的运维工作主要有如下典型特征: 1、海量的用户访问 在Alexa排名3000的网站,每天IP地址量都在9万以上,日均Page View 浏览量更是在18万以上,给网站带来了巨大的压力。网站为应对巨大的访问量,一般都提供了squid反向代理、DNS轮询等Cache技术来提高访问速度,以提供高速的Web响应,并提供了软的或者硬的负载均衡机制。 2、海量的数量存储 互联网行业属于新媒体,是内容提供商,有海量的内容就不足为奇了。所以,一般的网站内容都存储在后台强大的数据库和可靠的大型存储设备中。这些是提供前端用户数据的基础,如果数据库的性能劣,存储设备的速度慢,会直接影响前端用户打开网页的速度。 3、业务系统至上,成功访问为本 互联网行业提供给用户的服务核心是内容,通过网页形式提供给用户的内容。如果网页的速度慢或者无法打开,将直接影响用户体验,业务无法进行,导致用户流失。 4、对Web 服务和中间件的关注 一个运行情况良好的Web服务器是提供良好服务的基础,如果Web服务器的速度很慢甚至宕机,会直接影响用户的使用。随着internet的发展,很多Web应用基于各种各样的中间件,因此,对Web应用中间件的监控也成了互联网行业运维监控的一个重点。 5、对运行数据库或Web应用的主机集群的关注 性能良好稳定运行的主机,是所有业务的基础,因此对主机的监控,也成了所有工作中最基本的工作。 6、互联网企业网络的特殊性 互联网企业的Web服务器要不是在企业DMZ区内,要不是在全国各个点有自己的机房和IDC中心。要实现对整个网络的监控,需要监控软件有一个灵活的架构。 7、网管软件本身的安全性 安全是互联网企业最关注的,要实现网站的安全,一定要保证采用的网管软件的安全。

传统运维 VS 互联网运维

传统运维VS 互联网运维:从哪来,到哪去? 作者介绍 王天维,从事运维工作近十年,精通网络技术,CCIE专家。专注云计算、SDN、数据中心网络架构设计。 韩晓光,专业运维,兼职开发,干过商务。信息系统项目管理师、ITIL Foundation认证、IBM CATE、RHCE。著有《系统运维全面解析:技术、管理与实践》一书。 概述 近一年,关于传统运维与互联网运维的探讨越来越多,在运维体系快速变革地环境下,运维未来的走向,便成为运维行业的关注点。

那么: 到底什么是传统运维体系? 什么是互联网运维体系? 他们的特点,异同在哪? 从哪里来到哪里去? 本文将从以下角度探讨两大运维体系。 1.商业封闭式系统架构vs 开源系统架构辨析 2.传统运维vs 互联网运维辨析 3.去IOE运动辨析 4.运维发展趋势辨析 1、商业封闭式系统架构vs 开源系统架构辨析 每个单位组织的IT环境,不论大小复杂度,总会有个系统架构层次。有了这个架构体系,那所有的运维事情大体都围绕着这个系统架构上的每个元素及整体进行运维保障工作。 运维体系架构从某种角度可以划分为如下两种: ? A. 商业封闭式系统架构(IOE架构) ? B. 开源系统架构 通常我们会将围绕商业封闭式系统架构(IOE架构)的运维视作传统运维,将围绕开源系统架构的运维视作互联网运维。 就上述两种运维体系,下文做一些辨析。 A. 商业封闭式系统架构(IOE架构) 典型的即以使用IOE(IBM、Oracle、EMC)产品软硬件为主要元素的系统架构。 IOE架构以纵向扩展为特点,通过增加CPU、内存、扩展柜、冗余备件等方式来提高处理能力及稳定性。 该架构的处理能力主要取决于单台(套)设备(系统)的最大扩展能力,很难通过增加设备(系统)数量来增加处理能力,换句话说该架构很难通过扩大集群规模的方式来解决问题。 随着纵向扩展的规模增大,它的实施技术难度、管理复杂度以及隐患风险都会成比例大幅上升。基于IOE架构的典型企业如:金融业、电信业、能源业、交通运输业。IOE典型的系统架构如下图所示。

互联网时代运维价值的重塑

互联网时代运维价值的重塑 当今的互联网行业发展可谓风生水起,从传统的ICP纯内容生产到移动互联O2O连接线上与线下,再到成为国家发展战略的互联网+深度拥抱各行各业,整个互联网浪潮下催生出来的众多业务形态、无数产品和创新的技术都在影响和改变着这个世界。而支撑起这整个互联网基础系统稳定运转的人是谁?如当前一款游戏产品PCU达百万,一个web站点pv量上千万,一个app的月活跃帐户达数亿,这些业务繁荣昌盛的背后有哪些工作要做?我掐指一算,大概涉及到数据中心、网络、服务器等基础架构的规划、建设、运营及服务管理,涉及业务架构评估、部署方案优化、运行环境设计、容量与成本管理、可用性与连续性管理、故障恢复与维护等诸多方面,以上工作都需要运维这个特殊的职业群体来承担。 运维作为业务发展的后腰团队,一直致力于如何更快更好更省地支撑线上业务,既然是做业务支撑,得随着业务的发展而发展,运维整体水平也往往与业务发展状况和体量正相关,如国内BAT这些巨头互联网企业,其运维在标准化建设、规范化实施、资源规划和运维效率质量等方面均已成体系,并基本能代表业界最NB水平。在一些中型互联网企业,运维团队和支撑体系可能正处于建设和发展阶段,业务发展稳中有进,此时运维侧关注的是如何提升效率、保障质量并控制成本以及自动化建设,当然最关键的是运维管理思路的转变,工作界面切分、业务解耦、降低人员依赖度等等。在小微互联网企业内部可能问题并没有这么复杂,甚至DO都不需要分离。但本人认为无论在哪种业务场景下,在如今互联网行业如何猖獗、用户如此海量的背景下,运维的价值需要输出到产业链的上游中去,创造更多的空间。 那么问题来了,运维往往是企业内部的屌丝团队(不挣钱花钱又最多,起的比鸡早睡的比鸡晚,甚至颜值普遍偏低),如何输出更多价值,以本人有限的经验来看,得练内功,即通过提升运维整体水平来输出更多价值,简单归结为以下三方面 Chapter 1 运维支撑架构的进化 面对业务全面发展,用户量膨胀,线上服务不断增多,从运维整体支撑架构上,该如何转变思路并扩展支撑能力?本人以为下述几点措施可重点考虑。 1. 界面切分 这块主要考虑的是运维人员组织结构的问题,当前的互联网运维涉及的专业技术学科非常广泛,从大的方向来讲有两类,一是基础架构运维:这其中包括了IDC、网络、服务器以及这几块纵向切分为

网络运维简介

一、前言 大家好,接近一年的时间没有怎么书写博客了,一方面是工作上比较忙,同时生活上也步入正轨,事情比较繁多,目前总算是趋于稳定,可以有时间来完善以前没有写完的系列,也算是对自己这段时间工作和生活上总结,同时也加深下自己对架构和 设计方面的理解,由于本人的写作水平有限,所以在书写的深度和书写的格式上还有很多的缺点,还希望大家多多指出。 二、开篇 本篇我们将针对系统架构中的分层进行讲述,分析不同分层模式的优缺点及应用的场景,当然我们会结合一些案例来介绍这些分层,通过案例来证明各种分层的好处与优缺点,本篇作为开篇主要是介绍这个分层系列中会讲述到的几种分层模式实践, 由于很多分层模式也是自己在工作过程中总结和经验积累下来的,可能存在个人理解或用法上错误之处,还请大家指出,我予以及时更正。 三、内容提要 1、前言 2、开篇 3、本文提纲 4、分层模式 4.1、分层架构介绍 4.1、后端分层多层 4.1.1、普通三层架构 4.1.2、多层架构 4.2、前端分层模式

4.2.1、MVC模式 4.2.2、MVP模式 4.2.3、MVVM模式 5、结束语 6、系列进度 7、下篇预告 四、分层模式 4.1、分层架构介绍 架构首先是分为不同层次的和不同视图的,例如架构有五种视图:逻辑视图、物理视图、数据视图、运行视图、开发视图。我们今天不讲解这几个不同的视图,而是讲解分层对于软件设计的意义及关注点,之前我也发过一片单机软件架构的文章,文 章中提到了一个软件从简单到复杂的全过程,而软件架构也是一个迭代的过程,是一个循序渐进,不断完善的过程。 我们今天交流的主要是逻辑纬度的分层,关于物理视图的分层,本篇先不讲解,因为那块更复杂,同时也更重要,对于大型的互联网软件或大型的互联网网站,更关注的是物理架构方面的设计。下面我们就来针对当前的一些分层模式来进行讲解,并 且进行简要的分析和应用场景介绍。 4.2、后端分层架构 一、普通三层架构 三层架构(3-tier architecture) 通常意义上的三层架构就是将整个业务应用划分为:表现层(UI)、业务逻辑层(BLL)、数据访问层(DAL)。区分层次的目的即为了“高内聚,低耦合”的思想。

从科技运维向智能运营转型

Grass-roots Practice I栏目编辑:郑艺 从科技运维向智能运营转型文口中国农业发展银行信息科技部毛翔昊 士I国农业发展银行依托一体化智能运维平台实现落地,把i4信息系统运维管理向运营管理不断推进,提高科技引 领的战略思路,并不断加强科技与业务的融合,在ITSM向ITOM转变的创造之路上迈出坚实一步。 农发行运维建设实践 “人、流程、工具”是运维建设的关键。借鉴业内银行数据中心成熟度模型及CMMI能力成熟度模型和ITIL最佳实践,参照农发行IT技术架构规划,我们通过提升“人”的运维意识,提炼运维场景需求,形成客户化电子“流程”规范日常运维工作,搭建基于场景化的运维平台作为支撐,引入智能运维“工具引擎”,协助实现风险预判、故障定位,实现运维自动化、智能化、可视化,确立了运维支撑并引领运营的发展规划。 目前,农发行数据中心的1T运维已实现从纯手工运维到运维管理平台的过渡。2009年建成集中监控系统,初步搭建了运行监控、服务管理、操作管理和安全管理平台,实现基础环境的监控、变更管理的流程控制和批量作业的自动调度。2016年建成网络监控系统,进一步扩展了运行监控平台,实现了对总行、珠海及省级分行核心网络的监控管理。2018年实现应用性能监控、单指标异常检测和多维度智能分析,初步建成全行一体化运维支持平台,实现全行运维管理“横向到边、纵向到底”的目标。 组织ITIL体系培训,促进IT部门协同。以农发行已有服务流程工具为依托,组织全系统ITIL培训,统一服务流程管理意识;制定标准的、规范的、跨部门的流程管理体系,形成行内可执行的流程制度。从而将“人、流程、工具”有机整合,完善的管理制度,实现各个IT部门协同工作。 建设流程系统,坚持流程规范化。农发行2009年集中监控系统的流程工具已包含ITIL的基本10大流程功能,服务管理流程工具已具备条件.最初实现了事件管理、变更管理流程。通过多年应用,结合农发行实际工作特点,2017年进一步总结流程中需完善的点,推进配置管理、知识库、值班管理等功能的推广,并持续跟进流程细节的优化,确保流程系统的实用性、易用性。 以一体化运维平台建设为主线推进运维工具的积累,着眼运维促运营。一体化运维平台建设方面,农发行选择了依托业界成熟服务商和农发行合作研发、自主可控的道路。平台着眼农发行未来10年发展,结合大数据、机器学习等技术分步完成了运维数据整合、运维场景关联、智能运维分析、运维促运营等目标,改变了以往因数据缺乏有效整合和利用,分散在各个工具中的问题,形成了监控数据统一规范和标准,实现了设备监控指标对应用系统进行风险预警和关联性分析,特别是充分利用运维数据价值,促进运维向运营转变。 在运维平台总体技术框架中,最底层的是各类基础运维对象,主要包括机房环境、网络、平台软硬件、基础设施、应用等。基础运维对象之上是工具层,主要分为集中监控类、流程管理类、自动化及安全类工具。其中集中监控类工具是通过采集运维对象的基础数据,实时发现异常运行指标,实现监控和告警通知,提供运行数据存档分析能力。自动化及安全类工具规范各类运维操作,对操作过程进行控制、记录和审计,并实现运维操作的自动化和规范化,降低操作风险。安全管理工具提供各运维对象和运维过程的安全管控手段,用于实现对运维对象和运维活动全方位、多层次的安全防护。流程管理类工具对运维服务过程管理,依据运维服务管理的最佳实践等标准(如:ITIL),实施事件管理、问题管理、变更管理、配置管理和知识管理,实现IT服务管理规范化、标准化和流程化。 工具层之上搭建一体化运维支持平台,即平台的汇聚层、展现层。汇聚层实现各类数据的关联汇聚,汇聚的数据包括:告警、性能、配置、日志安全等类型数据。汇聚层是基于大数据的关联分析中心,内置智能分析引擎,提供基于汇聚数据的扩展分析功能,如:动态告警规则推荐、风险趋势预测、智能容量规划等功能。从而优化运维管理,实现故障精确定位、风险主动预警、服务快速传达,颠覆传统的运维管理模式,提升运维管理部门的服务质量。汇聚分析后的数据输出到展现层, 88

互联网应用系统的架构设计及演进之路

网站在刚开始的时候大概只是一个想法:一个产业的模型,快速地将它产生出来。“快”是第一位的,不需要花太多精力在架构设计上。 网站进入扩张期才需要对架构投入更多的精力来承载网站在爆发时的流量。饿了么成立已经8 年,现在日订单量突破900 万。我们也有了较为完善的网站架构。 网站基础架构 初期,我们使用了能够更容易拓展SOA 的框架。我们用SOA 的框架,解决两件事情: 1. 分工协作 网站初期,程序员可能就1~5 个,那时候大家忙同一个事情上就可以了。彼此之间的工作都互相了解,往往是通过“吼”的方式就把问题解决了。 但是随着人员的增加,这种方式显然是不行的,不可能一个人更新了代码再把其他人的所有代码重新上线一遍吧?于是就要考虑分工协作的问题。 2. 快速扩展 以前订单量可能从1k 到1w,虽然增长了10 倍,但是总量并不是很高,对于一个网站的压力来说,也不是那么大。真的订单量从10w 到100w,从100w 到200w 的时候,可能也只是扩大了10 倍,但是对整个网站的架构上来说是一个巨大的挑战。

我们的背景就是2014 年的100 万突破现在900 万,技术团队由刚开始的30多个人,到现在已经是超过900 人的团队。这时候分工协作就是个巨大的挑战。服务的分分合合,团队的分分合合,这都需要一套框架体系来支撑,这也是SOA 框架的一个作用。 看一下我们的现状,中间是我们整个架构的体系,右侧是和服务化相关的一些基础,包括基础的组件或者服务。

先说语言,我们原来的网站是在PHP 上的,然后慢慢转型。 创始人都是大学生创业,那么理所当然Python 是一个很好的首选。到现在Python 也是很好的选择,但是我们为什么要扩展到Java 和Go 呢? Python 很多人都会写,但是真正能把他做的很好的人并不多。随着业务的发展,需要更多的开发人员。考虑到Java 成熟的生态环境,以及新兴的Go 生态,我们最终选择了Python、Java、Go 多语言共存的一个生态。 WebAPI 主要做一些HTTPS 卸载、限流,还有安全校验等一些通用的和业务逻辑无关的操作。 Service Orchestrator是服务编排层,通过配置的方式实现内外网的协议转换、服务的聚合裁剪。 架构图右边是一些围绕这些服务化框架的辅助系统,比如说用于定期执行一个任务的Job 系统。我们有将近快1000 个服务,这些系统怎么监控?所以必须有一套监控系统。刚开始只有30 多个人的时候,我们更擅长的是跑到机器上去搜一下Log,那么900 多人的时候,你不可能都到机器上去搜一遍Log,就需要有个集中式的日志系统。其他的系统就不一一赘述了。

数据库日常运维手册

神州数码信息系统有限公司数据库日常运维手册 神州数码信息系统有限公司 2015/9/5

日常运维操作手册主要针对ORACLE数据库管理员对数据库系统做定期监控:(1). 每天对ORACLE数据库的运行状态、日志文件、备份情况、数据库的空间使用情况、系统资源的使用情况进行检查,发现并解决问题。并要有相关的人员负责每天查看,发现问题及时上报分析。检查每天的数据库备份完成情况。 (2). 每周对数据库对象的空间扩展情况、数据的增长情况进行监控、对数据库做健康检查、对数据库对象的状态做检查。 (3). 每月对表和索引等进行Analyze、检查表空间碎片、寻找数据库性能调整的机会、进行数据库性能调整、提出下一步空间管理计划。对ORACLE数据库状态进行一次全面检查 (4)根据公司数据库的安全策略对ORACLE DB进行加固 一.日维护过程 1.1、确认所有的INSTANCE状态正常 登陆到所有数据库或例程,检测ORACLE后台进程: $ps –ef|grep ora 1.2、检查文件系统的使用(剩余空间) 如果文件系统的剩余空间小于20%,需删除不用的文件以释放空间。 #df –k 1.3、检查日志文件和trace文件记录 检查相关的日志文件和trace文件中是否存在错误。 A、连接到每个需管理的系统 使用’telnet’命令 B、对每个数据库,进入到数据库的bdump目录,unix系统中BDUMP目录通常是 $ORACLE_BASE//bdump #$ORACLE_BASE//bdump

C、使用Unix ‘tail’命令来查看alert_.log文件 #tail $ORACLE_BASE//bdump/alert_.log D、如果发现任何新的ORA- 错误,记录并解决 1.4、检查数据库当日备份的有效性。 对RMAN备份方式: 1.5、检查数据文件的状态 检查所有数据文件并记录状态不是“online”的数据文件,并做恢复。 Sqlplus> Select file_name from dba_data_files where status=’OFFLINE’ 1.6、检查表空间的使用情况 SELECT tablespace_name, max_m, count_blocksfree_blk_cnt, sum_free_m,to_char(100*sum_free_m/sum_m, '99.99') || '%' AS pct_free FROM ( SELECT tablespace_name,sum(bytes)/1024/1024 AS sum_m FROM dba_data_files GROUP BY tablespace_name), ( SELECT tablespace_name AS fs_ts_name, max(bytes)/1024/1024 AS max_m, count(blocks) AS count_blocks, sum(bytes/1024/1024) AS sum_free_m FROM dba_free_space GROUP BY tablespace_name ) WHERE tablespace_name = fs_ts_name 1.7、检查剩余表空间 SELECT tablespace_name, sum ( blocks ) as free_blk , trunc ( sum ( bytes ) /(1024*1024) ) as free_m, max ( bytes ) / (1024) as big_chunk_k, count (*) as num_chunks FROM dba_free_space GROUP BY tablespace_name; 1.8、监控数据库性能(重点) 运行bstat/estat生成系统报告或者使用statspack收集统计数据 1.9、检查数据库系统性能(重点) 主要检查并记录数据库系统的cpu使用率、pagespaces、IO、buffer命中率等等,可以使用topas、vmstat、iostat、glance、top等命令

【MBA教学案例】互联网金融浪潮下,东方正捷公司如何转型(上)

【MBA教学案例】互联网金融浪潮下,东方正捷公司如何转型(上) 2020年05月29日 案例摘要:本案例以东方正捷公司为背景,讲述了在互联网金融浪潮的冲击下,传统金融公司的改革创新之路。一方面是案例摘要: 企业如何转型来应对P2P的冲击,是坚守自己的业务模式还是做自己的P2P平台抑或是寻求新的业务发展路径,这可以引发人们思考传统金融公司面对互联网金融浪潮下如何进行改革创新;另一方面是面对全国近300家加盟商出现的问题如何进行整治管理和自己公司内部员工的绩效管理问题,这可以启发人们思考连锁加盟业务的运营管理问题以及对员工如何进行绩效考核。 夜幕降临,偌大的办公室里,东方正捷董事长戴海涛一边抽着雪茄一边眉头深锁看着手中的财务报表,已经连续12个月亏损,入不敷出,再这样下去公司势必会破产倒闭。“我戴海涛2005年带着几个人来到济南,辛苦打拼,2008年单资金对接业务就做到2个亿,是济南所有小贷公司的总和,谁有这个能力跟我们比,没想到这两年公司业务会被冲击成这样”说话的正是东方正捷董事长戴海涛,他个子不高,一米七左右,性格比较豪爽,当然脾气也很火爆。对面的财务经理一脸严肃地听着,时而在思考着什么…… 一、行业概况 东方正捷是民间借贷中介公司,属于民间金融行业。民间金融是指在政府批准并进行监管的金融活动(正规金融)之外所存在的游离于现行制度法规边缘的金融行为。主要运行形式有:农村信用社、农村合作基金、民间借贷、私人钱庄、小额信贷、典当行等。具体来说,民间金融行业具备以下几个方面的特点:(1)从交易活动的主体来看,交易的对手基本上是从正式金融部门得不到融资安排的经济行为人,比如发生相互借贷行为的农民,创业企业获得创业资本。(2)交易对象是不被正式金融所认可的非标准化合同性的金融工具。(3)正式的金融中介具有规范的机构和固定的经营场所,民间金融一般不具备这些特征。(4)民间金融一般处于在金融监管当局的监管范围之外。 民间借贷是指公民之间、公民与法人之间、公民与其他组织之间借贷。其作为民间金融的一种不可或缺形式,不论是运作模式还是操作灵活性上相比其他运行形式来说都是极具占有优势的,据央行研究局通过在2008年和2010年就民间借贷领域所做的两次调研发现,当前我国民间借贷存量超过2.4亿元,占借贷市场的比重达到5.6%。借用著名网络红人资本之鹰的话描述:“民间借贷作为民间金融中最美丽的‘恶之花’,被人们轻蔑或者诅咒地称之为‘高利贷’,但它却有着异常顽强的生命力和破坏力,是把双刃剑,可以杀人亦可以救人。” 二、公司背景 山东东方正捷投资管理有限公司是一家由山东省工商管理局注册的集民间资本运作、债权投资业务、企业管理咨询服务、品牌连锁加盟于一身的大型资金服务集团。公司创办于2005年,主做民间资本和全国特许加盟连锁经营业务,到今天已经发展了11年,在全国也有近300家加盟店,公司盈利来源主要是民间借贷中介服务费和加盟费以及后期加盟商管理费这三大块。东方正捷公司单2008年资金对接2个亿在济南已属不可超越的神话,这在民间借贷领域绝对算是排名前三的公司,对一个只有几人创业发展的民间借贷公司来说是很了不起的。 东方正捷公司自2005年成立后一直做民间借贷中介业务,跟小额贷款公司和典当行还不一样,民间借贷中介业务是撮合借款方和融资方,自己并不吸收存款,只收取中介服务费,这是东方正捷董事长戴海涛一直看中的,绝对不能非法吸收公众存款,在法律范围内做事,他重视风险控制,有着敏锐的市场嗅觉和丰富的实战经验。东方正捷公司年平均坏账率不到2%,这比银行的呆坏账率还要低,已经在行业内独树一帜,也是公司的核心优势,戴海涛更一直引以为豪,要把东方正捷公司做成民间资本行业的航天母舰。 随着实体行业的不景气,2010年底越来越多的人涉足民间资本行业,由于这是一个高风险高收益的行业,风控和资源特别重要,特许连锁加盟开始盛行,特许经营连锁是指特许者将自己所拥有的商标、商号、产品、专利和专有技术,经营模式等以特许经营合同的形式授予被特许者使用,被特许者按合同规定,在特许者统一的业务模式下从事经营活动,并向特许者支付相应的费用。利益驱使下,东方正捷公司也在2010年底开始做特许连锁加盟业务:最初加盟费10万元合作期3年,加盟商自负盈亏,有总部和加盟商共同管理店面,总部负责给加盟店培训员工、把控风险、牵线搭桥、导入新业务模式等。加盟商可以使用东方正捷品牌,利用这个圈子的资源,学到如何安全地运作民间资本赚取收益。经过5年多的时间现在已经发展到全国26个省300家店,特许连锁加盟费用也从最初10万元涨到现在72万元。 发展速度很快,其中的曲折当然也多,2014年是东方正捷大展拳手的一年,这一年连锁加盟业务开展迅速,加盟这个行业的人也都是当地比较有资源人脉的人,公司效益提升数倍,考虑到老员工思维守旧,会影响加盟商的关系维护,公司相应的高薪聘请了更多专业人士,主要负责加盟商维护和市场开拓工作,但是因为各种原因人力资源部一直没有制定相应的绩效管理和奖励机制,主要是靠加盟商的反馈和高层领导的个人判断来定绩效考核和奖金的多少,当时公司效益好,员工奖金普遍也多,大家争相工作,对绩效和激励的事情并不放在心上,每个人脸上都溢满了笑容。董事长戴海涛那年很高兴,搬了更大的办公场地,准备大展身手。 三、互联网金融冲击 “站在互联网的风口上,会使中国经济飞起来。”这是2015年全国“两会”期间很热门的一句话。随着互联网技术的广泛应用,我国网络经济发展呈现出蓬勃生机,开启了互联网金融广阔成长空间。2015年P2P平台开始盛行,P2P是指线上的借贷平台,也是互联网金融的主力军。P2P网贷平台的出现,为借贷双方提供了一个直接对接的平台,交易信息被平台记录并共享,可以较为清晰地反映资金去向和交易总量,特别是随着大数据技术对借款人海量信息挖掘分析的成熟与运用,信用信息整合与评估成本将会明显下降,完全可以不依赖金融机构作为信用中介缓冲风险,这些一时之间都很受投融资客户的追捧。随着P2P规模的扩大,借款人融资渠道越来越多,有了更多比价的机会,从线上影响到线下,东方正捷作为线下资金对接平台,自身业务受到了严重影响。在融资端,一些之前合作的老客户有意分散投资资金,减少了在东方正捷公司的投资,这直接影响了东方正捷的资金来源渠道,资金总量从2014年的1.5亿元降为2015年的5000万元;在借款端,优质的借款客户优先选择操作简便的线上P2P网贷平台,削减了优质借款客户总量,增加了呆坏账概率,致使一向以严谨风控著称的东方正捷公司呆坏账概率从2%飙升到10%,这在行业内是很有风险的,导致公司业务部只做小业务,对大点的业务宁愿舍弃也不敢借款。 另外,由于P2P公司准入门槛较低,什么资质都不需要,只办理一般的工商手续,建设一个网站就可以运作资金,这导致很多不正规的平台盛行,一些别有用心的P2P平台为了快速吸收资金,不惜采用人海战术高薪聘请员工,变相拉高了金融行业从业人员的平均薪资,影响了员工的从业素养,这对东方正捷这种线下民间借贷中介公司员工的薪资也造成了一定冲击。随着P2P网贷平台的进一步推广流行,一些三四线小城市也逐步加入进来,位于全国各地中小城市的东方正捷加盟店的业务也逐渐受到影响…… 四、矛盾显现 “我当时加盟东方正捷是看中了它的正规合法运营和严谨的风控,我本身就是银行业出身,所以对国家法律和金融都有所了

Mobvista的技术转型之路,如何突破重围

Mobvista的技术转型之路,如何突破重围 导语: 在商业历史上,有许多曾一度处于领先地位的公司,因转型不及而摔了跟头。造成这一问题的原因或许是因为他们忽视了技术断层所带来的危险。技术的发展与其说是一个循序渐进的过程,更像是一个阶梯式的斜坡。在某个时间节点上,公司发展会处在技术阶梯中的一层,而新的技术及生态会在更高一层的阶梯上酝酿,最终形成一道技术断层。当阶梯过高,又或没有预先准备技术跳板的话,技术断层会给企业的发展带来阻碍。 与其临危磨枪,不如未雨绸缪,这也是为什么作为海外移动广告行业先行者的Mobvista,在行业蒸蒸日上的今天起早谋求技术转型。 无法回避的发展紧迫感 Mobvista于2013年起开展业务,专注于帮助国内外企业和应用开发者提供全球用户获取和流量变现服务。在过去2年半的时间里,公司估值持续飙升,团队规模由几个人发展成逾三百人,去年11月更是挂牌新三板。 登录新三板之后,Mobvista站在了公司发展的又一个十字路口,接下来该怎么走成了关键。CEO 段威表示:最早的Mobvista是一家商务运营驱动型的公司,过去的时候,销售能拿到订单,公司就能活得很好。而随着出海业务逐步由蓝海走向红海,流量红利进一步减退,靠商务运

营的发展模式必然会遇到瓶颈。未来的Mobvista必须是一家产品技术驱动型公司,全球的数字广告业务已经成为一项数据驱动业务,核心的竞争力来自产品本身的技术实力以及公司的数据能力。 Mobvista的管理层将公司的转型之路定义为:以提升运营效率为目标,由一家商务运营驱动型公司,通过机制的变革和产品技术的创新,转变为产品技术型驱动的科技公司。 技术跨越的跳板:服务架构与技术算法 这并非空喊口号的“纸上谈兵”,在发展壮大的这两年半里,Mobvista已经在技术领域进行了深度的积累,主要方向集中在服务架构和算法两方面。 服务架构是第一个核心。每天都有数百亿的流量通过Mobvista的平台展示给用户,点击流量超过3亿,这些来自全球各地的流量会在Mobvista的平台上汇聚,然后再一次流向世界各地。不同国家和地区涌入的流量使得整体的服务架构需要全球化部署,并能在比较短的时间内给予响应。Mobvista已经能够做到10毫秒以内的响应时间。 于此同时,在响应的那一刻,系统要在有限的时间内快速的结合算法,找出一条最合适的广告投放给客户,提升广告主的转化。Mobvista凭借着自身技术储备和架构能力,搭建了与BAT几乎一样的服务架构体系。更确切的说,他们面对的网络环境比BAT更为复杂,考验更加严峻。系统会针对不同国家不同地区的网络状况,甚至是网民的使用习惯进行技术优化,提升服务的可靠性。

数据库日常运维手册

神州数码信息系统有限公司 数据库日常运维手册 神州数码信息系统有限公司 2015/9/5 日常运维操作手册主要针对ORACLE数据库管理员对数据库系统做定期监控: (1)、每天对ORACLE数据库的运行状态、日志文件、备份情况、数据库的空间使用情况、系统资源的使用情况进行检查,发现并解决问题。并要有相关的人员负责每天查瞧,发现问题及时 上报分析。检查每天的数据库备份完成情况。 (2)、每周对数据库对象的空间扩展情况、数据的增长情况进行监控、对数据库做健康检查、对数据库对象的状态做检查。 (3)、每月对表与索引等进行Analyze、检查表空间碎片、寻找数据库性能调整的机会、进行数据库性能调整、提出下一步空间管理计划。对ORACLE数据库状态进行一次全面检查 (4)根据公司数据库的安全策略对ORACLE DB进行加固 一.日维护过程 1、1、确认所有的INSTANCE状态正常 登陆到所有数据库或例程,检测ORACLE后台进程: $ps –ef|grep ora 1、2、检查文件系统的使用(剩余空间) 如果文件系统的剩余空间小于20%,需删除不用的文件以释放空间。 #df –k 1、3、检查日志文件与trace文件记录 检查相关的日志文件与trace文件中就是否存在错误。 A、连接到每个需管理的系统 使用’telnet’命令 B、对每个数据库,进入到数据库的bdump目录,unix系统中BDUMP目录通常就是 $ORACLE_BASE//bdump #$ORACLE_BASE//bdump C、使用Unix ‘tail’命令来查瞧alert_、log文件 #tail $ORACLE_BASE//bdump/alert_、log

相关文档
最新文档