首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于BigData的Oracle服务总线

基于BigData的Oracle服务总线
EN

Stack Overflow用户
提问于 2015-10-26 18:26:20
回答 2查看 589关注 0票数 0

我对Oracle没有多少经验,我正在尝试用BigData设计一个日志记录解决方案。

正如我所读的,OSB中的默认日志和报表活动将把数据放入域的服务器日志文件或我们设置服务器域的数据库中。如果我想把所有的日志放到一个单独的BigData数据库中。我需要这两种方法之一:

  1. Java标注,使用JMS或其他一些技术将数据发送到大数据服务器。
  2. Web服务标注,创建一个单独的web服务来处理日志记录。
  3. 创建自定义报表提供程序以替换OSB报表中的默认报表提供程序。
  4. 一些其他的东西

请告诉我一些关于我应该使用什么方法的想法,如果可以的话请提供你的理由,非常感谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-10-27 01:00:26

weblogic中的日志框架不是基于Log4j的吗?这意味着您可以使用JMSAppender (如果可能的话,可以谨慎地将其包装在异步log4j附录中)并任意处理它。

或者,如果您说的是OSB报告框架,有几种选择:

  1. 配置默认的JMS报告提供程序 (它使用底层的SOAINFRA数据库,希望它比默认的BigData实例更好),然后编写一个MDB,将报告从队列中取出并插入到SAS BigData中。
  2. 关闭JMS并使用自定义提供程序,它可以执行任何您想做的事情。如果您愿意,您仍然可以执行一个两步的过程,在这个过程中,报告提供者本身将报告放在JMS队列上,这样它就会快速返回,不同的MDB会按自己的速度提取并保存消息。

我不推荐在中间不执行异步步骤的web服务或数据库标注,因为您需要非常快的日志记录和报告,并且尽可能短时间使用尽可能少的资源。

您不希望在遇到负载时登录到线程中。我看到整个总线因为一次打嗝而中断,因为日志数据库遇到了性能问题,这导致了大量打开的线程试图登录,导致线程饥饿或超时,从而导致更多错误日志记录.

如果您有一个类似JMS队列的缓冲区,那么您可以通过提前计划来处理峰值。您可以说:“实际上,我想要一个包含10,000条消息的JMS队列,如果由于任何原因而导致溢出,我想要(将溢出推到另一个框上的单独队列中),或者(过滤掉所有不必要的消息)或(丢弃新消息)或(您选择的操作)。哦,是的,如果日志数据库失败,我将尝试提交3次,如果不是,将它移到其他队列”。或者任何你想要的。

票数 1
EN

Stack Overflow用户

发布于 2018-01-16 02:40:26

要实现这一点,有多种方法。您可以使用报表活动推送到JMS或使用日志活动。

您还可以编写一个小的例程就像这样 (无论是在OSB上还是在它之外),它可以读取您正在记录的任何内容(例如通过日志活动,也可以通过打开OSB组件的监控时记录的附加元数据),并对其执行所需的任何操作(例如将其推送到数据库或BigData存储)。

关键是避免在每个管道/流中写入显式服务调用,而上述方法(Es)使用伐木工

*Oracle诊断测井

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33353007

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档