开发者社区> 问答> 正文

钉钉事件回调RDS 原理是什么?

钉钉事件回调RDS 原理是什么?

展开
收起
真的很搞笑 2023-12-21 08:07:29 55 0
3 条回答
写回答
取消 提交回答
  • 钉钉事件回调RDS原理:

    • 钉钉事件回调RDS是一种将钉钉事件数据实时推送到阿里云RDS(关系型数据库服务)的服务。
    • 原理是通过配置钉钉的事件回调,每当钉钉平台上发生指定事件时,会将事件数据以HTTP POST请求的形式发送到你配置的RDS实例。
    • RDS实例上的监听服务接收到数据后,将其解析并存储到对应的数据库表中。
    2023-12-21 15:00:55
    赞同 展开评论 打赏
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。

    钉钉事件回调的RDS(Rocket Data Service)推送方案是一种优化的数据传输方式。它基于阿里云,旨在提高数据传输速度和稳定性,同时减少数据传输次数。这套推送方案不仅支持钉钉与独立软件供应商(ISV)之间的数据传输,也支持钉钉和企业开发者之间的数据传输。

    具体来说,钉钉会向应用推送订阅的回调事件,如通讯录变更、应用授权变更等。然后,开发者可以使用这些数据进行实时的数据同步,以更好地进行业务集成。此外,RDS推送还支持开发者在本地进行开发调试,以及在线上部署和运维。这种方式极大地简化了ISV和企业接入钉钉的流程。

    需要注意的是,虽然钉钉支持HTTP回调和SyncHTTP推送两种方式接收钉钉推送的回调事件,但推荐使用更安全、更高效的RDS数据推送方式。

    2023-12-21 14:33:22
    赞同 展开评论 打赏
  • 北京阿里云ACE会长

    RDS术语

    D

    DAS
    
    Database Autonomy Service,数据库自治服务,是一种基于机器学习和专家经验实现数据库自感知、自修复、自优化、自运维及自安全的云服务,帮助用户消除数据库管理的复杂性及人工操作引发的服务故障,有效保障数据库服务的稳定、安全及高效。
    
    更多信息,请参见数据库自治服务DAS简介。
    
    DBS
    
    Database Backup,数据库备份,是为数据库提供连续数据保护、低成本的备份服务。
    
    更多信息,请参见什么是数据库备份DBS。
    
    DMS
    
    Data Management,数据管理,是一种阿里云提供的图形化的数据管理工具,集数据管理、结构管理、访问安全、BI图表、数据趋势、数据轨迹、性能与优化和服务器管理于一体的数据管理服务。支持MySQL、SQL Server、PostgreSQL、MongoDB、Redis等关系型数据库和NoSQL的数据库管理,同时还支持Linux服务器管理。
    
    更多信息,请参见什么是数据管理DMS。
    
    DTS
    
    Data Transmission Service,数据传输服务,是阿里云提供的实时数据流服务,支持RDBMS、NoSQL、OLAP等,集数据迁移/订阅/同步于一体,为您提供稳定安全的传输链路。
    
    更多信息,请参见什么是数据传输服务DTS。
    
    地域
    
    地域指的是您购买的云服务所处的地理位置。您需要在购买RDS实例时指定地域,购买后暂不支持更改。
    
    读写QPS
    
    数据库读写时每秒执行的SQL数(含INSERT、SELECT、UPDATE)。
    
    独享型
    
    完全独享的CPU和内存,性能长期稳定,不会因为物理机上其它实例的行为而受到影响。独享规格的顶配是独占物理机,完全独占一台物理机的所有资源。
    
    更多信息,请参见实例规格族。
    

    R

    RAM
    
    Resource Access Management,阿里云的访问控制服务授权子用户管理RDS实例。
    
    更多信息,请参见什么是访问控制。
    
    RDS
    
    Relational Database Service,阿里云关系型数据库是一种稳定可靠、可弹性伸缩的在线数据库服务。基于阿里云分布式文件系统和SSD盘高性能存储,RDS支持MySQL、SQL Server、PostgreSQL和MariaDB引擎,并且提供了容灾、备份、恢复、监控、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。
    
    更多信息,请参见云数据库RDS简介。
    
    Redis
    
    提供持久化的内存数据库服务。当业务访问量较大时,ECS 、RDS和Redis的组合可以支持更多的读请求,同时减少响应时间。
    
    更多信息,请参见什么是云数据库Redis版。
    

    S

    SSD云盘
    
    指基于分布式存储架构的弹性块存储设备。将数据存储于SSD云盘,即实现了计算与存储分离。
    
    更多信息,请参见存储类型。
    
    SSL
    
    Secure Sockets Layer,SSL是Netscape公司所提出的安全保密协议,在浏览器和Web服务器之间构造安全通道来进行数据传输,采用RC4、MD5、RSA等加密算法实现安全通讯。国际互联网工程任务组(IETF)对SSL 3.0进行了标准化,标准化后更名为安全传输层协议(TLS)。RDS提供MySQL、SQL Server和PostgreSQL的安全套接层协议。您可以使用RDS提供的服务器端的根证书来验证目标地址和端口的数据库服务是不是RDS提供的,从而可有效避免中间人攻击。除此之外,RDS还提供了服务器端SSL证书的启用和更新能力,以便用户按需更替SSL证书以保障安全性和有效性。
    
    RDS的SSL配置请参见设置SSL加密。
    
    SSMS
    
    SQL Server Management Studio,SSMS是用于管理SQL Server基础架构的集成环境,提供用于配置、监视和管理SQL Server实例的工具。 此外,它还提供了用于部署、监视和升级数据层组件(如应用程序使用的数据库和数据仓库)的工具以生成查询和脚本。
    
    实例
    
    一个独立占用物理内存的数据库服务进程,是虚拟化的数据库服务器。可以设置不同的内存大小、磁盘空间和数据库类型。您可以在一个实例中创建和管理多个数据库。
    
    数据库
    
    在一个RDS实例下创建的逻辑单元,以一定方式储存在一起、能与多个用户共享、具有尽可能小的冗余度、与应用程序彼此独立的数据集合,可以简单理解为存放数据的仓库。一个实例可以创建多个数据库,数据库在实例内的命名唯一。
    
    数据库代理
    
    RDS数据库代理是位于数据库服务端和应用服务端之间的网络代理服务,用于代理应用服务端访问数据库时的所有请求,具有高可用、高性能、可运维、简单易用等特点,同时提供自动读写分离、事务拆分、连接池等高级功能。
    
    更多信息,请参见什么是数据库代理。
    
    死锁
    
    DeadLock,由于事务的特殊机制,一个事务对特定资源进行修改的同时会锁定该资源,防止其他并发事务对该资源进行修改,以达到数据一致性的目的。死锁通常是由多个事务互相竞争资源引发的。
    
    顺序I/O
    
    按照顺序向磁盘进行读写操作。
    
    随机I/O
    
    随机向磁盘进行读写操作。
    

    “Remote Data Service”,它是一种远程数据服务,可用于在不同的应用程序之间共享数据

    钉钉事件回调RDS(Remote Data Service)是指在钉钉中,当某个事件发生时,会将该事件的处理逻辑异步地调用远程的服务器,由服务器来处理该事件,并将处理结果返回给钉钉客户端。
    image.png

    RDS的实现原理可以概括为以下几个步骤:

    1. 钉钉客户端在初始化时,会向服务器注册事件类型和对应的处理函数。
    2. 当某个事件发生时,钉钉客户端会将该事件的处理逻辑异步地调用远程的服务器。
    3. 服务器接收到事件后,会根据事件类型找到对应的处理函数进行处理。
    4. 服务器处理完事件后,会将处理结果返回给钉钉客户端。
    5. 钉钉客户端接收到处理结果后,会根据处理结果进行相应的处理,比如更新界面等。
      RDS的优点在于,可以将事件处理逻辑与钉钉客户端的逻辑分离,使得事件的处理更加灵活和高效。同时,RDS也可以避免因为事件处理逻辑过于复杂而导致钉钉客户端代码过于臃肿。

    555px-Callback-notitle.svg.png

    回调(Callback)是一种编程技术,指的是在程序执行过程中,将一部分代码的执行结果或状态传递给另一部分代码,以便在适当的时候进行处理。回调通常用于异步编程,比如在网络编程中,当服务器接收到客户端的请求时,可以调用一个回调函数来处理该请求,而不需要等待服务器处理完该请求后再执行后续代码。image.png

    回调的技术原理可以概括为以下几个步骤:

    1. 定义回调函数:在程序执行过程中,需要调用一个回调函数来处理某个事件或操作。这个回调函数通常是在定义时传入一个函数指针或一个函数对象。
    2. 注册回调函数:在程序执行过程中,回调函数需要注册到某个系统中,以便在需要的时候被调用。通常情况下,回调函数会被注册到一个事件处理器或回调队列中。
    3. 触发回调函数:当某个事件或操作发生时,系统会根据注册的回调函数列表,依次调用这些回调函数来处理该事件或操作。
    4. 执行回调函数:回调函数被调用后,会根据传入的参数和函数定义来执行相应的操作,并将结果返回给调用者。
    5. 处理回调函数的结果:调用者需要根据回调函数返回的结果,进行相应的处理,比如更新界面、发送通知等。
    2023-12-21 08:42:38
    赞同 展开评论 打赏
来源圈子
更多
收录在圈子:
+ 订阅
问答排行榜
最热
最新

相关电子书

更多
搭建电商项目架构连接MySQL 立即下载
搭建4层电商项目架构,实战连接MySQL 立即下载
PolarDB MySQL引擎重磅功能及产品能力盛大发布 立即下载

相关镜像