RP主机设施细则
算是个人的笔记,对RP主机感兴趣的也可以来看一看 不保证以后RP主机一定按本文写的来....
这是之前RP主机的第一个预告贴:http://jybox.net/bbs/read.php?tid-1164.html
#概述 ##RP主机的定位是什么? 对于我来说,RP主机的唯一一个目的——赚零花钱 对于用户来说,RP主机是一款为技术宅(Geek)提供的Linux虚拟主机
##RP主机和大多市面上的卖的虚拟主机有什么区别? 更加自由,你几乎可以在上面搭建所有服务器,事实上,这相当于合租VPS了.
##RP主机和神马终端有什么区别? RP主机是神马终端的升级版,神马终端的用户会被强制升级到RP主机 和神马终端相比,RP主机会提供更加专业的服务、RP主机会有一个自主开发的控制面板。
##RP主机的工作模式 RP主机实际上就是一台划分了用户的Linux服务器,每个用户都可以干自己想做的事情。 当然,会有以root权限运行的监控程序限制你的资源使用,以免影响到其他用户。 为了能够使效率最大化,我们将最常用的一些服务(例如Apache、MySQL等)独立出来,以root权限运行,大家共同使用。而不是每个人都单独运行一份.
##Root Panel Root Panel是我专为RP主机开发的一套虚拟主机管理系统,它会分成三个部分:
* 核心,核心部分负责管理各种服务器软件(例如Apache、MySQL、Nginx等)的配置文件、还负责记录和限制每个用户的资源使用量,这个部分会以root的权限来运行,大部分情况下,他们会一直运行在后台.每个节点都会运行一个核心 * 用户工具,这是提供给用户的一些工具,例如自动备份等等,它会放在用户的目录中,用户可以修改它。这些工具运行时将以实际用户的权限运行。 * 管理面板GUI,这个部分就是提供给用户用来管理自己的虚拟主机的一个Web界面,它事实上就是一个网站,通过核心提供的接口与核心交互,来应用用户的操作(修改配置文件).用户也可以通过这个管理界面来调用一些用户工具.管理面板只存在于中心节点。
以上三个部分都打算用PHP和bash来写.
#细节(从用户的角度看) ##用户系统 所有人都可以注册,注册需要填写用户名、邮箱、密码 其中邮箱非常重要,将用来接收通知,也是验证账号所属权的唯一凭证
账号有三种状态:未付费账号、试用账号、付费账号
刚刚注册完成后的账号就是未付费账号,未付费账号无法使用RP主机的各种功能,未付费账号可以写试用申请,试用申请被批准后,即转为试用账号,试用账号期限是一个月。过期后将重新变成未付费账号。
如果希望付费,那么就可以到淘宝上拍下相应商品并付款,备注填写你的账号。收到付款后(人工),你的账号将转为付费账号
##客服系统 客服系统仍然是基于邮件
##管理面板功能 * 新建和管理Web站点,提供几套模板,例如反向代理、PHP站点、PythonWSGI站点、CGI站点。至于其他的,就需要与客服沟通,人工编写配置文件了 * 新建和删除MySQL/PPTP/Mongodb账号 * 查看流量使用情况、查看CPU使用情况(只有试用账号有CPU限制)
#细节(从实现的角度看) ##Web服务的架构 不得不承认,Web应该说是RP主机提供的主要业务。 Nginx将负责静态内容的请求和反向代理, 动态内容,例如PHP、Python、CGI,交给Apache.
用户可以选择两种模式: * 按照上面说的,Nginx处理静态内容,Apache处理动态内容 * 直接用Apache处理全部内容
##数据库 统一的数据库支持有Mongodb和MySQL 会提供一个统一的PHPMyAdmin
##核心部分 ###资源监控 ####CPU 每10秒检测一次: * 若一个进程30秒内CPU时间增长超过5秒,将该进程调至最低优先级 * 若一个进程10秒内CPU时间增长超过3秒,将该进程调至最低优先级 * 若某用户的进程总数超过了其他所有用户的进程数之和,将该用户所有进程调至最低优先级 * 被调低优先级的进程,240秒后调至正常 * 若某个进程20秒内CPU时间增长超过10秒,结束进程 * 试用用户要记录进程的CPU时间 ####内存 每10秒检测一次: * (前置条件)若空闲内存大于100M,则不结束任何进程 * (前置条件)试用用户在所有内存数值上乘0.4的竞争系数 * 若一个进程内存超过80M,持续120秒,结束进程 * 若一个进程内存超过100M,持续10秒,结束进程 * 若一个进程内存超过150M,结束进程 * 若一个用户的总内存超过150M,持续10秒,由高至低,结束进程,直到内存达到100M以下 * 若一个用户的总内存超过120M,持续120秒,由高至低,结束进程,直到内存达到100M以下 ####流量 每天凌晨两点,清算所有组件的流量 流量分为: * Nginx静态页面和反向代理 * PPTP VPN * 该用户的进程的流量 ####硬盘
每天凌晨两点,清算硬盘空间
###数据备份隔天的凌晨两点,全盘备份,主要储存在较可靠的网盘上。 这是强制性的,对用户不可见的
###节点分布我们会在不同的机房购买VPS,也会支持自动化地在节点之间转移。 每个机房会根据情况对硬盘空间、流量按照一定系数进行调整。用户自主的转移需要消耗服务的剩余天数(暂定每次消耗两天)
所有有效的设置信息都保存在主节点,管理面板也在主节点。 在主节点的管理面板修改设置后,主节点通知所属节点更新配置文件。 同时将该用户的设置备份到所属节点。
每天凌晨两点,所属节点将一天的资源统计汇报给主节点 |