保险产品SaaS化实践之路(中)

简介: 保险产品SaaS化实践之路

三板斧 3


有的场景下,客户的定制化需求,需要改变产品基线的核心逻辑,而这些需求又无法抽象成可枚举的一些情况,因此Configuration模式无法适用这样的场景。那么如何在不改变产品基线代码的情况下,改变其核心逻辑呢?答案就在我们的第三块基石 – Plugin(可插拔)


我们自研了我们的Plugin Framework,能够在无代码入侵的情况下,实现产品基线的扩展点(Extension Points),同时可以让不同的客户需求以Plugin的形式接入。Plugin Framework按客户实现、国家实现、产品默认实现了三层分层:


Plugin及Lookup机制




需要注意的是,Plugin容易被滥用;因此我们在架构上规定,尽可能用Configuration和Composition模式,仅在不得已的情况下使用Plugin模式,并且需求产品基线架构委员会进行需求和设计审核,才能在产品基线开出Extension Point扩展点。

 

综合上述的三板斧设计模式,我们实现了满足开闭原则的可扩展产品基线:


综合使用三种模式的可拓展产品基线




3  从项目化向SaaS化(产品化),我们如何推进架构设计最终落地?



架构设计很丰满,现实和技术很骨感,我们知道目标在哪里是不够的,我们需要知道通向目标的正确路径。那么在2年前我们还是以大项目交付为核心模式的时候,我们是如何推进上述架构设计最终落地的呢,怎样的路径才是通往目的地的最优路径呢?下图是我们最终选择的方式,它支持了我们今天的成功转型。



我们上面讨论过三板斧的3种模式:Configuration,Composition,Plugin;Plugin模式作为一种尽可能不要用的模式,却是一种兜底的模式;没有Plugin,就支持不了我们产品化的最后一公里,因此它的重要性不言而喻。那么如何无侵入地做到呢?我们自研了众安国际的Plugin Framework(我们计划把该框架开源):


① 引入plugin框架

②定义扩展点-

只需要让你的扩展点接口继承ExtensionPoint 即可


③使用扩展点-

简单的面向接口编程和Spring DI(Autowired)


④项目交付实现扩展点-

还是简单 Annotation,除了业务,你什么都不用关心!

图注:实现扩展点,从而改变基线default的功能

⑤ 可协同,易管理

图注:基线和项目协同的开发、打包、部署



好了,看到这里,我们如何用一套代码,支持所有客户的需求,真正做到产品化和核心精髓相信你已经理解。那么我们就是一家SaaS公司了?等等,还没有!


4  多租户设计与框架


SaaS产品不仅要求一套代码,还要求一套部署支持多客户。这里有另一个极其重要的点,那就是多租户


支持多租户,有其最核心的三要素



多租户三要素1-Security 之 Authentication


多租户三要素2-Context


多租户三要素3.1

数据隔离在Data Model层面进行了第一层隔离,采用tenant_id进行租户的逻辑隔离。


多租户三要素3.2

虽然tenant_id已经做了租户逻辑隔离,但数据库模式还是采用了Per-Tenant的租户隔离模式,以保证更安全的数据隔离,这是第二层的数据隔离。


多租户三要素3.3

数据的二层路由 2-Layer Sharding。


多租户三要素3.4

下图是其它需要多租户改造的数据存储,也要对他们进行多租户改造,才能在多租户架构下实现隔离和安全。


如果大家对我们的多租户框架感兴趣的话,有一个好消息是,我们计划把它们开源,敬请期待!


除了多租户外,高可定制的SaaS订阅模式,也是SaaS产品非常重要的一环:



架构设计一个To B企业级SaaS产品,上面的任何一环都不可或缺,但这就是全部吗?敬请期待我们的《保险产品SaaS化实践之路(下)》!

相关文章
|
20天前
|
DataWorks 监控 关系型数据库
DataWorks产品使用合集之在 DataWorks 中删除了 la_saas_rds 数据库,为什么其他数据库的同步任务无法打开或添加新表同步
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
|
存储 测试技术 BI
SaaS创业:这一篇文章让你搞懂SaaS产品的数据库架构设计!
在SaaS产品平台,本质上是多租户订阅使用的服务模式,因此在技术架构实现层面,需要对不同租户的数据库存储(甚至包括文件存放)进行隔离和划分。那具体怎么设计,既能满足前期快速MVP版本迭代,又能符合未来更多客户、更多海量数据增长而不是系统崩溃卡顿呢?
SaaS创业:这一篇文章让你搞懂SaaS产品的数据库架构设计!
有哪些免费好用的优质的协同办公类SaaS产品推荐?
随着互联网技术的不断发展,越来越多的企业开始采用多人协同办公软件,以提高团队的工作效率和协同能力。以下是几款免费且好用的优质的协同办公类SaaS产品推荐
有哪些免费好用的优质的协同办公类SaaS产品推荐?
|
存储 Kubernetes NoSQL
【SaaS架构】构建 SaaS 产品所需的技术——第一部分
【SaaS架构】构建 SaaS 产品所需的技术——第一部分
|
前端开发 安全 API
保险产品SaaS化实践之路(上)
保险产品SaaS化实践之路(上)
170 0
|
存储 分布式计算 运维
飞天大数据产品价值解读——SaaS 模式云数据仓库 MaxcCompute(二)| 学习笔记
快速学习飞天大数据产品价值解读——SaaS 模式云数据仓库 MaxcCompute(二),介绍了飞天大数据产品价值解读——SaaS 模式云数据仓库 MaxcCompute(二)系统机制, 以及在实际应用过程中如何使用。
384 0
飞天大数据产品价值解读——SaaS 模式云数据仓库 MaxcCompute(二)| 学习笔记
|
自然语言处理 算法 语音技术
视频创作SAAS产品介绍
本文摘自虚拟数字人新品发布会中王朝的发言
589 0
视频创作SAAS产品介绍
|
存储 SQL 弹性计算
飞天大数据产品价值解读— SaaS 模式云数据仓库 MaxCompute | 学习笔记(五)
快速学习飞天大数据产品价值解读— SaaS 模式云数据仓库 MaxCompute
215 0
|
数据挖掘 BI
一些有关SaaS产品的平台与双边性的想法
数据产品里也藏着生产者与消费者,如何让两者更好地协同?
149 0
一些有关SaaS产品的平台与双边性的想法
|
机器学习/深度学习 存储 分布式计算
Saas 模式云数据仓库 MaxCompute 产品 价值解读|学习笔记
快速学习 Saas 模式云数据仓库 MaxCompute 产品 价值解读
250 0

热门文章

最新文章