标签: real-time

是否有开源实时协作wiki引擎?

我正在寻找一个维基引擎:

  • 开源
  • 即时的
  • 共同

MediaWikiGoogle Docs的开源版本之间的混合,其中几个用户可以实时看到彼此的编辑.

有这样一个最先进的野兽吗?

ajax mediawiki real-time collaborative

9
推荐指数
1
解决办法
1727
查看次数

IPC速度和比较

我正在尝试实现一个涉及不同模块的IPC的实时应用程序.这些模块正在进行一些数据密集型处理.我在原型中使用消息队列作为IPC的主干(Activemq),这很容易(考虑到我是一个完全的IPC新手),但它非常慢.

这是我的情况:

  • 我已经隔离了IPC部分,以便将来可以改变其他方式.
  • 我有3周的时间来实现另一个更快的版本.;-(
  • IPC应该很快,但也比较容易上手

我一直在研究不同的IPC方法:套接字,管道,共享内存.但是,我没有IPC的经验,我绝对没有办法在3周内让这个演示失败......哪种IPC是安全的开始?

谢谢.百合

sockets ipc real-time pipe shared-memory

9
推荐指数
2
解决办法
9833
查看次数

ReverseHTTP到底是什么?为什么它会有用?

reversehttp.net几乎无法立即了解reversehttp的真正含义以及如何最好地利用它,这使得该工具似乎难以实际实现.在什么样的环境中,这可能是理想的实时Web数据情况,什么时候不起作用,哪些浏览器支持这种方法,它究竟是什么?

  • 是什么让reversehttp与其他PUSH实现不同?

感谢能够提供帮助的人,并且首先听到了这一点,并且知道它是什么.

javascript ajax real-time

9
推荐指数
1
解决办法
352
查看次数

可扩展的Pub/Sub引擎实时

我正在寻找一个pub/sub引擎,具有以下要求:

  1. 极低的潜伏期<0.5秒
  2. 可扩展
  3. Shardable(基于地理定位)

我希望能够拥有多个发布/订阅服务器,并能够从任何服务器发布或订阅频道,无论在哪个服务器上声明频道.

例如:

如果用户A连接到服务器SRV1并且用户B连接到服务器SRV2,如果用户B订阅" MyChannel "并且用户A在频道" MyChannel " 上发布内容,则用户B将获得该消息,即使他未连接到同一服务器.

我不知道Redis是否能够做到这一点.我没有找到关于这个主题的任何信息.欢迎任何帮助.

scalability sharding real-time publish-subscribe redis

9
推荐指数
1
解决办法
5832
查看次数

使用Google App Engine的大量多用户实时应用程序

我正在使用Google App Engine(Python)构建一个多用户实时应用程序,它看起来像Facebook livestream插件:https://developers.facebook.com/docs/reference/plugins/live-stream/

这意味着:同一网页上的1到1 000 000个用户可以执行立即通知其他人的操作.这就像群聊,但有很多人......

我的问题:
- App Engine 能够扩展到那种数字吗?
- 如果是的话,你会如何设计它?
- 如果不是,你的建议是什么?

现在,这是我的设计:
- 我正在使用App Engine Channel API
- 我将每个连接在memcache中的用户存储起来
- 每次执行操作时,都会向任务队列添加一个通知任务
- 任务包括检索所有用户来自memcache并向他们发送通知.

我知道我的瓶颈在于任务.通过相同的任务/请求通知每个人.目前,对于连接的30个用户,它持续约1秒,因此对于10万用户,您可以想象可以花多长时间.

你怎么纠正这个?

非常感谢

google-app-engine real-time multi-user channel-api

9
推荐指数
1
解决办法
2548
查看次数

Java NIO选择器可能的最小延迟

我在Linux over loopback(127.0.0.1)上使用优化的Java NIO选择器进行一些基准测试.

我的测试非常简单:

  • 一个程序将UDP数据包发送到另一个程序,该程序将其回送给发送方并计算往返时间.下一个数据包仅在前一个数据包被激活时(当它返回时)发送.在执行基准测试之前,会进行适当的预热,并提供数百万条消息.该消息有13个字节(不包括UDP头).

对于往返时间,我得到以下结果:

  • 最短时间:13微秒
  • 平均时间:19微秒
  • 75%百分位数:18,567纳诺
  • 90%百分位数:18,789纳克
  • 99%百分位数:19,184纳克
  • 99.9%百分位数:19,264纳米
  • 99.99%百分位数:19,310纳米
  • 99.999%百分位数:19,322纳米

但这里的问题是我正在传输100万条消息.

如果我只旋转10条消息,我会得到非常不同的结果:

  • 最短时间:41微秒
  • 平均时间:160微秒
  • 75%百分位数:150,701纳米
  • 90%百分位数:155,274纳米
  • 99%百分位数:159,995纳克
  • 99.9%百分位数:159,995纳克
  • 99.99%百分位数:159,995纳米
  • 99.999%百分位数:159,995纳克

如果我错了,请纠正我,但我怀疑,一旦我们让NIO选择器旋转,响应时间就变得最佳.但是,如果我们发送的消息之间有足够大的间隔,我们会支付唤醒选择器的价格.

如果我只发送一条消息,我会得到150到250微秒的不同时间.

所以我对社区的问题是:

1 - 我的最小时间为13微秒,平均为19微秒,这次往返包测试.看起来我到目前为止击败了ZeroMQ所以我可能会在这里遗漏一些东西.从这个基准测试来看,ZeroMQ在标准内核上的平均时间为49微秒(99%)=> http://www.zeromq.org/results:rt-tests-v031

2 - 当我旋转一条或几条短信时,我能做些什么来改善选择器的反应时间吗?150微米看起来不太好.或者我应该假设在prod环境中选择器不会完全?


通过忙于围绕selectNow()旋转,我能够获得更好的结果.发送少量数据包仍然比发送许多数据包更糟糕,但我认为我现在正在达到选择器性能限制.我的结果:

  • 发送一个数据包我得到一致的65微秒往返时间.
  • 发送两个数据包我平均可以获得39微秒的往返时间.
  • 发送10个数据包我平均可以获得17微秒的往返时间.
  • 发送10,000个数据包我平均可以获得10,098纳克的往返时间.
  • 发送100万个数据包我平均得到9,977纳米的往返时间.

结论

  • 因此,看起来UDP数据包往返的物理屏障平均为10微秒,尽管我得到了一些数据包,以8微秒(最短时间)进行旅行.

  • 随着忙碌的旋转(感谢Peter),我能够从平均200微秒变为单个数据包的平均65微秒.

  • 不确定为什么ZeroMQ 慢5倍.(编辑:也许是因为我通过环回在同一台机器上测试它,而ZeroMQ使用两台不同的机器?)

java messaging nio real-time zeromq

9
推荐指数
1
解决办法
2897
查看次数

C#.NET可以用于硬实时吗?

鉴于熟悉的.NET形式是在Windows上运行的,而不是实时的操作系统,而且MONO在Linux上运行(标准内核也不是实时O/S).

同样,任何提供垃圾收集的内存分配方案(如"托管".NET),以及任何堆内存方案都会在应用程序的执行行为中引入非确定性的,可能非平凡的延迟.

是否存在备用主机O/S和编码范例的任意组合,其中可以利用C#.NET的所有功能和便利,同时实现可以在严格指定的时间限制内执行代码的指定部分的解决方案?例如启动一个C#方法每10ms至小于1ms的公差,以完成时间仅受方法本身执行的工作确定的?

显然,应用程序必须仔细编写; 时间关键代码必须避免内存分配; 应用程序必须完成所有内存分配等工作,并且在启动硬实时循环后没有其他线程处于活动状态.此外,主机O/S必须支持实时调度.

这是否可以在.NET/MONO框架内实现,或者是否支持.NET运行时,框架和支持它(或兼容的等效)的O/S?

例如:是否可以使用类似NETduino的 C#进行可靠的细粒度(~1ms)机器控制,或者它们是否有限制或需要替代策略用于此类应用?

.net c# real-time

9
推荐指数
1
解决办法
1605
查看次数

构建SignalR/Knockout仪表板,保证消息传递

我正在考虑使用实时消息替换我们公司的监控仪表板.

旧概念:

在我们公司,我们有一个仪表板,显示超过700台物理机的(相当详细的)状态,以及添加的元信息.它大约在1.5年前由我的一位同事在ASP.NET Web Forms(我不喜欢)中构建,以使调度员能够协调我们的技术人员应该去解决问题的位置(这些机器位于不同的地理位置) ).

