RisingWave 在品高股份 Bingo IAM 中的应用

news2025/1/21 10:18:45

背景介绍

公司背景

品高股份,是国内专业的云计算及行业信息化服务提供商。公司成立于 2003 年,总部位于广州,下设多家子公司和分公司,目前员工总数近 900 人,其中 80 %以上是专业技术人员。

品高股份在 2008 年便开始研发云计算产品,于 2010 年 2 月成功推出首个商用级 IaaS 产品 BingoCloud V1.0,是国内最早发布云操作系统的厂商之一。经过多年研发,公司目前已拥有众多以云计算为核心的系列化产品。

基于自主研发的产品技术优势以及行业信息技术服务的经验积累,品高股份已经为政府、公安、电信、轨交、汽车、金融、教育等众多行业客户提供从 IaaS 基础设施层、PaaS 平台层、DaaS 数据层到 SaaS 软件层的全栈企业级云平台和信息化服务。

公司以自主研发的产品为支撑,围绕“行业+云”发展战略,建立了以云计算技术为核心、以行业和市场需求为驱动的产品研发体系,聚焦政企私有云业务领域,以一流的产品和服务,持续为中国政企行业的数字化转型和产业升级赋能。

业务背景

Bingo IAM 是企业级的身份与访问管理服务(Bingo Enterprise Identity & Access Management),为企业应用提供了全面的身份识别认证以及访问授权管理等功能,也是品高云应用支撑平台中最基础的服务。

随着企业数字化程度的提升和数据安全威胁日益严重,IAM 系统迎来越来越多新的挑战。因此,我们对 Bingo IAM 的更多新的要求,对 RisingWave 的使用主要集中在三个方面:数据同步能力、事件驱动能力、风控能力。

需求与挑战

数据同步

IAM 系统需要保持与企业内部其他应用的数据同步,通常会包括用户的身份信息、权限信息等。一旦这些信息发生变更,IAM 系统需要能够将这些数据实时同步其他企业应用,以确保其数据的一致性和资源访问的安全性。

面临的挑战:

  • 异构数据转换:在多元化的企业级应用环境中,每个应用的数据格式和标准不尽相同,这使得异构数据的格式转换成为数据同步实现的一大难题。
  • 数据安全性:不同企业应用通常属于各自的租户,所拥有的数据权限也不一样,为保证数据安全,在数据同步过程中,必须要有细致严格有效的数据过滤。
  • 时效性:在数据的完整性和一致性的前提之下,同时需要避免数据延迟带来的各种问题,保证数据同步时效性是极大的挑战。

事件驱动

在 IAM 系统中,所有的操作都可能会形成事件。当某个事件被触发时,需能够及时响应并在 IAM 系统中执行相应的操作(业务功能、业务流程编排),或即时推送事件到其他企业应用。

面临的挑战:

  • 事件的有序且唯一:事件的有序性要求事件按照发生的时间顺序处理,唯一性则是保证每个事件只被处理一次。事件有序唯一性对于事件驱动系统来说是非常关键的,其很大程度决定了订阅者对于事件流的处理结果。
  • 事件的复杂性:基于事件的具象化特性,会尽可能地将操作完整地描述,特别是业务事件通常由多源的基础数据形成,这便要求事件驱动系统具有将多个数据流、批数据 Join 计算的能力。
  • 异常处理:系统和企业应用在处理事件的过程中出现异常是很常见的,设计有效的异常处理机制,能够保证企业级应用环境持续稳定的运行。

风控能力

在 IAM 系统中,风控主要是指对用户权限的访问行为进行有效管理和控制,以避免数据泄露、未经授权的访问等安全风险。IAM 系统能够根据预定义的安全策略和规则,限制用户的访问行为,只允许用户访问他们权限范围内的资源。

面临的挑战:

  • 风控策略的自定义能力:不同的业务可能存在不同的风险点和风险等级,对应多种多样的风控策略。风控系统应该能提供灵活的自定义化能力来应对不同企业应用的风控需求。
  • 时效性:实时性是风控能力的重要属性,具有风控能力的系统需要根据策略快速识别风险并实时响应。

RisingWave 带来的能力

