欢迎访问深圳敏捷云计算科技有限公司!

甲骨文云OCI -APP应用开发 - 以事件驱动为核心

2024-03-07 原创文章

 

事件驱动的应用程序模式使您能够近乎实时地响应云资源中的变化和应用程序生成的事件。

事件是系统中任何重要的发生或变化,例如,在对象存储中新创建的对象,或应用程序中的性能警报。这种应用程序模式提出了创建可扩展、安全、可靠和高性能事件驱动应用程序的设计原则和架构。

甲骨文云基础设施(OCI)提供了如OCI服务连接器中心和OCI事件等服务,帮助您构建事件驱动的应用程序。OCI服务连接器中心使您能够创建服务连接器,用于在服务之间移动数据。服务连接器指定包含要移动的数据的源服务、可选任务以及任务完成时用于数据交付的目标服务。可选任务的示例包括用于处理源数据的函数任务,或用于过滤源日志数据的日志过滤任务。支持的服务连接器源服务包括OCI监控、OCI日志记录和OCI流媒体。目标服务的示例包括:OCI函数、OCI通知和OCI对象存储。您可以使用OCI事件来引发资源更改事件,这些事件可以通过流被服务连接器摄取。同样,您的应用程序可以引发自定义事件,并使用流将它们路由到服务连接器。


设计原则

在设计事件驱动应用程序的架构时,请使用以下现代应用程序开发原则:

  • 尽可能使用低代码平台,如果不行,使用成熟的编程语言和轻量级框架
  • 使用CloudEvents描述您的事件数据,这是一种开放的行业标准格式。CloudEvents使您能够以一致、广泛使用的格式描述事件数据,并为包括Java在内的多种编程语言提供软件开发工具包(SDK)。使用甲骨文云基础设施事件创建的事件使用CloudEvents格式。
  • 使用托管服务消除应用开发和运维的复杂性
  • 使用托管服务来通信、处理和持久化事件数据。
  • 使用OCI服务连接器中心协调服务之间的数据移动。使用诸如OCI函数或甲骨文容器引擎Kubernetes(OKE)等托管服务来处理事件。使用OCI通知将服务连接器连接到下游服务,如电子邮件、SMS、Slack或PagerDuty。
  • 实现端到端监控和追踪
  • 事件路由器如OCI服务连接器中心和OCI事件在OCI监控中生成指标,使监控应用程序事件并构建自定义指标和告警变得容易。对于端到端的分布式追踪,使用日志规则(OCI日志分析)和基于告警的监控(OCI通知)构建自定义仪表板,以使管理员能够发现并迅速应对任何问题。此外,事件路由器具有提供事件足迹单一视图的独特能力。


架构

  • 此架构使用现代应用程序开发原则创建事件驱动应用程序。


架构包含以下组件:

流媒体

  • 甲骨文云基础设施流媒体提供了一个完全托管、可扩展且持久的存储解决方案,用于摄取连续的、大量的数据流,您可以实时消费和处理这些数据。您可以将流媒体用于摄取大量数据,例如应用程序日志、操作遥测、Web点击流数据;或者用于其他数据持续且按顺序在发布-订阅消息模型中产生和处理的用例。

函数

  • 甲骨文云基础设施函数是一个完全托管的、多租户的、高度可扩展的、按需的函数即服务(FaaS)平台。它由Fn Project开源引擎驱动。函数使您能够部署代码,并直接调用或响应事件触发它。甲骨文函数使用托管在甲骨文云基础设施注册表中的Docker容器。

服务连接器

  • 甲骨文云基础设施服务连接器中心是一个云消息总线平台,协调OCI中服务之间的数据移动。您可以使用服务连接器将数据从源服务移动到目标服务。服务连接器还允许您选择性地指定在数据交付到目标服务之前执行的任务(例如函数)。
  • 您可以使用甲骨文云基础设施服务连接器中心快速构建安全信息和事件管理(SIEM)系统的日志聚合框架。
  • 您可以使用服务连接器将数据从源服务移动到目标服务。服务连接器还允许您选择性地指定在数据交付到目标服务之前执行的任务(例如函数)。

通知

  • 甲骨文云基础设施通知服务通过发布-订阅模式向分布式组件广播消息,为托管在甲骨文云基础设施上的应用程序提供安全、高度可靠、低延迟和持久的消息。


示例用例

“日志数据告警”用例采用事件驱动架构,使用甲骨文云基础设施(OCI)服务连接器中心、OCI日志记录和OCI监控服务来实现日志数据的告警。此用例创建一个服务连接器和一个告警。服务连接器(OCI服务连接器中心)处理并将日志数据从OCI日志记录移动到OCI监控,而告警则在接收到日志数据时触发。有关详细信息,请参阅“更多探索”主题中的场景链接。


部署

通用健康组织(UHO)是一个符合现代应用程序开发框架原则的示例应用程序。特别是,它实现了Web或移动端、消息传递和事件驱动架构模式的元素,并且可在GitHub上获取。

  1. 访问GitHub。
  2. 克隆或下载仓库到您的本地计算机。
  3. 按照README文档中的指示操作。



开启您的Oracle云之旅:Agilewing - 您的智能云服务伙伴

作为Oracle的高级合作伙伴,Agilewing正重新定义企业体验Oracle云服务的方式。借助于其简化的开户流程和一流的技术支持,Agilewing将复杂的开户和操作流程转化为一种轻松、直观的体验。通过我们的一站式服务,您可以迅速开启并享受Oracle云的全方位服务,从而无缝融入云端世界。


Agilewing的AgileCDN服务,结合了OCI的云基础服务,提供了一流的全球内容加速解决方案。超过2800个全球POP节点和7000个直连点的强大网络,确保了无论您的业务扩展到全球哪个角落,都能保持高效稳定的运行。


利用Oracle云的先进技术,Agilewing致力于简化云服务搭建、云迁移和业务出海的过程。我们的合作模式为客户带来经济高效的解决方案,使他们能够更加专注于核心业务,同时享受Oracle云的高性能和安全保障。


Oracle云服务,作为一个充满潜力的领域,以其高性能、安全性和全球统一的服务标准,为各类企业开启了新的机遇之门。通过Agilewing的专业服务,无论是个人用户还是企业,都能轻松步入这个充满技术革新和高效能的新时代。现在,就让Agilewing引领您开始探索Oracle云服务,打开一个全新的世界大门