不幸的是,该应用程序使用30秒的完整页面自动刷新,后面有一个大查询.它很慢,它完全重置你的视图(正如我所说,仪表板包含超过700多台机器).我个人想改变这个.使用起来非常烦人.我们的调度员已经学会了接受这一点,但我认为他们应该得到更好的待遇.

新概念:

我想在新的仪表板上显示相同的内容,但具有实时更新和"消息"日志.在我们公司,我们在MS堆栈上工作了大约90%,因此我计划使用ASP.NET MVC,SignalR,SQL Server和Knockout.

我现在有什么

看看这个简单的图表:

 +----+ +----+ +----+ +----+ +----+ +----+ +----+            
 | PC | | PC | | PC | | PC | | PC | | PC | | PC | ... ...    
 +--+-+ +--+-+ +-+--+ +--+-+ +--+-+ +--+-+ +--+-+            
    |      |     |       |      |      |      |              
    |   +--+  +--+  +----+    <-+    <-+    <-+              
    |   |     |     |                                        
+---v---v-----v-----v+         +-----------------------+     
|                    | TCP/IP  |                       |     
| Monitoring Backend +--------->  Data …
Run Code Online (Sandbox Code Playgroud)

c# asp.net real-time signalr knockout.js

9
推荐指数
2
解决办法
1944
查看次数