依据以上需求与挑战,我们在调研大量的流计算方案、事件驱动方案、数据同步方案之后,最终选择基于 RisingWave 来给 Bingo IAM 赋予新的能力,主要从以下几方面特性出发:

  • 流计算:RisingWave 具备出色的流计算能力,相比传统批处理,流处理能够展现许多显著的优势,如:处理速度、响应时间以及持续处理等方面具有明显优势。在数据同步、事件驱动、风控这些需要高时效性的场景中,流计算这些优点使得其具有重要的应用价值。
  • 物化视图
    • RisingWave 借鉴了物化视图的设计思想,除了基础的 SQL 查询之外,还拥有强大丰富的算子、函数以及 UDF(用户自定义函数)来构建物化视图,多流 Join 能够对数据进行实时打宽,动态维护查询结果。独特的 MV on MV 功能,更是能在其他物化视图的基础上,继续堆叠新的物化视图。这使得 RisingWave 在数据同步和事件驱动场景中,能够轻松高效的处理复杂的数据转换和数据过滤。特别在风控场景中,可以灵活的自定义策略达到用户理想的风控效果。
    • 构建物化视图时也支持指定排序字段,数据在整个处理流程中都能保持有序,并且每条数据都是唯一的。这就意味着,物化视图中的数据天然的具有有序性和唯一性。
    • 物化视图的存在也有效地提高了在事件驱动场景中对异常处理的能力,即使数据在 Sink 端消费失败,也可以从特定的 offset 重新开始消费数据,防止数据丢失或重复消费。
  • 更低的开发、实施运维成本
    • 架构简化:作为流计算数据库,既支持对存量数据的 Batch Query,又支持增量数据流的 Streaming Query,无需将流数据导出到下游数据库即可查询计算结果。
    • 存算分离架构:将数据计算层和数据存储层分离开,这在保证系统高可用的同时提供了强大的扩展性,让实施运维更为便利,能够按照实际的业务需求进行扩展以及优化资源。
    • 标准化结构化的 SQL 为接口:支持复杂的查询计算,极大的降低了开发运维人员的学习和使用成本。

此外,RisingWave 也拥有强大的数据连接能力,支持丰富的 Source Connector 和 Sink Connector,可以与主流的数据源和平台进行无缝集成。

实现方案

数据同步与事件分发

风控场景

总结与展望

RisingWave 是一个极具创新性的分布式 SQL 流数据库,我们对 RisingWave 的核心技术实力深感赞赏并看好其长远发展潜力。RisingWave 给我们带来了一系列强大的能力,为我们面临的诸多需求和挑战提供了优秀有效的解决方案。在使用过程中,我们深感到 RisingWave 流处理的高效和简单,也切实体会到 RisingWave ”流处理平民化”的使命。未来我们将持续深入探索 RisingWave 在品高云应用支撑平台研发中的不同应用场景,期待借助其创新的能力,优化并提升我们的技术架构与服务能力。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1571578.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

第20次修改了可删除可持久保存的前端html备忘录:重新布局

第20次修改了可删除可持久保存的前端html备忘录&#xff1a;重新布局 <!DOCTYPE html> <html lang"zh"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"…

Tuxera2023 NTFS for Mac下载,安装和序列号激活

对于必须在Windows电脑和Mac电脑之间来回切换的Mac朋友来说&#xff0c;跨平台不兼容一直是一个巨大的障碍&#xff0c;尤其是当我们需要使用NTFS格式的硬盘在Windows和macOS之间共享文件时。因为Mac默认不支持写入NTFS磁盘。 为了解决这一问题&#xff0c;很多朋友会选择很便捷…

算法刷题应用知识补充--基础算法、数据结构篇

这里写目录标题 位运算&#xff08;均是拷贝运算&#xff0c;不会影响原数据&#xff0c;这点要注意&#xff09;&、|、^位运算特性细节知识补充对于n-1的理解异或来实现数字交换找到只出现一次的数据&#xff0c;其余数据出现偶数次 >> 、<<二进制中相邻的位的…

力扣---删除链表的倒数第 N 个结点

给你一个链表&#xff0c;删除链表的倒数第 n 个结点&#xff0c;并且返回链表的头结点。 示例 1&#xff1a; 输入&#xff1a;head [1,2,3,4,5], n 2 输出&#xff1a;[1,2,3,5]示例 2&#xff1a; 输入&#xff1a;head [1], n 1 输出&#xff1a;[]示例 3&#xff1a…

idea 中 大于等于,不等于、小于等于等等这些符号发生了改变问题解决方法

1.问题描述 idea 中&#xff01;变为 ≠、 >变成了≥、<变成了 ≤ 等问题的解决办法 展示效果如下截图 解决方法

Vue3从入门到实战:掌握状态管理库pinia(下部分)

1.storeToRefs 在Count.vue文件中 显的冗余了&#xff0c;如何更加优雅简化代码。用storeToRefs 补充&#xff1a; 为什么不用ToRefs呢&#xff1f; 使用的话会将所有数据都用ref引用包裹&#xff0c;其实方法等是没必要包裹的&#xff0c;具有一定风险 2.getters的使用 …

SSM 项目学习(Vue3+ElementPlus+Axios+SSM)

文章目录 1 项目介绍1.1 项目功能/界面 2 项目基础环境搭建2.1 创建项目2.2 项目全局配置 web.xml2.3 SpringMVC 配置2.4 配置 Spring 和 MyBatis , 并完成整合2.5 创建表&#xff0c;使用逆向工程生成 Bean、XxxMapper 和 XxxMapper.xml2.6 注意事项和细节说明 3 实现功能 01-…

jvm基础三——类加载器

类加载器 在Java中&#xff0c;类加载器&#xff08;Class Loader&#xff09;是Java虚拟机&#xff08;JVM&#xff09;的一部分&#xff0c;负责将类文件&#xff08;.class文件&#xff09;加载到JVM中&#xff0c;使得程序能够使用这些类。类加载器在Java中具有重要的作用&…

