源宝导读:在明源云“天际”PaaS平台之上,可以构建、部署和运行多个业务应用,并支持多应用分离部署,以提升系统整体的性能和稳定性。本文将介绍多应用自集成解决方案以及相关的实现细节。

一、背景

1.1、业务场景

在明源云“天际”PaaS平台之上,可以构建、运行多个业务应用。这些业务应用可以集中部署在同一站点和数据库,也可以按应用分开部署多个站点与数据库,可大幅提升业务应用的运行性能与稳定性。部署模式如下示意图:

1.2、业务应用分开部署后带来的问题

  • 用户需要分开单独访问应用站点,访问每个业务应用时都需要登陆,操作繁琐;

  • 每个业务应用中都存在系统管理,但管理员希望只设置一遍,在各个应用站点生效;

  • 业务应用之间共享的公共配置(例如运行设置、安全设置、外观设置等),需要在每个应用中重复配置;

  • 每个业务应用都需要的公共数据(例如图表数据、业务参数配置、桌面部件数据等),互相隔离无法同步。

二、解决方案

由于这些业务应用都基于“天际”PaaS平台构建和运行,可以通过底层平台强大能力,打通这些应用“孤岛”,形成一个“去中心化”的“自集成”架构。

自集成架构的能力包含三个方面:

  • 公共数据集成;

  • 应用接口集成;

  • 应用事件集成。

公共数据集成能力包括:

  • 系统配置集中管理,解决应用之间配置无法共享问题;

  • 登录导航集成统一,解决用户重复登录,访问入口分散问题;

  • 基础数据自动集成,解决各个应用的基础功能同步一致;

  • 系统管理统一入口,解决系统管理员重复设置的问题。

三、实现原理

3.1、系统配置集中管理

  • 实现难点:如何保证集中式的配置管理不会引发单点故障。

  • 设计方案:在平台逻辑中缓存这些配置信息,并且通过站点标识来识别当前站点。比如我们成本系统,在成本系统的web.config 中配置对应的站点标识erp60-cbxt ,那么当前站点以独立的成本系统运行,并且可以识别主站点和其他站点。

3.2、登录导航集成统一

3.2.1、集成其他应用的导航

导航集成的实现原理:

通过集中配置,我们能获取到其他应用站点地址,然后通过接口获取相应的导航数据,最终合并展示在当前应用站点。

  • 实现难点:如何保证获取的数据性能以及稳定性。

  • 设计方案:

    • 获取的集成的导航基础数据做全局缓存,所有的用户都可以获取;

    • 针对用户个人导航数据在登录也做二级缓存;

    • 利用二级缓存,可以保证在其他应用站点不可用时,当前应用站点不受影响。

3.2.1、多应用之间实现单点登录

当用户访问任意应用的站点时,如果没有登录,都会自动跳转到主应用站点进行登录。

跨应用的单点登录身份认证原理图:

  • 实现难点:如何保证主应用站异常时,其他应用站点能登录正常。

  • 设计方案:

    • 保证所有应用站点的登录功能,必须访问同一个数据库,保证登录校验结果一致;

    • 通过多站更新机制,保证所有应用站点的平台版本一致,进而保证所有应用站点的登录功能一致。

3.3、基础数据自动集成

类似用户桌面部件、图表数据集、业务参数配置等基础数据,平台底层会通过内部接口,将各个应用中的本地数据,获取到主应用站点。

3.4、系统管理统一入口

系统管理应用属于平台底层功能应用,每个业务应用站点都有一套,应用自集成后,整个自集成环境看做一个完整的ERP系统,所以平台必须保证只有一个系统管理应用。

  • 实现难点:如何保证在一个系统管理上面配置所有系统的权限。

  • 设计方案:

    • 主应用站点通过自集成接口获取所有子系统应用和模块的定义数据时,只获取当前应用自己的定义数据,保证最后的权限数据不重复;

    • 在权限接口上层设置依赖级别,保证在整个请求链路包括跨站点的链路的依赖级别一致;

四、总结

我们的应用自集成方案优势:

  • 开箱即用:用户部署好各个应用站点,通过简单的配置步骤,就可以实现应用自集成的部署环境;

  • 对业务应用侵入小:平台从系统配置、基础数据、登录导航、接口事件等方面从底层实现了打通,对上层的应用基本是透明的,非跨应用的业务场景无需做任何改造,而跨应用的业务场景的影响也非常小。

公共数据自集成,是应用接口、事件集成的基础。因为公共数据的打通,才保证了跨应用接口调用时,找到正确的应用站点;应用事件触发时,才能正确通知到所有订阅了事件的业务应用。后面的文章中,我们将继续分享应用接口自集成和应用事件自集成的设计方案与实践。

------ END ------

作者简介

蔡同学: 开发SM,目前负责ERP建模平台的设计与开发工作。

也许您还想看

从案例角度解析建模平台动态规则引擎

基于工作单元的高性能实体服务

如何解决大批量数据保存的性能问题

【复杂系统迁移 .NET Core平台系列】之应用发布与部署

ERP的配置管理实践

