来来来,大牛们过来谈谈SaaS

江南小鱼 2017-11-13 08:24:19
加精
SaaS,软件即服务,大牛们过来聊聊~

多个租户+数据通过不同的数据库用户物理隔离+负载均衡
抛砖引玉,大伙儿过来聊聊,来者有分
...全文
6909 52 点赞 打赏 收藏 举报
写回复
52 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
WEIIT扛巴子 2021-01-08
微信saas小程序前后端开源项目 下载地址 https://gitee.com/wei-it/weiit-saas
  • 打赏
  • 举报
回复
liuxiaoddd 2020-01-02
引用 4 楼 江南小鱼 的回复:
[quote=引用 2 楼 caozhy 的回复:] 这就好比盒装的软件,只有那种大众需求并且价格低廉的软件才适合这种模式。比如办公软件、工具软件、游戏软件。 稍微复杂一点的行业软件,都需要定制开发,需要服务,需要维护。 类似的,在线的,租用的软件也只是有限的适合一些场景。对于专业的软件,这其实没有多大实际意义。
怎样有效区分当前请求的租户,有好的思路么?不想用SESSION[/quote] 通过用户的名称的后缀,需要提前制定好规则。
  • 打赏
  • 举报
回复
coyc_csdn 2018-05-21
那啥是SaaS?
  • 打赏
  • 举报
回复
江南小鱼 2018-01-16
引用 49 楼 wanghui0380 的回复:
我们想问的是,这个跟SaaS有关系么?? 20年前,马云玩的阿里巴巴网站,就可以一个人后台,一个人一个独立网站。好吧,难怪马大大发财了,“超前”了20年就在用SaaS,不发财就奇怪了
那啥是SaaS?
  • 打赏
  • 举报
回复
wanghui0380 2018-01-16
引用 50 楼 lovelj2012 的回复:
[quote=引用 49 楼 wanghui0380 的回复:] 我们想问的是,这个跟SaaS有关系么?? 20年前,马云玩的阿里巴巴网站,就可以一个人后台,一个人一个独立网站。好吧,难怪马大大发财了,“超前”了20年就在用SaaS,不发财就奇怪了
那啥是SaaS?[/quote] 正好,在你帖子发出后,有人看了这个帖子后也有疑问,我们在那个帖子回复了,你可以看看 http://bbs.csdn.net/topics/392292755
  • 打赏
  • 举报
回复
wanghui0380 2017-12-21
我们想问的是,这个跟SaaS有关系么?? 20年前,马云玩的阿里巴巴网站,就可以一个人后台,一个人一个独立网站。好吧,难怪马大大发财了,“超前”了20年就在用SaaS,不发财就奇怪了
  • 打赏
  • 举报
回复
h595636059 2017-12-21
我做客户端,通过配置区分不同租户,配置里有url,各租户下用户是通过token完成登录的,web有权限限制
  • 打赏
  • 举报
回复
业务和技术人员总是有一些不同的套路的。其实我们在技术论坛里说的用户体验,主要还是指实际操作用户的真实的、长期的体验,而非销售人员口中说的那种概念。
  • 打赏
  • 举报
回复
如果你再碰到“那种客户”,你可以装得大梦初醒一样说“啊,原来是这个意思啊,想不到我们早就玩儿剩下的东西包装出这种名词儿来了”,你看你们公司自己的领导怎么说?! 自己公司的领导如果只是从忽悠人的角度来考虑这些概念,那么他应该自己去学习这些名词儿,而不是让你们技术人员学习。
  • 打赏
  • 举报
回复
引用 41 楼 hemowolf 的回复:
咋说捏 当年的我也是没怎么关注什么 SaaS、Iass 之类的概念,可以说基本上不知道这些说法 但是前两年遇到一个客户,不知道他们从哪里听到这些时髦的词,我们介绍完自己的系统之后,非得把我们的系统和他所了解的概念里套,显得他很专业,如果我们不说这些词儿,我们就不专业、就是外行;我们公司领导同去的,他不是做IT的,也批了我们一顿,说这么流行的东西,我们专业的居然也不懂!
流行的东西当然应该懂啊!我说的“用户”是指操作者,不是指那些采购人员、技术人员。这样说的目的是为了更好地让 Saas 建立在 Iass 之上并且提供用户注册即开通服务的便利性,而不是为了你们不知道 Saas 找借口的啊!
  • 打赏
  • 举报
回复
小灰狼 2017-12-11
引用 15 楼 sp1234 的回复:
其实用户并不关心什么 Saas 还是 Iass 之类的概念,他只是知道你弄了一个网站,可以用不同的账号密码登录,登录进去看到的就只是自己的信息。因此这个概念更是10年前推销的时候,从网站空间租赁过渡到网站应用程序账号租赁的一个噱头,也就是说给用户提供的不是“裸网站”空间而是安装好的应用软件。 至于说你用一个数据库还是100个数据库实例,一台服务器还是100台服务器,这个是底层技术问题,其实可以先按照自己熟悉的套路实现。实现过程中才知道自己能走多远。
咋说捏 当年的我也是没怎么关注什么 SaaS、Iass 之类的概念,可以说基本上不知道这些说法 但是前两年遇到一个客户,不知道他们从哪里听到这些时髦的词,我们介绍完自己的系统之后,非得把我们的系统和他所了解的概念里套,显得他很专业,如果我们不说这些词儿,我们就不专业、就是外行;我们公司领导同去的,他不是做IT的,也批了我们一顿,说这么流行的东西,我们专业的居然也不懂!
  • 打赏
  • 举报
