Tag: erlang

Java – 热部署

最近,我正在阅读有关具有热部署function的Erlang的书。 可以在不降低系统的情况下完成部署。 所有现有请求都将由旧版本的代码处理,部署后的所有新请求将由新代码提供。 在这些情况下,两个版本的代码在运行时都可用,直到所有旧请求都被提供。 在Java中有什么方法可以保留2个版本的jar文件吗? 是否有任何应用程序/ Web服务器支持此function?

用于实现分布式消息传递算法的编程语言

基本上,我想实现以下算法并分析使用这些算法构建的系统在不同条件下的行为。 八卦协议 多个paxos 一致的散列 我的兴趣在于这些算法。 我基本上正在寻找一种编程语言,可以让我快速编写这些算法并深入理解这些算法。 我应该选择哪种语言? Java,Scala,Erlang或其他任何东西。 目前,我了解Java和C ++。

在Erlang比单线程Java更快之前需要多少CPU

我目前正在使用Java,我在网上读了很多关于Erlang的内容,我有两大问题: Erlang会比简单的Java慢多少(如果有的话)? 我在这里假设Java将从网络上的枪战基准更快(Erlang不那么好)。 那么,我需要多少CPU才能使Erlang超越单线程Java(在我的特殊情况下,如下所示)? 在阅读了Erlang一段时间后,我发表了大量评论/post,说大多数大型Erlang系统都包含大量的C / C ++。 这是出于速度原因(我的假设)还是别的什么? 即为什么需要这个? 我已经读过大多数机器上升的处理器数量和线程模型很难(我同意)但是我想找出什么时候会越过“线”以便我可以在右边更改语言/范例时间。 一点背景/背景: 我在Java服务的服务器端工作,这些服务非常受CPU限制,很容易并行。 这通常是由于单个传入更新(通过TCP)触发对多个(100个)输出的更改。 计算通常非常简单(几个循环,只需很多算术),输入速度非常快(100 / s)。 目前我们在4台CPU机器上运行并在每台机器上运行多个服务(因此multithreading非常没有意义,Java似乎运行得更快,没有同步块等,使其成为multithreading)。 现在有一个强大的速度推动,我们现在可以访问24台处理器机器(如果需要,每个进程),所以我想知道如何最好地继续 – 大规模multithreadingJava或更容易编码的东西,如Erlang。

为什么Erlang说比Web和C ++更适合网页游戏中的服务器端编程?

我真的不明白,Erlang如何比C ++更有效率?

Erlang服务器,Java客户端 – TCP消息被拆分?

正如标题所说,我有一个用Erlang编写的服务器,一个用Java编写的客户端,他们通过TCP进行通信。 我面临的问题是gen_tcp:recv显然不知道何时收到来自客户端的“完整”消息,因此在多个消息中“拆分”它。 这是我正在做的一个例子(不完整的代码,试图只将其保留到相关部分): 码 Erlang服务器 -module(server). -export([start/1]). -define(TCP_OPTIONS, [list, {packet, 0}, {active, false}, {reuseaddr, true}]. start(Port) -> {ok, ListenSocket} = gen_tcp:listen(Port, ?TCP_OPTIONS), accept(ListenSocket). accept(ListenSocket) -> {ok, Socket} = gen_tcp:accept(ListenSocket), spawn(fun() -> loop(Socket) end), accept(ListenSocket). loop(Socket) -> case gen_tcp:recv(Socket, 0) of {ok, Data} -> io:format(“Recieved: ~s~n”, [Data]), loop(Socket); {error, closed} -> ok end. Java客户端 public class […]