[英]Oracle service bus with BigData
我没有使用Oracle Service Bus的丰富经验,我正在尝试使用BigData设计日志记录解决方案。
如我所读,OSB中的默认日志和报告活动会将数据放入域的服务器日志文件中,或放入我们设置服务器域的数据库中。 如果要将所有日志放入单独的BigData数据库中。 我将需要以下两种方法之一:
请告诉我有关我应该使用哪种方法的一些想法,如果可以的话,请提供您的原因,非常感谢。
weblogic中的日志记录框架不是基于Log4j吗? 这意味着您可以使用JMSAppender(如果可以的话,可以谨慎地包装Async log4j附加程序)并根据需要进行处理。
或者,如果您正在谈论OSB报告框架,则有一些选择:
我不建议在中间没有异步步骤的情况下使用Web服务或数据库标注,因为您需要非常快速地进行日志记录和报告,并在尽可能短的时间内使用最少的资源。
遇到负载时,您不想登录到hog线程。 我已经看到整个总线由于一次打brought而崩溃,因为日志记录数据库遭受性能故障,这导致一堆试图记录到它的开放线程,这导致线程饥饿或超时,从而导致更多错误记录...
如果您有像JMS队列这样的缓冲区,则可以通过提前计划来处理峰值。 您可以说“实际上我想要一个10,000条消息的JMS队列,并且如果由于某种原因导致溢出,我想(将溢出溢出推到另一个框上的单独队列中)或(过滤掉所有非必要的消息)或(扔掉新消息)或(您选择的操作)。是的,如果日志记录数据库失败,那么我将尝试3次提交,否则,将其移至另一个队列”。 或任何您想要的。
有多种方法可以实现此目的。 您可以使用报告活动推送到JMS或使用日志活动。
您还可以编写一个这样的小例程(在OSB上或在OSB外部),该例程可以读取您正在记录的任何内容(例如,通过日志活动,还可以包含在打开对OSB组件的监视时记录的其他元数据)。并根据需要进行处理(例如将其推送到数据库或BigData存储)。
关键是要避免在每个管道/流中编写显式的服务调用,并且上述方法使用标准的OSB / ODL *记录器
* Oracle诊断日志
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.