我正在寻找实现分布式代理/服务模型的工具......我想我们也可以称之为网格或云计算,但我不确定这个术语是否完全是偶然的.分布式代理模型是开发人员构建分派给框架的代理并且框架在分布式环境中的某个地方执行代理的模型.
具体来说,我正在寻找一个支持跨网格/云动态分发的框架,但用更持久的服务替换瞬态代理.这里的目标是最大限度地减少将服务部署到网格/云容器所需的时间和精力.
FWIW,我认为Digipede非常接近这一点,但我对那里还有什么感兴趣.我的印象是必须考虑装配分配才能使解决方案可行.
这是设置...您的系统正在接收包含离散消息的数据流(通常每条消息在32-128字节之间).作为处理管道的一部分,每条消息都通过两个物理上独立的应用程序,这些应用程序使用低延迟方法(例如UDP上的消息传递)或RDMA交换数据,最后通过相同的机制交换到客户端.
假设您可以在任何级别注入自己,包括线程协议分析,您将使用哪些工具和/或技术来衡量系统的延迟.作为其中的一部分,我假设传递给系统的每条消息都会导致相应的(虽然不是等效的)消息被推送到系统并传递给客户端.
我在市场上看到的唯一这样的工具是TS-Associates TipOff.我确信通过正确的访问,您可以使用线分析工具(ala wireshark)和正确的解剖器测量相同的信息,但这是正确的方法还是我可以使用任何商品解决方案?
我发现数据库通常有两种形式,传统的面向行的RDBMS或面向对象的数据库(OODBMS).然而,在90年代中期我记得,一种新的数据库显示出面向列.其中一些被赋予了术语4GL,但我不认为这是一个卡住的术语.
我想知道的是以下内容:
我记得使用的两个面向列的数据库是FAME和KDB.
我正在尝试自动化工程组的构建过程.作为自动化的一部分,我试图达到这样的程度,即应用符合模式的特定标记的行为将启动一个自动化过程,该过程将执行以下操作:
我很确定我可以用subversion中的post-hook做到这一点,但是我试图想办法用一个不同于subversion钩子的东西来做这件事.
我的偏好:
我有两个RDD.一个RDD在500万到1000万个条目之间,另一个RDD在5亿到7.5亿个条目之间.在某些时候,我必须使用公共密钥加入这两个rdds.
val rddA = someData.rdd.map { x => (x.key, x); } // 10-million
val rddB = someData.rdd.map { y => (y.key, y); } // 600-million
var joinRDD = rddA.join(rddB);
Run Code Online (Sandbox Code Playgroud)
当spark决定加入时,它决定做一个ShuffledHashJoin.这导致rddB中的许多项目在网络上进行混洗.同样,一些rddA也在网络上进行了洗牌.在这种情况下,rddA太"大"而不能用作广播变量,但看起来像BroadcastHashJoin会更有效率.是否有提示使用BroadcastHashJoin的火花?(Apache Flink通过联接提示支持此功能).
如果没有,是增加autoBroadcastJoinThreshold的唯一选择吗?
更新7/14
我的表现问题似乎完全依赖于重新分配.通常,从HDFS读取的RDD将按块进行分区,但在这种情况下,源是一个镶木地板数据源[我制作].当spark(databricks)写出镶木地板文件时,它会为每个分区写入一个文件,同样地,它会为每个文件读取一个分区.因此,我发现最好的答案是在数据源的生成过程中,按密钥对其进行分区,然后写出镶木地板(然后自然是共同分区)并将其用作rddB.
给出的答案是正确的,但我认为有关镶木地板数据源的详细信息可能对其他人有用.
我有一个没有互操作性要求的自定义Intranet应用程序.我们以双工模式编程构造NetTcp通道以传递消息.我们想要更改消息编码,但无法弄清楚如何实现这一点.
我们采取的方法(失败)是将NetTcpBinding扩展为一个名为LeanTcpBinding的新类,如下所示:
internal class LeanTcpBinding : NetTcpBinding
{
private static readonly ILog _log =
LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
public override BindingElementCollection CreateBindingElements()
{
BindingElementCollection bindingElementCollection = base.CreateBindingElements();
BindingElement encodingElement = bindingElementCollection.FirstOrDefault(
bindingElement => bindingElement is BinaryMessageEncodingBindingElement);
if (encodingElement != null)
{
int index = bindingElementCollection.IndexOf(encodingElement);
bindingElementCollection.RemoveAt(index);
bindingElementCollection.Insert(index, new LeanBinaryMessageEncodingBindingElement());
}
else
{
_log.Warn("Encoding not found");
}
return bindingElementCollection;
}
}
Run Code Online (Sandbox Code Playgroud)
显然,我们正在尝试用我们自己的替换默认的BinaryMessageEncodingBindingElement.只是为了开始使用,LeanBinaryMessageEncodingBindingElement是BinaryMessageEncodingBindingElement的扩展,如下所示:
internal class LeanBinaryMessageEncodingBindingElement : MessageEncodingBindingElement
{
private readonly BinaryMessageEncodingBindingElement _bindingElement;
///
/// Initializes a new instance of the class.
///
public LeanBinaryMessageEncodingBindingElement() …
Run Code Online (Sandbox Code Playgroud) 也许您熟悉事件流处理(ESP)的概念......如果您愿意,我很乐意听到您正在使用的内容以及您正在使用它们的平台.我是Esper项目的积极贡献者(http://esper.codehaus.org/),但我有兴趣听听其他人使用的内容吗?有人使用Coral8,Aleri或Streambase吗?你在哪些平台上使用它们?
我管理一个小组,我会在项目中保持工作细分.但是,很难为我的团队提供足够的项目视图和报告进度的能力.我查看了MS Project Server(sharepoint webpart),但这是一个昂贵的主张.
有没有人有任何其他工具(商业广告)的经验,可以帮助团队查看和报告他们的工作由MS Project管理?FWIW,我看过OpenProj,它似乎是在桌面上查看项目文件的一个不错的解决方案.任何基于网络的东西,请记住,我希望人们报告他们的工作,而不仅仅是查看他们的工作.
请仔细阅读,我正在寻找一个针对log4net的SNMP(非SMTP)陷阱追加器.Log4j有一个SNMPTrapAppender,我还没有看到log4net的等价物.有没有人知道已经这样做的appender?
WCF是一个通用的通信框架,你使用的越多,你发现的调整就越多(端点,安全性,序列化等).我有一个对许多QoS属性敏感的应用程序,我想开始调整设置,以了解每个设置如何影响这个基于WCF的应用程序的带宽,延迟和可伸缩性.
据我所知,收集以下指标没有一般的切入点,但我希望我们能够提出一个收集它们的技术列表:
FWIW,我不介意捕获这些指标,只要有合理的入口点我可以插入钩子(即使这意味着潜入特定的实现 - 例如DuplexChannel).