未找到结果

没有与搜索匹配的结果

常见问题解答

全部展开 全部收起

    基本问题

  • Oracle 云基础设施流处理 (OSS) 是什么?

    Oracle 云基础设施流处理服务是一个全托管、可扩展的持久存储解决方案,可用于从多个来源采集海量连续数据流,以便用户能以近乎实时的方式使用和处理这些数据。

  • OSS 为我管理哪些方面?

    该服务是全托管的 — 从底层基础设施到供应、部署、维护、安全补丁、复制和使用者组,从而让应用开发变得更容易。

  • Oracle 云基础设施流处理如何提供弹性?

    当您在 Oracle 云基础设施流处理中创建流时,Oracle 会自动创建和管理分布在 3 个不同 AD 中的 3 个流节点 (或单个 AD 区域的不同故障域),以确保流的高可用性以及数据的高度持久性。

  • 我可以用 OSS 做些什么?

    OSS 支持您以近乎实时的方式发送数据和检索数据。从消息传递到复杂的数据流处理,其用例几乎是无限的。

    下面是流处理的一些可能的用例:

    • 消息传递:使用流处理解耦大型系统的组件。流处理提供基于拉取/缓冲区的通信模式,足以平抑负载峰值,并且能够为多个使用者分别馈送相同的数据流处理的键范围排序、低延迟和持久性保证提供了可靠的原语来实现各种消息传递模式,而高吞吐量潜能则为此类系统带来了强大的扩展能力。
    • 指标和日志采集:使用流处理来替代传统的文件抓取方法,有助于更快地将关键运行数据用于索引编制、分析和可视化。
    • Web/移动活动数据采集:使用流处理来从网站或移动应用获取活动数据(例如页面浏览量、搜索量,或者用户可能执行的其他操作的数量)。此信息可用于进行实时监视和分析,以及在数据仓库系统中进行脱机处理和报告。
    • 基础设施和应用事件处理:使用流处理作为云组件的统一入口点来报告这些组件的生命周期事件,以便进行审计、核算以及相关活动。
  • 如何使用 OSS?

    您可以通过以下方式来着手使用 OSS:

    • 通过 OSS 控制台或 CreateTopic API 创建新流
    • 将数据从生产者发送至主题(请参阅 文档
    • 创建使用者以读取和处理流中的数据

    关键概念

  • 流是什么?

    流视可以被视为包含消息的仅追加的日志文件。

  • 分区?

    流可划分为多个分区来实现可扩展性。利用分区,您可以将消息拆分到多个节点(或代理),从而实现流分布 — 可以将各个分区放置在单独的计算机上,从而支持多个使用者并行读取主题。

  • 消息?

    发送到主题的 64 位编码消息。

  • 偏移是什么?

    分区中的每个消息都有一个偏移标识符。使用者可以从特定偏移量开始读取消息,并且可以从所选择的任何偏移点进行读取。使用者还可以提交最新处理的偏移,这样在停止工作并重新开始工作时可以继续工作而不会重播或丢失消息。

  • 键是什么?

    键是用于对相关消息进行分组的标识符。

    创建流

  • 如何新建一个流?

    您可以使用我们的控制台或 API 来新建一个流。在此查看 API。

    流是针对特定区域和租户创建的,您也可以选择为专有隔离区创建流。流数据将在整个区域内复制,因此可以承受 AD 丢失或网络分离的问题,而不会中断服务,并且可在一个区域内提供内置高可用性。

  • 供应需要多长时间?

    供应时间取决于分区数量。创建一个新分区至多只需要 10 秒。

  • 如何确定所需要的分区数量?

    流的分区数量取决于应用的预期吞吐量(预期吞吐量 = 平均记录大小 x 每秒写入的最大记录数量)。

  • 流的最小吞吐量是多少?

    Oracle 云基础设施流的吞吐量由分区定义。一个分区提供 1MB/秒的数据输入和 2MB/秒的数据输出。

  • 我可以向一个分区发送多少个请求?

    您每秒可以向分区发送 1000 个请求。

    将数据发布至流

  • 如何将数据发送到流中?

    当流创建完成并处于活动状态之后,您就可以发布消息了。您可以使用 Write API (putMessages) 来发布消息。消息将发布到流中的一个分区。如果有多个分区,则使用消息的键来计算要将消息发布至哪个分区。

  • 如果发送 null 键,则 OSS 将如何存储数据?

    如果键为 null,则使用值的子集来计算分区。对于具有 null 键的消息,不要认为具有相同值的消息会进入相同的分区,因为分区模式可能会发生更改;发送 null 键实际上会随机地将消息推入某个分区。

  • 如何确保 OSS 中的消息顺序?

    如果要确保具有相同值的消息进入相同的分区,则应当对这些消息使用相同的键。

  • 如何确保消息的持久性?

    当 OSS API 确认 putMessage 没有错误之后,该消息即具备持久性。

  • 您如何确保 OSS 流中数据的一致性?

    OSS 可确保对分区键进行线性化的读取和写入操作。

  • 如果我发送的数据量超过了授权的最大值,那么会发生什么?

    当客户端请求超出限制时,OSS 会拒绝该请求并发出错误异常消息

    使用流中的数据

  • 如何读取和使用流中的数据?

    要使用消息,您需要:

    • 创建一个游标
    • 使用游标读取消息
    • 有关使用流中的数据的分步式指南,请参阅技术文档

  • 我可以用哪些不同的方式来使用 OSS 流中的数据?

    OSS 提供两种使用 API:

    • 低级检查 — 精确控制分区和读取数据的偏移量
    • 使用者组 — 将负载均衡、协调和偏移跟踪分流至服务,从而简化应用开发
  • 使用者组是如何工作的?

    可以将使用者配置为组成员,以组成员的身份来使用消息。流分区在组成员间分配,以便来自任何单一分区的消息仅会发送至单一使用者。

    当使用者加入或离开使用者组之后,分区分配会重新平衡。

  • 如何避免向使用者发送重复消息?

    我们建议由使用者应用来处理重复项。

  • 如何知道使用者是否落后?

    若想知道使用者是否落后(生产速度快于使用速度),请使用消息时间戳与当前时间之间的差值。如果此数字增加,则您会希望产生一个新的使用者来接管首个使用者的一些分区。

    管理 OSS 流

  • 分区数量日后可以更改吗?

    我们建议客户分配的分区略高于其最大吞吐量。这将帮助他们应对其应用峰值,因为我们当前并不支持在创建流之后更改分区数量。

  • 我可以更改主题的持久性吗?

    默认情况下,我们会将数据存储 24 小时。在创建流时,您最多可以设置 7 天的保留期。一旦定义保留期之后,就无法对其进行编辑。

  • 如何监视 OSS 流的运行状况和性能?

    Oracle 云基础设施流处理控制台提供运行和性能指标,例如数据输入和输出的吞吐量。OSS 还与 Oracle 云基础设施遥测相集成,以便您可以收集、查看和分析流的遥测指标。

    安全性和加密

  • 如何管理和控制对流的访问?

    同一租户中的所有流都具有唯一且不可变的名称。每个流都会分配一个隔离区。因此,可以使用 Oracle 云基础设施访问控制策略的全部功能来描述租户、隔离区或单个流级别的细粒度规则。

    访问策略将以 "Allow to in where " 的形式指定。

  • 从 OSS 发送数据或使用 OSS 中的数据时,如何进行身份验证?

    我们的互联网 API 使用 Oracle 身份服务。Oracle 身份服务提供了一种便捷的方式来验证用户身份以及授权通过浏览器(用户名/密码)和代码(API 密钥)来访问此类 API。

    请参阅此文档。

  • 在使用 OSS 时,数据的安全性如何?

    OSS 提供默认安全性 — 静态和动态用户数据均经过加密。只有帐户和数据流所有者可以访问其创建的流资源。OSS 支持通过用户身份验证来控制对数据的访问。您可以使用 Oracle 云基础设施 IAM 策略选择性地为用户和用户组授予权限。您可以使用 HTTPS 协议,通过 SSL 端点安全地在 OSS 中放置数据以及从 OSS 中获取数据。

  • 我可以对数据进行加密吗?

    您所发送的数据为您自己所有;在将数据发送至 OSS 之前,您可以对自己的数据进行加密。

  • 从向 OSS 流发送数据到检索数据的整个数据加密生命周期是什么样的?

    采集(您的生产者 — 流处理网关):通过 SSL (HTTPS) 进行动态数据加密。

    流处理服务内部:在 SSL 端接网关上,数据在到达时会通过基于流的 AES-128 密钥进行加密,并发送至存储层以实现持久性。

    在使用时:从 OSS 读取加密数据,由网关节点解密,并通过 SSL 发送给使用者。

  • OSS 加密使用哪种加密算法?

    OSS 使用 AES-GCM 128 算法进行加密。

    定价和计费

  • 该服务的价格是多少?

    OSS 使用简单的即用即付定价模式。没有前期费用或最低费用,您只需为所使用的资源付费。

    • GET/PUT 请求价格(数据传输量 (GB))

    可选:

    • 扩展数据保留是一项可选成本,取决于默认 24 小时保留期之外的额外保留天数(每小时存储量 (GB))
  • OSS 有免费套餐吗?

    OSS 没有免费套餐。