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

背景介绍

公司背景

品高股份,是国内专业的云计算及行业信息化服务提供商。公司成立于 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.mzph.cn/news/793095.shtml

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

相关文章

Linux集群部署项目

目录 一,环境准备 1.1.安装MySQL 1.2.安装JDK 1.3.安装TomCat 1.4.安装Nginx 二,部署 2.1.后台服务部署 2.2.Nginx配置负载均衡及静态资源部署 一,环境准备 1.1.安装MySQL 将MySQL的安装包上传至服务器 查看系统中是否存在mariadb&…

Go 源码之互斥锁 Mutex

文章目录 一、总结二、源码(一)Mutex(二) Lock(三)Unlock 三、常见问题有劳各位看官 点赞、关注➕收藏 ,你们的支持是我最大的动力!!!接下来会不断更新 golan…

中间件漏洞!!!

上次好像记得讲过了框架漏洞,(weblogic不是)那么,今天我们就来讲一些中间件的漏洞 1.Apache解析漏洞 众所周知,Apache是一个非常出名的中间件,本来呢,他是不存在漏洞的,但是如果用…

探索大数据时代下与云计算技术融合:实现企业级数据处理与分析的灵活性和效率性

引言: 关联阅读博客文章:深度剖析:计算机集群在大数据体系中的关键角色和技术要点 随着信息时代的到来,数据量的爆炸性增长已成为一种常态。企业、政府、科研机构等各个领域都面临着海量数据的收集、存储、处理和分析的挑战。在…

Flutter-发布插件到pub上传不上问题

问题1: 尝试指令: flutter packages pub publish --serverhttps://pub.dartlang.org问题2: 问题1解决后,进入验证身份,点击终端显示的链接,跳转到google验证,记得这里要科*学上网,点…

基于 Docker 的 python grpc quickstart

工作之后一直使用的 RPC 框架是 Apache 的 thrift,现在发现 grpc 更流行,所以也要学习一下,先来简单的跑一下 demo。在本地安装运行也很方便,不过因为有了 docker,所以在 docker 里面安装运行隔离性更好,顺…

Unity框架,ET框架8.1版本的打包流程记录

目录 打包代码前置1.必须要安装Visusal Studio 2022的组件,如下图,必须都要进行安装,不然会在代码重构的时候报错,丢失SDK。Rider的版本必须2023及以上 步骤一、使用Rider编辑器打开项目后进行重构项目步骤二、使用HybirdCLR生成A…

在ArcGIS Pro中优雅的制作荧光图

最近在网上看到了荧光图,觉得挺帅气,去网上查询了怎么制作荧光图,发现大部分都是QGIS的教程,作为ArcGIS的死忠用户,决定在ArcGIS Pro中实现,其实挺简单的。 1、软件:ArcGIS Pro3.0 2、点数据&a…

NOI - OpenJudge - 2.5基本算法之搜索 - 1490:A Knight‘s Journey - 超详解析(含AC代码)

点赞关注吧~ 1490:A Knights Journey 查看提交统计提问 总时间限制: 1000ms 内存限制: 65536kB 描述 Background The knight is getting bored of seeing the same black and white squares again and again and has decided to make a journey around the world. When…

前端三剑客 —— CSS (第五节)

目录 内容回顾: 特殊样式 特殊样式 CSS变量 常见函数 倒影效果 页面布局 Table 布局(了解即可) DIVCSS布局 弹性布局 1)不使用弹性布局,而是使用DIVCSS 2)使用弹性布局实现导航菜单 内容回顾…

echart 仪表盘实现指针的渐变色及添加图片

需求: 在仪表盘中设置指针为渐变色,并在仪表盘中间添加图片。 实现重点: 1、仪表盘指针渐变色的实现 渐变色通过设置pointer的itemStyle属性内的color实现,重点是echart版本,这个原本使用4.8.0的版本不起作用&#xff…

AD20全流程的使用笔记

目录 首先一个完整的AD工程文件需要我们自己建立的文件有这些: 新建工程: 从现有的工程文件中将元件添加到原理图库: 元件的摆放: 器件的复制及对齐: 导线、Netlabe、端口的添加: Value值的校对&…

SQL注入---盲注

文章目录 前言一、pandas是什么?二、使用步骤 1.引入库2.读入数据总结 一.盲注概述 注是一种SQL注入攻击的形式,在这种攻击中,攻击者向目标应用程序发送恶意注入代码,然后通过观察应用程序的响应来推断出数据库中的信息。与常规的…

设计模式——抽象工厂模式02

如果是工厂模式是对同一类商品进行抽象然后生产。 那么抽象工厂模式是对工厂的抽象,每个工厂都能生产多种产品,不同工厂生产的商品性质相同,但外观,品牌会略有差异。 设计模式,一定要敲代码理解 商品抽象 public in…

每日五道java面试题之ZooKeeper篇(一)

目录: 第一题. ZooKeeper 是什么?第二题. Zookeeper 文件系统第三题. Zookeeper 怎么保证主从节点的状态同步?第四题. 四种类型的数据节点 Znode第五题 . Zookeeper Watcher 机制 – 数据变更通知 第一题. ZooKeeper 是什么? Zoo…

libusb Qt使用记录

1.libusb 下载 ,选择编译好的二进制文件,libusb-1.0.26-binaries.7z libusb Activity 2. 解压 3. 在 Qt Widgets Application 或者 Qt Console Application 工程中导入库,Qt 使用的是 minggw 64编译器,所以选择libusb-MinGW-x64。…

基于STM32的电子钟与万年历设计

1、功能 硬件部分: (1). 采用 STM32F103ZET6作为主控芯片, 负责驱动其他外设模块 (2). 实时时钟采用 STM32 本身的 RTC (3). TFT(LCD)彩色显示屏 正点原子的3.5寸触摸屏(NT3510) (4). DS18B20 温度传感器 支持的功能&#xf…

C语言—用EasyX实现反弹球消砖块游戏

代码效果如下 #undef UNICODE #undef _UNICODE #include<graphics.h> #include<conio.h> #include<time.h> #include<stdio.h>#define width 640 #define high 480 #define brick_num 10int ball_x, ball_y; int ball_vx, ball_vy; int radius; int ba…

使用 Clickhouse 集成的表引擎同步数据方式详解

Clickhouse作为一个列式存储分析型数据库&#xff0c;提供了很多集成其他组件的表引擎数据同步方案。 官网介绍 一 Kafka 表引擎 使用Clickhouse集成的Kafka表引擎消费Kafka写入Clickhouse表中。 1.1 流程图 1.2 建表 根据上面的流程图需要建立三张表&#xff0c;分别Click…

Linux云计算之网络基础8——IPV6和常用网络服务

目录 一、IPV6基础 IPV6详解 IPv6数据报的基本首部 IPv6数据报的扩展首部 IPv6地址的表示方法 IPv6地址分类 网际控制报文协议ICMPv6 二、cisco基于IPV6的配置 cisco基于IPV6的配置步骤 模拟配置 三、HTML基础介绍 文档的结构 动手操作一下 四、常用网络服务介绍…