记得在淘宝的三面时面试官提到了SaaS,我当时是说不了解。回到长沙后整理了一些要去了解和学习的东西。还好在图书馆摸索到了《SaaS架构设计》一书。都是阿里巴巴架构师或专家所著,里面把SaaS的架构设计,发展变化以很形象生动的文字表现出来,而且还分析了业界几个知名的应用,给了我很多启发和思考。觉得书看过了基本也就留下些印象,不用就会难以真正消化,但是对于SaaS,应用暂时还是不可能,只能说是总结些东西和大家一起分享吧。
SaaS(Software as a Service),逐渐也开始发展成为现在大家常谈的PaaS(Platform as a Service),HaaS(Hardware as a Service)。这本书的层次循序渐进,从一个简单的创业故事讲起,一个CRM软件产品,最开始是卖给一个客户的。其实也像是大学中我们做的那些小项目。客户多了,需求变化多了,但所要的服务和做能支付的水平也是不同,就要考虑软件产品的可配置性。书中提到了四种,即:数据可配置,功能可配置,界面可配置,流程可配置。这些也是建立在高性能的多租户架构之上的。说到性能的提高,一般想到的就是数据库,引用曾等方面的优化。但是小项目的优化基本上都是代码级的,顶多也是写几个存储过程,建立好的索引。看书的时候想到了去年暑假蓝杰的JTwitter项目。因为面试和笔试的时候都有涉及到Twitter的问题,比如一个人有100W个follower,那么他发一条消息,如何能确保所有的follwer能及时收到消息。这就不只是代码级能解决的问题了。分布式,性能,安全,高并发等都是需要考虑在内的。这本书中也引用了阿里旺旺的一些设计思想,给我提供了解决那道题的一个思路。旺旺用的是改进的多层分布式Cache。其实做IM最重要的就是“Instance”。昨天看到一条微博觉得挺有意思“刚才看到李冰冰发了条信息,而且是零评论,与是想抢个沙发板凳啥的。可是等我写好内容,一刷新,已经七十多条回复了,在刷一下一百多了。”也让我想起了在三一集团IT总部实习的时候,彭哥说现在工况回传数据延时很严重,当时我用Flex搭建了一个通过AMF轮询协议的应用,轮询的是数据库,但明显不行,数据量越大就肯定撑不住。然后用rtmp(实时消息传输协议,基于http)跟踪另外一个应用的数据变化,实时性是跟上去了,但整个应用的速度并不快。我想三一还不像淘宝会在线数目那么庞大,但客户都是买上百万设备的,一有点故障真的是会让人郁闷到底的。
回到正题,书中还介绍了分布式计算。其中还对比了几种架构的优势劣势,当然也提出了对应情形的最佳实践。后面的部分讨论了OpenAPI,开放平台,云计算等互联网发展趋势等话题。在开放平台方面,从web2.0概念的提出以及SNS应用的飞速发展,很多互联网巨头都在挖掘这篇商业蓝海。Google当然是做得很漂亮的,目前淘宝也正在不断开源。以后是一个互利共赢的互联网年代,是一个用户体验为价值主方向的时代。我们不仅要享受这些变化,也要了解和创造。学海无涯,任重道远。
分享到:
相关推荐
SAAS架构设计模式SAAS架构设计模式SAAS架构设计模式
SaaS架构设计SaaS架构设计SaaS架构设计SaaS架构设计SaaS架构设计
之前网上下的,没有标签或标签不对,于是我自己重新整理了一下目录书签。
SAAS架构设计教程,包含了多个文件和视频还有源码,例如互联网时代的软件革命-SaaS架构设计、SaaS参考架构和关键技术、Saas架构设计
《联网时代的软件革命-SaaS架构设计》 software as a service
Saas平台架构设计
SAAS架构设计学习笔记
干货分享,强烈推荐!基于多租户的Saas架构和权限系统设计。
软件即服务(Saas)是随着互联网技术的发展和应用软件的成熟,而在21世纪开始兴起的一种完全创新的软件应用模式。它与“on-demand software”(按需软件),the application service provider(ASP,应用服务提供商...
SaaS 架构设计,提供参考,朋友那边拿来的,内容还可以。1分仅为分享。
SaaS架构设计.zip
SaaS 架构设计详解.docxSaaS 架构设计详解.docx
微服务saas架构设计指南,总结了微服务常见技术问题,解决方案
详细介绍什么是云计算、什么是SaaS,SaaS的基本模型,SaaS的基本构架以及多租户的介绍。有利于初学者学习。
国内第一本完整介绍SaaS应用设计的书籍。. 具有丰富SaaS实践经验的一线架构师的经验总结。.. 用创业故事贯穿全书,以一种活泼的风格来描述SaaS应用逐步成熟的过程。
SAAS架构和关键技术,内容很不错,包含案例。
SaaS 架构设计详解 (2).docxSaaS 架构设计详解 (2).docx
微软SaaS架构和战略 微软SaaS架构和战略是微软公司的软件即服务(SaaS)解决方案的核心组件。该架构旨在帮助企业快速部署、管理和维护软件应用程序,并提供灵活的云计算环境。 在微软SaaS架构中,软件应用程序被...