【架构】需求决定架构 —— 萌Mark的架构升级之路
前言
2014年到2015年,是IP爆发的一年,在这一年中,出现很多因为IP火起来的产品。其中有一款产品,凭借着新奇的玩法和萌萌的IP形象,取得了不俗的成绩,也使我司得到数量客观的融资。
萌Mark,萌mark—呆萌漫画DIY、心情分享有图配。
架构升级之路
在这个项目中,我担任的为服务端主程好吧 ,服务端连部署也是我一个人做的 :),看着这个项目从0到1,再从1到N的发展历程,下面对整个服务端的架构实现以及发展进行技术分享,希望得到学习。
从无到有,基本实现
产品的第一阶段,为快速实现阶段。需要用最短的时间验证一个产品的想法是不是正确。
我们采用的是阿里云,进行线上的服务器部署。
项目初期,采用较低配置的ECS服务器以及RDS服务器,由于没有配备专业的运维人员,我们把主要的运维工作交给了阿里云。
这样,我们就用很低的成本跑出了简单的第一个版本。
实际出发,需求为王
每个产品的特性不同,也就意味着架构演变的流程是不同的。
萌Mark是以图片为核心的产品,数据传输是以图片为核心,扩展出众多参数,所以,图片数据是整个研发过程中的重点。
我们采用阿里云的OSS文件存储,配合CDN加速,同时解决了图片访问速度问题,和图片占用服务器带宽的问题,阿里云的带宽很贵的,你懂的~
这样,结合产品特性的初期架构基本搭建完成,正式版本的项目发布,开始跑数据了。
纵向扩展,简单扩充
产品上线之后,用户数量出现了增长,同时数据访问增加。
低配置的服务器已经不能满足需求,我们开始了对服务器配置的简单升级。
同时对于专题模板之类的数据,数据上传之后几乎不会变化,所以,加入了缓存层,对数据库的需要访问的数据进行缓存,这里采用的是阿里云的OCS缓存层,用起来和Memecache一样,不是专业运维就不要抢专业运维的活儿,小心挖坑把自己埋了~
横向延展,负载均衡
随着项目扩展,单机服务器升级的成本到达了投入成本的性能的临界点,过了这个点之后,升级配置的成本超过了获得性能的增量。
恩,是时候用负载均衡了…
通过增加同等配置的服务器,在加上阿里云的SLB负载均衡服务,不仅可以只管控制服务器的上线下线,还可以隐藏服务器对外ip,还可以达到不切断服务更新线上环境~
总结
- 架构升级不能一步到位,没有需要的升级都是在浪费预算
- 根据需求排序优先级解决问题,产品不同,升级路径不同
- 尽可能降低潜在的坑,不会运维不要硬上
P.S.
对小团队的产品开发,实现优先于运行效率,快速实现就是最大的节约成本。
【架构】需求决定架构 —— 萌Mark的架构升级之路相关推荐
- 世界上本没有架构,建设的需求多了便有了架构
世界上本没有架构,建设的需求多了便有了架构 作者:刘海锋 , 编辑:林师授 , 51CTO技术栈 整编 本文选自<CTO说>,你不能不看的CTO养成记. 架构这个词,源于建筑学,它基本的架 ...
- 酒店预订、酒店检索、酒店详情、房间预订、订单管理、会员、优惠券、客房预订、高保真原型、酒店app、需求清单、组件规范、架构图、订单通知、服务通知、收藏、客服、搜索、导航、评价、支付、充值、登录、浏览
酒店预订.酒店检索.酒店详情.房间预订.订单管理.会员.优惠券.客房预订.高保真原型.酒店app.需求清单.组件规范.架构图.订单通知.服务通知.收藏.客服.搜索.导航.评价.支付.充值.登录.浏览 ...
- 什么是软件架构中的ASRs(架构需求文档)?
作者:非妃是公主 专栏:<软件工程> 个性签:顺境不惰,逆境不馁,以心制境,万事可成.--曾国藩 专栏地址 软件工程专栏地址 专栏系列文章 软件工程复习01:软件工程概述 软件工程复习02 ...
- 企业架构研究总结(39)——TOGAF架构能力框架之架构委员会和架构合规性
3. 架构委员会 正如前面所说,一个用来对架构治理策略的实现进行监督的跨组织的架构委员会是架构治理策略成功的主要要素之一.架构委员会应该能够代表所有主要干系人的需求,并且通常还需要对整个架构的审查及维 ...
- 架构师升级之路,你掌握了吗?
之前有网友说想看架构师升级的文章,所以写了本文.先给本文中架构师做个定义:第一,能力上达到(似乎是废话),第二,公司肯承认,不仅能给架构师的头衔,更能按架构师的标准发工资. 对于程序员来说,架构师是职 ...
- 【细品架构8/100】好代码是架构的根基
2019独角兽企业重金招聘Python工程师标准>>> 本文主要是继续研读了资深架构师王概凯Kevin执笔的<架构漫谈>系列的<架构漫谈(八):从架构的角度看如何写 ...
- 朱晔的互联网架构实践心得S1E2:屡试不爽的架构三马车
朱晔的互联网架构实践心得S1E2:屡试不爽的架构三马车 [下载本文PDF进行阅读] 这里所说的三架马车是指微服务.消息队列和定时任务.如下图所示,这里是一个三驾马车共同驱动的一个立体的互联网项目的架构 ...
- 首届中国IT架构大师高峰论坛(十年架构之路汇成一句话!)
原文链接 首届中国IT架构大师高峰论坛--一言以蔽之,十年架构之路汇成一句话 一句话概括十年技术精华,你想了解吗? 一起来聊聊吧! 拒接注水,不要修饰 干货中的精品,精品中的机密,50名一线专家将自己 ...
- JAVA架构师面试题and如何成为架构师
基础题目 Java线程的状态 进程和线程的区别,进程间如何通讯,线程间如何通讯 HashMap的数据结构是什么?如何实现的.和HashTable,ConcurrentHashMap的区别 Cookie ...
最新文章
- MapReduce实现倒排索引(类似协同过滤)
- 计算机应用网站设计,《计算机应用基础》课程网站的设计与实现
- 详解在visual studio中使用git版本系统(图文)
- leetcode 滑动窗口小结 (二)
- Python可视化神器之pyecharts
- ajax中return取不到值的问题
- 数据类型转换(面试题)
- SQL Server 通过备份文件初始化复制
- Android DatePicker 时间选择器
- Varnish的基本应用详解
- 生活随记 - NBA总决赛第6场 球迷有感
- Directshow的视频捕捉
- logistics回归分析——二元逻辑回归
- 笔试题:输入0123456789对应输出“一二三四五六七八九”
- 生成缩略图 java_java实现生成缩略图
- SAP AFS 升级后由于RETURN PO带来的ARUN程序问题
- 快学Big Data -- Hadoop(十三)
- 8 精通matlab入门求微分方程组的通解特解数值解看这篇文章就够了
- java中任何变量都可以被赋值为null,java中当给一个对象赋值为null时发生了什么...
- 一、mysql数据库基本框架