如何在Android中的Graph中绘制实时传感器值?

我想在Android应用程序中绘制传感器值图.

哪个图书馆最适合这个?

plot android graph real-time android-sensors

9
推荐指数
1
解决办法
1万
查看次数

用于定义和处理实时体育赛事的数据库建模

我试图实时存储和处理体育赛事,并希望创建一个最佳系统,因为这将每秒处理100个事件.系统将在体育比赛之前存储事件,然后实时或在半场/会话/比赛结束时处理它们.

在我的系统中,每个Event都分解为以下组件

  • WHO谁是与之相关的事件.团队,球员,裁判,观众等
  • WHAT 什么是事件(目标,通过,保存等)
  • WHEN 活动的时间细节
  • HOWMUCH 如何定义事件值
  • TYPE定义何时应该检查 - INDIVIDUAL:realtime, AGGREGATE:end ofWHEN

以下是足球的一些例子

1. No goals scored in 2nd Half
TEAM: *, WHAT: __GOAL, WHEN: __HALF_2, HOWMUCH: 0, TYPE: AGGREGATE 
{
    "who" : {"team":*},     
    "what" : "__GOAL",
    "when" : "__HALF_2"
    "howMuch" : {"value":0, "type" :"exact"},
    "type" : "AGGREGATE"
}


2. Either keeper to complete 3 or more punches
PLAYER: (p1 v p2), WHAT: __PUNCH, WHEN: __MATCH, HOWMUCH: 3+, TYPE: INDIVIDUAL
{ …
Run Code Online (Sandbox Code Playgroud)

database dsl database-design real-time

9
推荐指数
1
解决办法
187
查看次数