回复
江南小鱼 2017-12-11


SaaS大致这几种实现思路
  • 打赏
  • 举报
回复
江南小鱼 2017-12-11
引用 40 楼 cmrfid_it 的回复:
我现在就在做SAAS版本的软件,引用你说的“数据通过不同的数据库用户物理隔离”,感觉并没有什么必要,至于负载均衡,它有一个前提啊,就是系统用户多了赚到钱了。那负载均衡还是问题吗?租户只需要companyID+userid就可以区分,私密数据userid+companyid,公共数据companyid区分,一个公司内共享,完事了。
我不倾向于这种方式,共享性太高,安全性越低,另外还要考虑单表数据量过大时的分区、检索等问题,这种集中存储,风险也大
  • 打赏
  • 举报
回复
江南小鱼 2017-12-11
引用 38 楼 qq_32395957 的回复:
我以前的公司做过saas平台,主要思路可以给你分享一下 1、Web站点用MVC以及webapi(restful) 2、ORM框架选择EF 3、租户是在同一个表的,然后用UserId区分,并且根据不同模块分库,比如用户库,产品库 4、数据服务选择WCF,主要是给Web站点提供服务,对请求的站点IP做限制,只允许指定的IP访问,然后WCF站点是不关心用户状态的(Session),接口的参数里指定UserID,状态判断那是Web站点的事情,既然已经对Web站点的IP进行判断了,就不怕安全问题
目前实现的也是大体这个思路,我们是对租户分用户(oracle数据库,不同租户创建不同的用户),租户数量不大,负载均衡还木有做 另外,对IP做限制,具体怎么讲?
  • 打赏
  • 举报
回复
cmrfid_it 2017-12-08
我现在就在做SAAS版本的软件,引用你说的“数据通过不同的数据库用户物理隔离”,感觉并没有什么必要,至于负载均衡,它有一个前提啊,就是系统用户多了赚到钱了。那负载均衡还是问题吗?租户只需要companyID+userid就可以区分,私密数据userid+companyid,公共数据companyid区分,一个公司内共享,完事了。
  • 打赏
  • 举报
回复
gdadayo 2017-12-01
  • 打赏
  • 举报
回复
qq_32395957 2017-12-01
PS:访问量到达一定程度后,可以考虑用Linux+nginx或NLB做负载均衡,这里主要考虑的是负载均衡多台服务器用户状态同步的问题,推荐使用Redis分布式存储用户状态,解决多台服务器session不能共享的问题
  • 打赏
  • 举报
回复
qq_32395957 2017-12-01
我以前的公司做过saas平台,主要思路可以给你分享一下 1、Web站点用MVC以及webapi(restful) 2、ORM框架选择EF 3、租户是在同一个表的,然后用UserId区分,并且根据不同模块分库,比如用户库,产品库 4、数据服务选择WCF,主要是给Web站点提供服务,对请求的站点IP做限制,只允许指定的IP访问,然后WCF站点是不关心用户状态的(Session),接口的参数里指定UserID,状态判断那是Web站点的事情,既然已经对Web站点的IP进行判断了,就不怕安全问题
  • 打赏
  • 举报
回复
江南小鱼 2017-11-30
引用 35 楼 u011077231 的回复:
区分租户 ,有一个建议:在api的url中加入标识,然后拦截器进行拦截 我目前是多数据库 一套应用,前端通过不同的url来分配给多租户: 如:正常获取用户列表 www.xxx.com/api/get/users,地址不变,但是我前端请求地址为www.xxx.com/zhangsan/api/get/users, 然后做一个拦截器,拦截到url,符合转发规则的时候,切换数据源,然后转发到www.xxx.com/api/get/users这样实现了用户标识区分,一个数据源, 对于现有业务也基本没有影响 至于单一数据库,表数据通过TenantId来逻辑隔离多个租户,我们现在没用,但是一样可以把切换数据源改成加入查询条件来实现
嗯,我是在请求中把用户的进行加入MessageHeader,wcf取出后,根据用户连接不同的库
  • 打赏
  • 举报
回复
干杯xiaoyiyi 2017-11-27
区分租户 ,有一个建议:在api的url中加入标识,然后拦截器进行拦截 我目前是多数据库 一套应用,前端通过不同的url来分配给多租户: 如:正常获取用户列表 www.xxx.com/api/get/users,地址不变,但是我前端请求地址为www.xxx.com/zhangsan/api/get/users, 然后做一个拦截器,拦截到url,符合转发规则的时候,切换数据源,然后转发到www.xxx.com/api/get/users这样实现了用户标识区分,一个数据源, 对于现有业务也基本没有影响 至于单一数据库,表数据通过TenantId来逻辑隔离多个租户,我们现在没用,但是一样可以把切换数据源改成加入查询条件来实现
  • 打赏
  • 举报
回复
加载更多回复
相关推荐
发帖
.NET技术前瞻
加入

1.3w+

社区成员

.NET技术 .NET技术前瞻
申请成为版主
帖子事件
创建了帖子
2017-11-13 08:24
社区公告
暂无公告