套接字或使用 wso2 实时接收和处理数据

Posted

技术标签:

【中文标题】套接字或使用 wso2 实时接收和处理数据【英文标题】:Sockets or using wso2 for receiving and processing data in realtime 【发布时间】:2012-08-23 18:22:04 【问题描述】:

我想知道这是否可能,并且我使用的方法是正确的:)

我在 .net 上使用 c# 和 DB 是 SQL。

我正在尝试创建一个应用程序,我将在其中获取多个数据(每秒 1000 条记录的基准),我们所说的每条记录大约为半 kb。

我需要接收相同的,处理数据以触发通知,然后插入数据库。

我的解决方案: (a) 在负载均衡器上接收数据。 (b) 使用某种技术与 Sockets 在每个服务器上的各种端口上接收数据。 (c)中间存储(我还没有弄清楚)因为我需要处理每个数据包,以获得正确的通知(通知在客户端网站的网页上更新) (d) 然后我将数据插入数据库。

我需要一些建议,正确的路径,我会在适当的时候弄清楚代码,但需要一个方法和技术的方向。

我还被告知如果我使用 wso2 中间件,我可以在不投资重型服务器的情况下实现上述目标

【问题讨论】:

【参考方案1】:

使用 WSO2 BAM。它旨在完全按照您的要求做,并且是开源的。下载并运行几个示例。下载binary and docs。它有一个非常快速的 Java SDK 来发布自定义数据。还有一个用于相同目的的 REST API。这会让您感兴趣,因为您使用的是 C#。

【讨论】:

【参考方案2】:

数据库 IO 将成为您的瓶颈,具体取决于您用于设置的内容。

就 C# 套接字应用程序而言,如果您使用异步套接字,每秒 1000 个数据包并不是很多,您不需要负载平衡器。当您获取数据包时,处理它们并将数据存储在 C# 中间类对象中,您可以在其中执行逻辑以确定网站是否需要更新。这些类还将处理将记录插入数据库并通知网站您有新数据。我使用 SignalR 从 C# 应用程序到 asp.net Web 应用程序执行此操作。

【讨论】:

以上是关于套接字或使用 wso2 实时接收和处理数据的主要内容,如果未能解决你的问题,请参考以下文章

详解使用nodejs+Socket打造P2P实时聊天室

节点(套接字)实时音频流/广播

在 C++ 套接字编程中嵌入 Python

用于实现实时聊天应用程序的推送通知与 Web 套接字?

如何检查套接字在一段时间内没有收到

socket 错误之:OSError: [WinError 10057] 由于套接字没有连接并且(当使用一个 sendto 调用发送数据报套接字时)没有提供地址,发送或接收数据的请求没有被接受。