Mysql启动失败解决过程

报错内容如下&#xff1a; Mar 05 18:40:49 VM-0-12-centos systemd[1]: Failed to start MySQL Server. Mar 05 18:40:49 VM-0-12-centos systemd[1]: Unit mysqld.service entered failed state. Mar 05 18:40:49 VM-0-12-centos systemd[1]: mysqld.service failed. Mar 05…

人工智能数据分析Python常用库 04 matplotlib库

文章目录 一、matplotlib库的作用与环境配置1、环境配置示例2、改变绘图风格3、保存图片 二、绘制二维图形1、折线图&#xff08;1&#xff09;示例&#xff08;2&#xff09;调整线条颜色&#xff1a;&#xff08;3&#xff09;调整线条风格&#xff08;4&#xff09;调整线宽…

非关系型数据库------------Redis的安装和部署

目录 一、关系型数据库与非关系型数据库 1.1关系型数据库 1.2非关系型数据库 1.2.1非关系型数据库产生背景 1.3关系型非关系型区别 1.4客户访问时&#xff0c;关系型数据库与redis的工作过程 二、Redis 2.1redis简介 2.2Redis命中机制和淘汰机制 2.3Redis 具有以下优…

解决VScode中matplotlib图像中文显示问题

一、更改配置文件 参考这个文件路径找到自己Python环境下的matplotlibrc文件并用记事本打开。 用ctrl F寻找下面的这两行并将前面的#删除&#xff0c;保存并退出。 font.family: sans-serif font.serif: DejaVu Serif, Bitstream Vera Serif, Computer Modern Roman, N…

Nature正刊重磅!热带雨林正接近临界温度阈值:气候变化可能会使热带森林太热而无法进行光合作用

2023年8月23日&#xff0c;美国北亚利桑那大学生态信息学Doughty, Christopher E. 副教授及其研究组人员在国际知名学术期刊《Nature》发表了一项题为“Tropical forests are approaching critical temperature thresholds”的研究。提出了热带雨林正接近临界温度阈值的新见解。…

Hadoop-入门

资料来源&#xff1a;尚硅谷-Hadoop 一、Hadoop 概述 1.1 Hadoop 是什么 1&#xff09;Hadoop是一个由Apache基金会所开发的分布式系统基础架构。 2&#xff09;主要解决&#xff1a;海量数据的存储和海量数据的分析计算问题。 3&#xff09;广义上来说&#xff0c;Hadoop…

状态优先级

文章目录 状态优先级1. 进程状态1.1 进程状态查看1.2 僵尸进程1.3 孤儿进程 2.进程优先级2.1 基本概念2.2 查看系统进程2.3 PRI and NI2.4 PRI vs NI 3. 查看进程优先级的命令3.1 top命令更改nice3.2 其他概念 状态优先级 1. 进程状态 看看Linux内核源代码怎么说 为了弄明白…

2024.4.3-[作业记录]-day08-CSS 盒子模型(溢出显示、伪元素)

个人主页&#xff1a;学习前端的小z 个人专栏&#xff1a;HTML5和CSS3悦读 本专栏旨在分享记录每日学习的前端知识和学习笔记的归纳总结&#xff0c;欢迎大家在评论区交流讨论&#xff01; 文章目录 作业 2024.4.3-学习笔记css溢出显示单行文本溢出显示省略号多行文本溢出显示省…

每天五分钟深度学习:深度学习中数据样本和标签的符号化表示

本文重点 在深度学习的研究与应用中&#xff0c;数据样本和标签的符号化表示是至关重要的一环。通过合理的符号化表示&#xff0c;我们可以将现实世界中的数据转化为计算机能够理解和处理的形式&#xff0c;从而为后续的模型训练和推理提供基础。本文将对深度学习中数据样本和…

Github 2024-04-05Java开源项目日报Top9

根据Github Trendings的统计,今日(2024-04-05统计)共有9个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量Java项目9TypeScript项目1OpenAPI 生成器:基于规范自动生成API工具 创建周期:2155 天开发语言:Java协议类型:Apache License 2.0Star数量:1…

wordpress全站开发指南-面向开发者及深度用户(全中文实操)--初尝php

初尝php 打开你下载的wordpress文件夹&#xff0c;如果你用的xampp那它就在xampp安装的文件夹–htdocs文件夹–你可以新建一个test文件夹–新建一个test.php文件 <html><head><title>First attempt at PHP</title></head><body><?ph…

深入浅出 -- 系统架构之分布式系统底层的一致性

在分布式领域里&#xff0c;一致性成为了炙手可热的名词&#xff0c;缓存、数据库、消息中间件、文件系统、业务系统……&#xff0c;各类分布式场景中都有它的身影&#xff0c;因此&#xff0c;想要更好的理解分布式系统&#xff0c;必须要理解“一致性”这个概念。 其实关于…