gpt4 book ai didi

iphone - 如何最好地存储 SNMP 消息并将其发送到 ios?

转载 作者:太空宇宙 更新时间:2023-11-04 11:28:09 24 4
gpt4 key购买 nike

我的目标是从客户端(可能有防火墙)的后端服务器传输 SNMP 消息,将它们存储在一些快速的数据库服务器中,然后将它们推送到 iOS 设备 (http://bit.ly/vwBf5)。

我有什么选择?

  1. 封装 snmp 消息并通过 http 将其传输到数据库服务器,然后推送到 iOS 并存储在某个数据库中。 SNMP 代理 -> 处理服务器(一些处理传入消息的引擎) -> 推送到 iOS

  2. 然后使用一些 snmp 代理来捕获。使用自己的 ActiveMQ 服务器推送到 IOS,并使用一些快速持久性数据库。代理 -> ActiveMQ 服务器(用于持久化的 Hadoop) -> iOS

在数据库中,我将存储登录名、时间、消息、来源、发送到苹果、服务器 ID 和用户名。大多数时候数据库只会写入,但有时它会读取(来自网络请求)。

我有哪些选择:Hadoop、Cassandra、Mongo?

最佳答案

好吧,有点模糊的场景。但是,由于您已经考虑过 ActiveMQ,请也看看 Apache Camel,它可以满足您的需求(可能是因为它有点难以理解):

Camel has support读取 SNMP 陷阱(或轮询 SNMP 消息),以及支持将消息发送到 APNS 以及多个数据库(包括 MongoDB、Hadoop 以及兼容 JDBC 的 SQL 服务器)。

这只是它在 Camel 代码中的样子的一个例子(请注意,您需要一些消息的自定义格式以及配置才能工作,当然,所以请不要尝试按原样运行此代码):

from("snmp:127.0.0.1:162?protocol=udp&type=TRAP")  // from SNMP trap
.convertBodyTo(String.class)
.setHeader(ApnsConstants.HEADER_TOKENS, constant(IOS_DEVICE_TOKEN))
.to("apns:notify") // TO iOS
.to("mongodb:myDb?database=mySnmp&collection=traps&operation=insert"); // To DB

或者,如果您觉得由于陷阱的高峰值负载而必须进行一些暂存,您也可以这样做:

from("snmp:127.0.0.1:162?protocol=udp&type=TRAP")  // from SNMP trap
.convertBodyTo(String.class)
.to("seda:stagedProcess"); //

from("sead:stagedProcess")
.setHeader(ApnsConstants.HEADER_TOKENS, constant(IOS_DEVICE_TOKEN))
.to("apns:notify") // TO iOS
.to("mongodb:myDb?database=mySnmp&collection=traps&operation=insert"); // To DB

关于iphone - 如何最好地存储 SNMP 消息并将其发送到 ios?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13209568/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com