统一的分布式数据库和文件系统mongodb,及其用于解决aliyun上做站的存储成本方案

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
对象存储 OSS,20GB 3个月
简介: 本文关键字:mongopress安装,0维护网站系统,web程序静态资源/媒体文件维护/备份,阿里云mongodb

本文关键字:mongopress安装,0维护网站系统,web程序静态资源/媒体文件维护/备份,阿里云mongodb

从本地打包技术到分布式存储中的做站媒体维护

在大型本地程序的客户端发布中脱离不了文件系统/打包技术, — 这在游戏技术中很常见(看看大型3D网游DATA中的那些动则几G的资料片/资产库文件就知道了)。比如,zip包也是一种简单的文件系统。不过更复杂一些的场景,比如发布大量小文件还需要维护更新和版本化的时候,往往用打包+hash+加密技术(一个索引一个存储库),像warcraft系列的mpq啊这些都是例子,就不细说了。

事情到了WEB和做站,同样地,WEB的静态资源往往有时变得很巨大,有图片这种小文件也有大文件存储这些需求,我们来细细分析 — 在其底下首先是分布式存储和其各种方案,从服务器上的raw filesystem,分布式文件系统。到简单的ftp,webdav(支持统一客户端同步etc..如owncloud和davros),到网盘的切片文件系统(支持秒传,如dropbox),到对象存储技术(es2,aws,aliyun oss),到传统数据库和它们的结合体如mysql+fuse文件(aw3fs,okasoft),甚至像基于云计算渲染的游戏中免发布客户端资源做成stream,都可用于操作和存储网站文件。我们现在的web栈也往往都是一个httpd的page ui srv + 一个数据库srv + 具体WEB程序维护的程序数据库条目索引本地文件或分布式中的文件,可见,对存储的处理是通用web栈中一个基础环节。

然而,现在的以上这些,都涉及到不同的技术显得太碎片了,同是存储却用了不一样的多种不同质的技术,而且都不能使web做到像本地一样存储维护网站系统(除了OSS可以挂载到本地盘稍微有点接近这个之外)。这使得维护网站静态资源过程往往变得很痛苦,那么有没有一种像打包文件的本地方式一样维护/备份网站系统。统一备份网站数据/媒体,且避免像wordpress这种紧绑定媒体和数据库不好备份的缺点。更进一点,可以做到像dokuwiki那样免数据库一样,发贴即存储,打包复制带走即整个网站维护。

ps:整合的东西往往有一个干净,简单的门面。可以改造成各层开发者适用的版本,稳藏代码后面的复杂。这其实是现代开发,在源码处理(语法上)和发布上(组件技术上)的通用技术了。软件抽象和设计模式中的门面,都是这样的例子。整合的东西还可以提高应用的简便性。
而我们的工作,就是使web stacks中的存储自成一体,使之变得更整合更易维护。本站以前的发布/演示中,ocwp,cmserpone都是在一定程序上使媒体维护变得免维护化这样的例子,owcp用网盘作媒体后端,备份即同步网盘,cmserpone是导出一个公司的db。而接下来介绍的mongodb更像是一种突破。—– 与oss不属数据库技术不同(它是干净的分布式存储),它是一种称为文档数据库,此文档二字即为网站资源,它具有gridfs本身就是一个文件系统,整合了mysql和fs。同时可用作mysql存储程序数据,你可以将它视为mysql+oss,或native storage backend for web apps(that shipped with webstack as ehanced lamp),是web栈中一个很合理的整合存在。

mongodb与在阿里云中省事/低成本/免坑做站

阿里云是这样设计ECS的,在其产品计划中它把ECS作为计算产品出售,并不是一个带存储/计算的全能iaas产品(如果你要这样做,技术上是可以的,但是成本很高,ecs在安全/负载/流量方面没有优势不利直接建站,而其存储类产品有这方面的设施和价格优惠),因此云存储中,有oss,ecs文件系统,块这样各层的东西,包括rds,mongodo这样的存储产品。比如,在iaas层,阿里云希望用户搭配使用ecs+rds。

甚至有负载ecs,更甚至,根据这些,阿里向用户提出游戏解决方案电商解决方案,搭配使用的方案。

but,这太乱了。而且其存储成本组成,不但包括存储本身还包括存储中的媒体产生的流量。

我希望有一种方案。像ECS一样全包但是不要涉及太多产品和计费方案。只涉及到最多二产品,且避免ecs的以上做站的短处,再来搭配ecs。aliyun Apsara for mongodb+ecs就是这样一种,内网中的这二个产品流量是免费的,mongodb中的出流量是免费的,ecs按量收费仅放web程序应该不会产生太多流量,这样流量带宽方面综合起来比较划算。ecs+rds for mysql+oss也可以,但是这处方案至少涉及到三个产品。

在mongodb这种方案中,你仅需要租用mongodo即可,外带一个支持程序的空间(比如阿里云的免费PHP空间),在程序支持方面,如果你是个人博客,可以选用比如mongopress,或成熟的nodejs+mongodb的mean stack系列下的app(不过这样你至少需要一个ecs,因为aliyun ews中的js下架了)。

安装方法:下载mongopress 0.2.3放到apps/wamdata/source下,默认密码admin/admin安装,然后在安装成功的后台点导入数据,下载plupload 1.5.1,解压2个文件plupload.js,plupload-html5.js覆盖mp-admin/js/plupload/中的2文件即可。

下面是我在msyscuione+ocwp使用的wam/wnm架构中测试的结果:

——————–

