精华内容
下载资源
问答
  • Saas系统架构的思考,多租户Saas架构设计分析

    万次阅读 多人点赞 2019-06-14 13:39:35
    很多创业公司都在尝试创建企业级别的应用cRM, HR,销售, Desk Saas系统。很多Saas创业公司也拿了大额风投。毕竟Saas相对传统软件的优势非常明显。 最近一年,有幸架构一个Crm saas 系统,上线了几个月来,各方面都...

            ToB Saas系统最近几年都很火。很多创业公司都在尝试创建企业级别的应用 cRM, HR,销售, Desk Saas系统。很多Saas创业公司也拿了大额风投。毕竟Saas相对传统软件的优势非常明显。   

    最近一年,有幸架构一个Crm saas 系统,上线了几个月来,各方面都比满意。整个系统创建过程,踩了很多坑,收获也比较多。总结一下Saas系统架构一些特点:

    Saas系统分级

    SaaS系统架构成熟度模型的5个级别——从“混乱”到“乌托邦“

    第0级(混乱):每次新增一个客户,都会新增软件的一个实例。
    第1级(受控的混乱):所有客户都运行在软件的同一个版本上,而且任何的定制化都通过修改配置来实现。
    第2级(多租户[multi-tenant]、高层建筑[Highrise]):所有的客户都已经可以在软件的同一个版本上运行了,而且他们都在同一个“实例”上运行。
    第3级(多租户, 扩建[Build-Out]):此时你已经拥有了多租户、单一版本的软件模型。不过你还是可以通过硬件扩展(scale-out)的方式来进行扩充。
    第4级(乌托邦):如同第3级,除非你可以找出有效的方式,以在不同的“实例”上运行不同版本的软件

    应用程序必须支持多租户:

        多租户可以分为几个不同的类别(如列表下方的图所示):
        1.1,云中的简单虚拟化,其中只对硬件进行共享。
        1.2,共享应用程序,对每个租户使用不同的数据库。
        1.3,共享应用程序和数据库(效率最高,真正的多租户)。

    1.分层设计

    Saas系统分层大概是:

    Saas系统分层
    Saas系统分层

     

    Saas系统分层:租户识别>应用层>数据访问层>缓存层>数据库

    业务代码都是写在应用层。

    租户识别可以用spring拦截器实现,然后使用ThreadLocal传递给后端

    数据库和缓存层对应用层应该是透明的。程序员在写代码的时候,只关心业务逻辑,不应该担心多租户的问题。

     

    2.数据隔离要透明

    saas系统说起来很简单,任何系统似乎加个tenant_id(租户id)就变成saas系统了。比如原来的用户登录是:

    select username,password from users where email='abc@qq.com'

    改成

    select username,password from users where email='abc@qq.com' and tenant_id =1;

    对于复杂业务的saas系统,这样做法非常危险,而且开发效率很低。你想想如果那个程序员写sql时候忘了加 “ and tenant_id =1” . 结果不堪设想。

    比较好做法是在数据库访问层对SQL进行改写。

    TenantContext.exec("select username,password from users where email='abc@qq.com' ");

    在连接池根据TenatnContext改写Sql. 

    这样做好处是,一来程序猿最多把系统搞down了,也不至于信息串了互相泄露。二来将来做分表分库也很方便,上层应用不用修改。

    3. 租户识别方案

    比较好做法是通过url识别租户。系统是给租户生成一个随机的三级域名,比如 abc.crm.baidu.com.   如果客户想使用自己的域名,可以在cname到我们生成的三级域名,并在管理系统里面做绑定。

    这样一个租户可以有两个域名,访问saas,一个随机生成的三级域名,另外一个租户自己的域名.代码里面可以根据过来的域名,判断是那个租户然后初始化TenantContext.

    如果不想通过域名来做,也可以通过登录名来判断。这种方式要涉及到租户切换问题。

    4. 智能DNS

    以后补充。

    5. 租户管理系统(计费,订购,定制,充值,催缴)

    Saas系统是必须考虑计费系统和租户控制系统。这个系统需要都是独立设计。比如那个租户购买了那些模块,一个月多少钱。租户可以创建最多的用户数。计费到期邮件提醒等功能。

    计费方式一般有两种,周期性计费,类似月租方案,和使用量计费,用多少付多少。 周期性计费比较简单。也可以两者结合起来。

    6. 定制化开发

    SAAS的优势在于一套系统多人使用,似乎和定制化开发有冲突。比如A客户想要A功能,B客户不想要。但定制化开发是无法避免的,比如CRM系统这样复杂的系统,不可能一套系统满足所有公司的要求。定制化开发尽可能分系统,分模块去做。然后通过控制台中配置不同租户订购不同模块,那些模块可以在前端页面上显示。不同的子系统需要分开部署。前端可通过nginx根据url分发,比如 abc.crm.baidu.com/bi/xxx/xx这个地址,就分发到BI子系统。不要尝试OSGI去搞模块化,这个是个大坑。

    还有开发和产品,现有需求一定要分析清楚,不要一上线发现后患无穷。新功能尽量做的独立可以配置。

    7. 灰度升级

    SAAS付费企业客户对系统问题都特别敏感。 为了减少升级可能出现问题的影响范围,一般都采用灰度升级策略。如果使用了url来区分不同租户,灰度升级配置就会很方便。可以配置nginx 来根据域名做分发,比如租户A(aaa.com)到实例1(版本1.0),租户B(bbb.com)到实例2(版本). 当需要域名配置非常多的时候,nginx配置文档会乱。这块时候可以考虑使用nignx_lua来写一些扩展模块。

    8. 容量估计

     

    9. Saas平台架构分层分析

    Saas平台架构需要完成从用户申请链接saas到用户对自己购买的功能模块的应用整个过程,用户用起saas看似简单快捷,但这个过程却需要saas平台架构默默完成的非常复杂的处理过程。通过对saas平台架构的了解,可以清晰的分化数据的处理过程,让用户也可以明白saas平台架构处理数据的优势。下面介绍:saas平台架构分为哪几部分。

     

    saas平台架构之呈现层:

    saas平台架构的呈现层可以使用的客户端可能都浏览器或本地客户端。如果是浏览器则需要Web界面技术、交互技术等技术(如:HTMl5技术、CSS3技术、Ajax技术等)的支持,如果是软件客户端则需要远程桌面技术、软件交互技术等技术支持。

    saas平台架构之调度层:

    saas平台架构的调度层体现分布式系统的特性之一。调度层首先负责识别并通过AAA认证每个用户请求,然后根据业务处理器的负载、业务特征进行合理的调度。通过应用这样的架构SaaS平台可以横向扩展。此外在存储、缓存等方面为了满足平台的横向扩展需求,调度层也必须具有良好的可扩展性。

    saas平台架构之业务层:

    saas平台架构的业务层负责接收调度层转发过来的请求,而且还要通过对接受到的请求执行真正的业务逻辑。一般来说业务逻辑的执行使用一台服务器就够了。因此业务层实际是由一排对等的服务器组成的,每台服务器都执行相同的业务逻辑。

    saas平台架构之数据层:

    saas平台架构的数据库集群用于处理存储关系性很强并且对事务性要求很高的业务数据,这类数据目前还要用传统的数据库集群技术来解决,saas平台架构的数据库集群主要是根据业务特征制定数据拆分方案。同时分布式数据库用于存放海量但关系性不强的数据(如:用户的操作日志等)。

    以上是对“Saas系统架构的思考,多租户Saas架构设计分析”的介绍,从saas平台架构处理数据可以看出saas平台的应用有很强的优势,如用户使用saas非常方便简单只要浏览器或本地客户端接口,saas平台处理数据要经过层层认证saas产品安全可靠,saas平台优化处理数据提高saas性能。

    多租户Saas系统架构还应该满足以下需求:

    编号需求描述
    1软件授权云平台付费授权机制,可按时间、功能、数量等进行付费授权
    2组织入驻允许组织主动申请加入平台
    3实名认证个人实名认证、组织实名认证
    4资质审核个人和组织的资质审核,如对获得的证书或荣誉进行审核
    5组织绑定个人账户绑定组织,与组织建立关联关系
    6组织解绑个人账户与组织进行解绑
    7账户注销个人账户注销,并销毁所有个人资料和档案
    8统一登录即 SSO
    9统一注册提供统一的用户注册页面

    部分资料整理自:

    http://www.ruanally.com
    ​​​​​​​http://qk.gam7.com
    ​​​​​​​​​​​​​​http://www.ruanbe.com

     

    展开全文
  • SaaS系统开发网站模板

    2021-04-01 18:56:01
    SaaS系统开发网站模板 模板下载
  • 随着互联网技术的发展让很多应用软件相对成熟,仓库管理saas系统的出现让企业能够更加方便方便管理业务,那开发仓库管理的saas系统的功能模块有哪些呢?什么是仓库管理saas系统仓库管理saas系统是一种通过互联网设计...

    随着互联网技术的发展让很多应用软件相对成熟,仓库管理saas系统的出现让企业能够更加方便方便管理业务,那开发仓库管理的saas系统的功能模块有哪些呢?

    什么是仓库管理saas系统

    仓库管理saas系统是一种通过互联网设计的系统软件模式,系统平台将应用软件统一储存在服务器上,企业可以根据自己需求情况,通过互联网向系统平台定购所需的应用软件服务,按定购的系统功能和时间长短向企业支付费用。

    c85b9773688489450386441b9f2a36ae.png

    借用仓库管理saas系统来管理企业经营活动,是不用自行对系统进行维护,提供系统的平台会全权管理和维护软件,系统平台在向企业提供互联网应用的同时,也会提供系统软件的离线操作和本地数据存储。

    让企业可以随时随地使用其购买的系统软件和服务,仓库管理saas系统对于许多小型企业来说,这是一种借用先进技术更好管理事业的*好途径,让企业不用在构建、维护系统、应用程序方面自行搭建更新。

    75e4596ce45b81952a0e867c5c4cc9b5.png

    传统仓库管理系统在使用方式上受空间和地点的限制,必须在固定的设备上使用,而仓库管理saas系统可以随时在可接入网络的地方与时间使用,还有相对于传统软件而言仓库管理saas系统在软件的升级、数据安全传输等各个方面都有很大的优势。

    仓库管理saas系统的功能模块有哪些

    1、实现对仓库商品基本信息的管理,可以对信息入库、在库信息查询、统计、调拨等方面进行管理。

    2、 稳定性:使用仓库管理saas系统是绝对不会出现资源丢失的情况,也不能随意由管理员除外的其他人随意篡改。

    3、打印信息:会将仓库商品信息情况以表单形式打印出来。

    2280c1c6a25b92c8375af325a3e56cdb.png

    4、展示数据流程:是以图表的形式显示出*基本的数据流程以及处理流程,并加以详细叙述。

    5、基本功能:仓库管理saas系统是具有增添、改动、删除数据的功能。

    仓库管理saas系统是一款安全、保密性高的系统软件,还有在面对意外的断电、电脑死机、系统崩溃等问题时,会有及时又有效的保护措施以确保数据不被丢失。

    展开全文
  • 什么是SaaS系统

    万次阅读 2019-03-12 11:01:56
    什么是SaaS系统 对于SaaS可能听得很多,并且网上百科可以查到很多,但是要么是文绉绉没有温度的文字,理解上需要进一步自己加工,下面是我的理解,可能会存在偏颇,但是是用自己语言,自己的想法表达出来的,欢迎...

    什么是SaaS系统

    对于SaaS可能听得很多,并且网上百科可以查到很多,但是要么是文绉绉没有温度的文字,理解上需要进一步自己加工,下面是我的理解,可能会存在偏颇,但是是用自己语言,自己的想法表达出来的,欢迎讨论

    什么是SaaS系统之我的理解

    举个例子,我觉得如下就是SaaS服务
    某企业B想要用一套OA系统,提供OA系统服务的公司S开一个账号给B,不同的服务试用者(企业)用不同的帐号,数据互相隔离,由S集中式得维护或升级OA系统,B只是负责享受服务,所有的数据都保存在服务提供企业S中,区别于传统的"购买软件",现在变成了"购买软件服务"

    思考:其实很像面向C端的服务,例如QQ空间,但区别可能是SaaS一般面向企业,并且不可以自由注册,并且一般要收费。

    另外一点SaaS真的很适合于那种没能力或不想买整套软件的,只是想开支少点买个服务用用即可的企业。

    有些企业对于数据的隐私有控制,不太愿意数据在对方的企业中,这时SaaS软件即可部署到企业的服务器中。

    附录

    百度百科

    SaaS是Software-as-a-Service(软件即服务)的简称,随着互联网技术的发展和应用软件的成熟, 在21世纪开始兴起的一种完全创新的软件应用模式。它是一种通过Internet提供软件的模式,厂商将应用软件统一部署在自己的服务器上,客户可以根据自己实际需求,通过互联网向厂商定购所需的应用软件服务,按定购的服务多少和时间长短向厂商支付费用,并通过互联网获得厂商提供的服务。用户不用再购买软件,而改用向提供商租用基于Web的软件,来管理企业经营活动,且无需对软件进行维护,服务提供商会全权管理和维护软件,软件厂商在向客户提供互联网应用的同时,也提供软件的离线操作和本地数据存储,让用户随时随地都可以使用其定购的软件和服务。对于许多小型企业来说,SaaS是采用先进技术的最好途径,它消除了企业购买、构建和维护基础设施和应用程序的需要。

    SaaS 应用软件的价格通常为“全包”费用,囊括了通常的应用软件许可证费、软件维护费以及技术支持费,将其统一为每个用户的月度租用费。 对于广大中小型企业来说,SaaS是采用先进技术实施信息化的最好途径。但SaaS绝不仅仅适用于中小型企业,所有规模的企业都可以从SaaS中获利。

    展开全文
  • php saas,saas系统是什么

    2021-04-13 15:24:31
    saas系统是运营saas软件的平台,而saas是“Software-as-a-Service”的缩写名称,意思为软件即服务,即通过网络提供软件服务,其saas应用软件有免费、付费和增值三种模式。本文操作环境:Windows7系统,Dell G3电脑。...

    saas系统是运营saas软件的平台,而saas是“Software-as-a-Service”的缩写名称,意思为软件即服务,即通过网络提供软件服务,其saas应用软件有免费、付费和增值三种模式。

    c0a8591d608bec3b29a21f98b20615e4.png

    本文操作环境:Windows7系统,Dell G3电脑。

    SaaS平台是运营saas软件的平台。SaaS提供商为企业搭建信息化所需要的所有网络基础设施及软件、硬件运作平台,并负责所有前期的实施、后期的维护等一系列服务,企业无需购买软硬件、建设机房、招聘IT人员,即可通过互联网使用信息系统。SaaS 是一种软件布局模型,其应用专为网络交付而设计,便于用户通过互联网托管、部署及接入。

    SaaS,是Software-as-a-Service的缩写名称,意思为软件即服务,即通过网络提供软件服务。

    SaaS平台供应商将应用软件统一部署在自己的服务器上,客户可以根据工作实际需求,通过互联网向厂商定购所需的应用软件服务,按定购的服务多少和时间长短向厂商支付费用,并通过互联网获得Saas平台供应商提供的服务。

    SaaS 应用软件有免费、付费和增值三种模式。付费通常为“全包”费用,囊括了通常的应用软件许可证费、软件维护费以及技术支持费,将其统一为每个用户的月度租用费。

    SaaS不仅适用于中小型企业,所有规模企业都可以从SaaS中获利。

    特性

    互联网特性

    一方面,SaaS服务通过互联网浏览器或WebServices/Web2.0程序连接的形式为用户提供服务,使得SaaS应用具备了典型互联网技术特点;另一方面,由于SaaS极大地缩短了用户与SaaS提供商之间的时空距离,从而使得SaaS服务的营销、交付与传统软件相比有着很大的不同。

    比如,SaaS软件行业知名产品NetSuite所提供的在线ERP、在线CRM等模块产品都是基于网络的,这样的优势在于不必投入任何硬件费用,也不用请专业的系统维护人员就能上网,有浏览器就可以进行ERP、CRM系统的使用。快速的实施、便捷的使用、低廉的价格都有赖于SaaS产品的互联网特性。

    多重租赁(Multi-tenancy)特性

    SaaS服务通常基于一套标准软件系统为成百上千的不同客户(又称为租户)提供服务。这要求SaaS服务能够支持不同租户之间数据和配置的隔离,从而保证每个租户数据的安全与隐私,以及用户对诸如界面、业务逻辑、数据结构等的个性化需求。由于SaaS同时支持多个租户,每个租户又有很多用户,这对支撑软件的基础设施平台的性能、稳定性和扩展性提出很大挑战。SaaS作为一种基于互联网的软件交付模式,优化软件大规模应用后的性能和运营成本是架构师的核心任务。

    服务(Service)特性

    SaaS使软件以互联网为载体的服务形式被客户使用,所以很多服务合约的签订、服务使用的计量、在线服务质量的保证和服务费用的收取等问题都必须加以考虑。而这些问题通常是传统软件没有考虑到的。

    可扩展(Scalable)特性

    可扩展性意味着最大限度地提高系统的并发性,更有效地使用系统资源。比如应用:优化资源锁的持久性,使用无状态的进程,使用资源池来共享线和数据库连接等关键资源,缓存参考数据,为大型数据库分区。

    推荐:《编程视频》

    展开全文
  • SaaS(1)---什么是SaaS系统.pdf
  • SaaS 系列介绍之十三 SaaS 系统体系架构 系统体系架构设计 软件开发中系统体系架构决定了一个系统稳定性健壮性可扩展性兼容性和可用性它是系统的灵魂体系架构是架构师所关注的核心良好的体系架构是系统成功的开端...
  • saas系统架构经验总结

    千次阅读 2017-02-07 09:36:21
    2B Saas系统最近几年都很火。很多创业公司都在尝试创建企业级别的应用 cRM, HR,销售, Desk Saas系统。很多Saas创业公司也拿了大额风投。毕竟Saas相对传统软件的优势非常明显。 最近一年,有幸架构一个Crm saas ...
  • saas系统设计模式和架构资料合集,一些实用的saas入门资料
  • 要想分析两者的区别,首先得了解清楚HRSaaS系统是什么,ERP系统是什么。HRSaaS是Human Resource Software-as-a-Service的缩写名称,意思为人力资源软件即服务,即通过网络提供软件服务。ERP系统是企业资源计划 ...
  • 首先从体系的定义中抽取出体系独有的特征概念对SaaS系统进行描述,并根据体系特征间的依赖关系建立了SaaS系统评估框架,最后以SaaS系统CloudCRM为例,并利用文中的方法进行评估,验证了方法的可行性和有效性。
  • 面向中小企业的商业智能SAAS系统构建.pdf
  • 一种基于预测控制的SaaS 系统自适应方法
  • 基于SaaS系统的安全问题的研究,牛文,凌咏红,SaaS模式在国外得到了广泛的应用,而在国内研究的比较少,尤其是SaaS安全方面的问题。根据这个情况,本文谈论了SaaS最新的成就,在研
  • 多租户 Saas 系统架构的设计思路

    万次阅读 2019-09-06 09:45:22
    ToB Saas 系统最近几年都很火。很多创业公司都在尝试创建企业级别的应用 cRM, HR,销售, Desk Saas系统。很多Saas创业公司也拿了大额风投。毕竟Sa...
  • 如何提高教育saas系统的用户体验?.pdf
  • 那很多人会有疑问,什么是SaaS系统呢?简单点来讲就是,SaaS,Software as aservice,软件即服务。选择易景通SaaS系统有什么好处呢?1、推动景区快速实现信息化SaaS供应商提供的软件系统不需要购买硬件,只需要简单...
  • SAAS系统的数据库设计方案

    千次阅读 2020-04-07 22:19:27
    最近公司准备开发一套SAAS系统,具体需求是SAAS系统准备卖给上百个可能有上下级关系的公司,这套SAAS系统会有N套服务应用,每套服务都做成一个分布式微服务,采取单点登录的方式,如果一个公司购买了SAAS系统的N套...
  • 随着各行各业内卷日益严重,企业...这类文章的核心无非鼓吹SaaS系统的高效率或大篇幅的告诉大家做SaaS系统要注重产品、注重服务、注重数据等等。看起来不无道理,但仔细想想,又觉得又是偏驳:好像做非SaaS系统就不需要
  • 外卖优惠券返利分销系统外卖返利系统公众号小程序源码saas系统 外卖优惠券返利分销系统外卖返利系统公众号小程序源码saas系统 我们都知道,目前两家巨头饿了么和美团点外卖都可以获得返现,其中饿了么是返利6%,美团...
  • 众所周知,不管多简单的教育SaaS软件系统,用户在使用过程中都会遇到各种各样的问题,如何在最短时间内帮助用户解决问题,是目前很多教育SaaS系统都存在的问题。
  • 不过餐饮saas系统就没有缺点吗?也不尽然。本文小编将给大家介绍下餐饮saas系统的优缺点以及如何提高saas用户的满意度。 餐饮SaaS系统对供应商带来的优势 1、更稳定的经营模式。 传统餐饮SaaS主要的精力是在...
  • 2020年受疫情的影响,HR SaaS行业得到了充分的发展,业内众多品牌的业务量在去年都有一个爆发式的增长。...(1)企业层面:HR SaaS系统厂商解决了企业一次性付费的资金压力,以及协助企业加速数字化转型,...
  • 一个开源电商SaaS系统,可以既作为SAAS系统多租户使用,又可以当作B2C独立站;通用多种行业,即便是仅仅做普通企业官网都可以。 支持分销功能。 使用Java Springboot开发,Api文档、数据库文档齐全。 基于本项目做...
  • 2B SaaS系统最近几年都很火。很多创业公司都在尝试创建企业级别的应用 cRM, HR,销售, Desk SaaS系统。很多SaaS创业公司也拿了大额风投。毕竟SaaS相对传统软件的优势非常明显。 最近一年,有幸架构一个Crm SaaS 系统...
  • ehr人力资源管理系统和HRsaas系统有什么区别呢?首先我们得了解清楚ehr人力资源管理系统是什么,HRsaas系统是什么? ehr系统是什么?所谓ehr,即电子人力资源管理,是基于先进的信息和互联网技术的全新人力资源...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 51,027
精华内容 20,410
关键字:

saas系统