SaltStack常用组件使用 SaltStack配置文件说明 轻量级DNS、DHCP服务软件DNSMASQ 千万级PV(日)的移动应用架构如何实现 高效运维最佳实践-运维自动化之殇 Ubuntu 14.04 Linux如何配置静态IP地址和DNS服务器 ELK 常见错误与解决办法 Elasticsearch 集群配置管理常用操作 常用数字证书格式相互转换-OpenSSL/Keytool/Jks2pfx ELK 综合日志归档分析系统(2)-Logstash安装配置 Elasticsearch之Shield认证与权限管理 ELK 综合日志归档分析系统(1)-Elasticsearch-Redis安装配置 Redmine 3.2 安装配置指南 CentOS6 大型web系统数据缓存设计 Redis 集群方案 Linux 内核TCP优化详解 SaltStack初始化安装配置 OpenLDAP常用操作 OpenLDAP统一身份认证 [CentOS6/7] 构建Linux Skype Message消息推送API服务(Zabbix集成告警) Tomcat 生产服务器性能优化 Zabbix结合iptables监控网络流量 Linux操作系统环境配置与优先级问题 深入 NGINX: 我们如何设计性能和扩展 Windows SQL Server 性能计数器详细说明 Windows性能计数器说明 Ubuntu安装openntpd报错:Starting openntpd: /etc/openntpd/ntpd.conf: Permission denied locale: Cannot set LC_ALL to default locale: No such file or directory OpenSSL拆解p12证书公约和私钥 Linux sar 统计系统性能(网卡、内存和交换空间、CPU资源等) Linux Shell /dev/null 2>&1 含义 Windows 2003操作系统网络不通 构建私有yum安装源镜像站点(openstack) CentOS6/RedHat6新增网卡识别问题 Ubuntu 14.04 Server优化与使用问题解决 Redhat/CentOS6系统使用ntfs-3g挂载NTFS分区 Linux GPT挂载超过2TB磁盘 Linux系统性能优化、测试和监控工具梳理 修复WIN2003远程桌面服务无法访问 解决CentOS“Zabbix discoverer processes 75% busy”的问题 REHL/CentOS安装phpMyadmin

千万级PV(日)的移动应用架构如何实现

2016年08月10日

架构这个词就和云一样,越来越多的人去说,但是其实这个本身一直就存在你身边,只不过大家用新的归纳方法进行了整理,出现的一个热词。那么就生产中实例:如何实现稳定的千万级日PV的移动应用架构?

第一步:要保证日均千万级PV的移动应用访问正常,我们需要有一个好的应用框架,代码不能写的都是坑。

至少代码本身质量要过关,我们这里说的是抛却代码质量这个因素,首先要模块化的拆分业务应用,不能所有的业务用一套系统,放1台服务器,这个肯定抗不了千万日PV,模块化后,各业务之间开放api进行互访传递数据,便于我们对各个模块进行改进。

第二步:当我们将业务进行了模块化拆分后,就要根据业务量对现有的各个模块进行量化评估和改进,改造的方向主要有下面几点:

1.对各个模块进行集群化部署,根据业务量分配集群规模。

2.消除整个结构化中的单点问题,不能有任何业务有单点故障,保障业务模块的高可用。

3.核心模块进行纵向的分层化处理,增加模块的处理能力和可扩展性/独立性。

4.异步化处理,很多实时性不高的业务进行异步化处理,减少整个系统的压力。

5.内存化处理,对交互处理频繁的数据,可以放到内存数据库中处理,异步进行数据的落地(使用内存数据库的集群和分布式机制保障数据的安全和高可用)。

6.精简目前的架构纵向层次,避免超过3层,越简单越高效,越易于管理。

第三步:关系数据库进行读写分离,或者集群化处理,目前大多数改进的方案最终的核心都在数据库上,大多方式:

1.使用内存数据库做数据库前端,所有对数据的更/删/改/查操作都在内存数据库中执行,最终异步将数据落地到关系数据库中,此方式能大大减少关系数据库的操作。

2.使用双主多从的方式部署数据库集群,oracle的自己有一套商业的解决方案(比如:rac),这里就不说了

3.在程序层做数据库的读写分离或集群读取(这个要求程序员能力),或者使用数据库代理软件(路由软件),大公司自己写,开源的也有不少,但是多多少少都有一些小毛病,需要代码配套修改,很多用法是不支持的。

4.分库/分区/分表 这个主要是减轻单数据库服务器的压力,增加数据库处理能力。

5.慢查询日志分析,优化sql

第四步:监控,这个是保证千万级PV移动应用稳定运行的关键,主要分为下面几类:

1.服务器层基础监控:CPU/MEM/DISK/IO

2.应用服务状态:端口/服务进程

3.服务质量:连接数/响应速度/接口数据返回值

4.数据分析:定期的日志分析 PV/UV/QP

 

转载请注明:自动化运维 » 千万级PV(日)的移动应用架构如何实现?