当然它aliyun Apsara for mongodb也不是不贵,合租mongodb才划算,,体外话:对于降低个人网站最低成本和同类产品的自然整合考虑,我最初的想法是mailbox当网站空间的附件呢并把它发展为像owncloud这样的东西,不过还是偏向到web这块来了,那个想法有点疯狂有点像web1.0时代的google openwave设想。不过openwave现在也有成功的替代品了。叫什么来着我忘了。。


(此处不设回复,扫码到微信参与留言,或直接点击到原文)

qrcode.png

相关实践学习
MongoDB数据库入门
MongoDB数据库入门实验。
快速掌握 MongoDB 数据库
本课程主要讲解MongoDB数据库的基本知识,包括MongoDB数据库的安装、配置、服务的启动、数据的CRUD操作函数使用、MongoDB索引的使用(唯一索引、地理索引、过期索引、全文索引等)、MapReduce操作实现、用户管理、Java对MongoDB的操作支持(基于2.x驱动与3.x驱动的完全讲解)。 通过学习此课程,读者将具备MongoDB数据库的开发能力,并且能够使用MongoDB进行项目开发。   相关的阿里云产品:云数据库 MongoDB版 云数据库MongoDB版支持ReplicaSet和Sharding两种部署架构,具备安全审计,时间点备份等多项企业能力。在互联网、物联网、游戏、金融等领域被广泛采用。 云数据库MongoDB版(ApsaraDB for MongoDB)完全兼容MongoDB协议,基于飞天分布式系统和高可靠存储引擎,提供多节点高可用架构、弹性扩容、容灾、备份回滚、性能优化等解决方案。 产品详情: https://www.aliyun.com/product/mongodb
相关文章
|
8天前
|
存储 NoSQL 关系型数据库
阿里云数据库MongoDB版助力信也科技 打造互联网金融企业样板
我们的风控系统引入阿里云数据库MongoDB版后,解决了特征类字段灵活加减的问题,大大提高了开发效率,极大的提升了业务用户体验,获得了非常好的效果
阿里云数据库MongoDB版助力信也科技 打造互联网金融企业样板
|
1月前
|
NoSQL 容灾 MongoDB
MongoDB主备副本集方案:两台服务器使用非对称部署的方式实现高可用与容灾备份
在资源受限的情况下,为了实现MongoDB的高可用性,本文探讨了两种在两台服务器上部署MongoDB的方案。方案一是通过主备身份轮换,即一台服务器作为主节点,另一台同时部署备节点和仲裁节点;方案二是利用`priority`设置实现自动主备切换。两者相比,方案二自动化程度更高,适合追求快速故障恢复的场景,而方案一则提供了更多的手动控制选项。文章最后对比了这两种方案与标准三节点副本集的优缺点,指出三节点方案在高可用性和数据一致性方面表现更佳。
|
1月前
|
存储 NoSQL 关系型数据库
【赵渝强老师】MongoDB的存储结构
MongoDB 是一个可移植的 NoSQL 数据库,支持跨平台运行。其逻辑存储结构包括数据库、集合和文档,而物理存储结构则由命名空间文件、数据文件和日志文件组成。视频讲解和示意图进一步解释了这些概念。
|
1月前
|
NoSQL Cloud Native atlas
探索云原生数据库:MongoDB Atlas 的实践与思考
【10月更文挑战第21天】本文探讨了MongoDB Atlas的核心特性、实践应用及对云原生数据库未来的思考。MongoDB Atlas作为MongoDB的云原生版本,提供全球分布式、完全托管、弹性伸缩和安全合规等优势,支持快速部署、数据全球化、自动化运维和灵活定价。文章还讨论了云原生数据库的未来趋势,如架构灵活性、智能化运维和混合云支持,并分享了实施MongoDB Atlas的最佳实践。
|
2月前
|
NoSQL Cloud Native atlas
探索云原生数据库:MongoDB Atlas 的实践与思考
【10月更文挑战第20天】本文探讨了MongoDB Atlas的核心特性、实践应用及对未来云原生数据库的思考。MongoDB Atlas作为云原生数据库服务,具备全球分布、完全托管、弹性伸缩和安全合规等优势,支持快速部署、数据全球化、自动化运维和灵活定价。文章还讨论了实施MongoDB Atlas的最佳实践和职业心得,展望了云原生数据库的发展趋势。
|
2月前
|
存储 NoSQL MongoDB
MongoDB 数据库引用
10月更文挑战第20天
23 1
|
2月前
|
存储 NoSQL MongoDB
基于阿里云数据库MongoDB版,微财数科“又快又稳”服务超7000万客户
选择MongoDB主要基于其灵活的数据模型、高性能、高可用性、可扩展性、安全性和强大的分析能力。
|
2月前
|
存储 NoSQL MongoDB
mongodb的数据库表怎么创建
在此过程中,理解并掌握这些基本操作,是深入探索MongoDB魅力,乃至构建高效数据解决方案的关键所在。通过实践,您将更加深刻地体会到这种随需应变的数据管理模式带来的便利与效率提升。
41 0
|
2月前
|
存储 NoSQL MongoDB
小川科技携手阿里云数据库MongoDB:数据赋能企业构建年轻娱乐生态
基于MongoDB灵活模式的特性,小川实现了功能的快速迭代和上线,而数据库侧无需任何更改
|
2月前
|
运维 NoSQL BI
简道云搭载阿里云MongoDB数据库,帮助数以万计企业重构业务系统
通过与MongoDB和阿里云团队的合作,让简道云少走了弯路,保障了线上服务的长期稳定运行,提高了吞吐效率,并相应降低了线上运行成本
下一篇
DataWorks