基于PaaS平台的多应用自集成方案之公共数据集成相关推荐

  1. 基于PowerPC平台的FlexRay/CAN总线记录仪方案

    ULG-1000是天津优蓝科技研发的一款基于PowerPC处理器的车载总线记录仪,可记录车载FlexRay.CAN.模拟量及开关量传感器的数据通讯和状态信息.数据被存储在SSD固态硬盘上,可以通过以太 ...

  2. 基于intel平台车载M12网管交换机方案,13路网口,支持bypass功能

    概述:XM-5130是二层网管型以太网交换机,该产品前面板提供13路100M自适应以太网接口.4路车辆间带链路聚合及bypass功能的以太网接口,接口通过M12端子形式提供.该产品适用于振动.温度.湿 ...

  3. java 当一个文本框有值时另一个文本框置灰_【农行DevOps进行时】基于PaaS的持续集成/持续交付实践 | IDCF...

    作者:曹睿 一.概述 在互联网高速发展的背景下,产品的先发优势被互联网加倍放大,业务需求变化频繁,创新步伐越来越快,导致研发效能被越来越多企业放到极其重要的位置,为了适应日益激烈的业务竞争,必须快速响 ...

  4. 传统企业PaaS平台功能设计与业务上云思考

    伴随着Docker技术的兴起,以及容器集群管理平台Mesos.Kubernetes.Swarm.Rancher等的大行其道,仿佛PaaS平台及其相关技术一下进入了黄金时期,各种各样的技术组合,各种各样 ...

  5. 【OSCAR开源先锋日】腾讯蓝鲸智云社区版“PaaS平台”及其调度编排SaaS“标准运维”正式开源

    2019年4月11日,由中国信息通信研究院主办,云计算标准与开源推进委员会承办,云计算开源产业联盟支持,由高效运维社区协办的OSCAR开源先锋日在深圳圆满闭幕. 此次大会由中国信通院云大所所长何宝宏, ...

  6. PaaS 平台的架构、现状及未来

    说起云计算平台,大家可能都知道有IaaS.PaaS和SaaS.IaaS和SaaS的概念大部分人都能很清晰的认知.说到IaaS大多会讲:存储.计算和网络这三大基础资源,说到SaaS大家会想到各种类型的应 ...

  7. PaaS平台的尴尬与变革

    当今时代只要提到云计算这个词语,一定会提到云计算分为IaaS.PaaS.SaaS 这三个层面,现阶段云环境中IaaS和SaaS都实现了商品化.但是,PaaS作为云计算的服务模式之一,既不像IaaS那样 ...

  8. 基于 EventBridge 构建 SaaS 应用集成方案

    引言 事件驱动架构(EDA)是一种以事件为纽带,将不同系统进行解耦的异步架构设计模型.在 EDA 中,事件驱动的运行流程天然地划分了各个系统的业务语义,用户可以根据需求对事件与针对此事件做出的响应灵活 ...

  9. PaaS 平台学习(开源力量OSF)构建千万级大规模、高可靠PaaS平台的技术挑战 学习笔记

    感谢许志强老师的辛苦付出.2015年1月13日 参加云通讯PaaS平台学习,特作此记录. 大纲: 选择Paas平台的考量(我的企业是否适合选PaaS平台,我应该选怎么样的PaaS平台) 基于PaaS平 ...

最新文章

  1. Linux下文件如果没有权限不能被Apache访问
  2. mysql 单标递归_MySql整理篇之递归
  3. 源码资本张宏江:只有算法和技术,那你一定挣不到钱
  4. cocos对象池的使用
  5. java之对象的复制
  6. python安装失败0x80070570_固态硬盘装win7出现错误代码0x80070570怎么办
  7. webpack4.0各个击破(2)—— CSS篇
  8. [设计模式]抽象工厂模式
  9. mysql 查询系统_使用select和show命令查看mysql数据库系统信息
  10. 数据可视化【四】Bar Chart
  11. 谈谈对python这门课的认识_【Python公开课】1-认识Python
  12. Notepad++中的UTF-8无BOM格式编码
  13. BZOJ1095: [ZJOI2007]Hide 捉迷藏(动态点分治)
  14. 国庆佳节,我们有好礼相送!
  15. 1w用户的并发量多大_QQ邮件订阅中心下线:卢松松博客曾经有1W多订阅用户
  16. java-工具-轮子
  17. 机器学习---人脸对齐的基于形状模型的训练
  18. python基础之面向对象(一)
  19. table里面用三目_三个方法快速找到SAP后台Table
  20. python3字典运算_Python3字典与集合

热门文章

  1. 如何查看服务器并发请求连接数
  2. LeetCode Implement Queue using Stacks (数据结构)
  3. Html常用标签元素
  4. CentOS 安装jdk1.7 64位
  5. 高级SQL注入拿shell,一般黑客不知道。哈客
  6. 如何使用APTonCD备份和还原已安装的Ubuntu软件包
  7. 中国版LinkedIn呼之欲出
  8. Framework Design Studio 发布了
  9. python 抓包基于pypcap
  10. Haproxy 让后端RS记录真实IP