开发一个SAAS系统如何搭建技术架构?

[复制链接]

下载APP可以快速和圈友联系

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
开辟一个SAAS系统若何搭建技术架构?
温馨提示:
好向圈www.kuaixunai.com是一个专业经验分享交流平台,你可以在这里发布专业经验,也可以发布需求与服务,禁止带推广链接、联系方式、违法词等,违规将封禁账号。 下载好向圈客户端可以随时随地交流经验,也可以和圈友发起聊天成为好友哦!
回复

使用道具 举报

已有(4)人评论

跳转到指定楼层
确实是银太故 发表于 2020-4-24 19:56:05
我目前就在搞saas 软件,说实话和传统软件技术架构区别不大,整体上需要实现多租户,可配置,7*24高可用这个目标!数据架构层面要实现数据隔离,可以具体百度下隔离方式!系统分层方面主要包括租户域,租户管理域,运营中心管理域这三个,另外其他就是做好统一权限认证中心,统一资源管理中心就行啦。其他就是传统的微服务架构,网关,注册中心,配置中心,我是搞Java的,建议使用springcloud 技术栈,前后端分离开发!
用手机编辑的,其实如果讲的话,真的可以从整体到局部涉及很多东西,但是大致方向都是以上所诉!好的saas 软件真的在于产品设计,市场定位!技术只是产品的转诉!有兴趣的朋友可以联系我。
回复

使用道具 举报

小太阳925 发表于 2020-4-24 20:02:18
Saas系统最近几年都很火。很多创业公司都在尝试创建企业级别的应用 cRM, HR,销售, Desk Saas系统。很多Saas创业公司也拿了大额风投。毕竟Saas相对传统软件的优势非常明显。   
最近一年,有幸架构一个Crm saas 系统,上线了几个月来,各方面都比满意。整个系统创建过程,踩了很多坑,收获也比较多。总结一下Saas系统架构一些特点:

1.分层设计saas系统分层大概是:


开发一个SAAS系统如何搭建技术架构?w1.jpg


租户识别>应用层>数据访问层>缓存层>数据库

业务代码都是写在应用层。
租户识别可以用spring拦截器实现,然后使用ThreadLocal传递给后端
数据库和缓存层对应用层应该是透明的。程序员在写代码的时候,只关心业务逻辑,不应该担心多租户的问题。

2.数据隔离要透明saas系统说起来很简单,任何系统似乎加个tenant_id(租户id)就变成saas系统了。比如原来的用户登录是:
select username,password from users where email='abc@qq.com'
回复

使用道具 举报

东尼伦 发表于 2020-4-24 20:04:57
我们衡量一个SaaS系统的好坏通常通过SaaS成熟度模型来进行评价:
1、SaaS成熟度模型
• Level1:定制开发的SaaS应用
– 多次开发模式
• Level2:可配置的多租户SaaS应用
– 一次开发多次部署模式
• Level3:单实例支持多租户的SaaS应用架构
– 一次开发一次部署模式
• Level4:支持可伸缩性的多租户SaaS应用架构

开发一个SAAS系统如何搭建技术架构?w1.jpg


如果要搭建满足Level4的SAAS系统,除了要满足可配置和多租户的需求之外,关键的技术架构还是分布式架构:
目前常用的分布式架构主要有SOA和微服务,而SOA太重,推荐使用微服务来构建SAAS应用,有关微服务的介绍请参考我的一篇文章:《研发三要素之术篇-微服务》:https://www.toutiao.com/i6675844031181750788/
回复

使用道具 举报

饮酒的鱼 发表于 2020-4-24 20:08:22
首先还是要设计好业务框架,然后再分析saas系统的用户群体,并发数量,再考虑数据如何区隔,安全性保证,网络出现问题如何解决,再决定采用什么数据库和技术架构,扩散性要好,saas系统不是生来就有庞大的用户数,是一个渐进到爆发的过程。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本圈子积分规则