设为首页收藏本站

LUPA开源社区

 找回密码
 注册
文章 帖子 博客
查看: 47694|回复: 23

聚焦Erlang

[复制链接]
 楼主| 发表于 2006-9-14 05:41:02 | 显示全部楼层 |阅读模式
  Erlang
是由爱立信公司开发的一种平台式语言,可以说是一种自带了操作系统平台的编程语言,而且在这个平台上实现了并发机制、进程调度、内存管理、分布式计算、网络通讯­等功能,这些功能都是完全独立于用户的操作系统的,它采用的是类似于Java一样的虚拟机的方式来实现对操作系统的独立性的。

介绍一下Erlang先:


1、并发性:Erlang的轻量级进程可以支持极高的并发性,而且在高并发的情况下内存使用相当的少。Erlang的并发性并不会受到宿主操作系统并发性的限制­。


2、分布式:最开始Erlang的设计目标就是实现分布式环境,一个Erlang的虚拟机就是一个Erlang网络上的节点。一个Erlang节点可以在另一个­Erlang节点上创建自己的并发进程,而子进程所在的节点可能是运行其他的操作系统的服务器。不同节点的之间的可以进行极为高效而又精确的通信,就像它们运行­在同一个节点一样。


3、鲁棒形:Erlang内部建设有多种错误检测原语。我们可以通过这些原语来架设高容错性的系统。例如,一个进程可以监视其他进程的状态和活动,即使那些被监­控的进程处于其他节点。在分布式状态下,我们可以把系统配置成具有Fail-over功能的分布式系统。当有其他节点出错的时候,系统会把他的运行场景自动快速­的切换备份节点上。Erlang支持9个9的级别的故障率,一年只有几分钟的故障时间。


4、软实时:Erlang是一个“软”实时系统(Soft Real
Time),它可以提供毫秒级别的响应。


一般的情况下,使用Erlang系统可以比其他系统的并发能力(例如Web会话负载)放大20~30倍。
 楼主| 发表于 2006-9-14 05:46:24 | 显示全部楼层
分布式、并行计算语言Erlang 学习笔记(第一部分)

http://groups.google.com/group/e ... f80fc634c6?hl=zh-CN

Yaws
http://yaws.hyber.org/
一个Erlang写的服务器,据说并发能是apache的15倍

OpenPoker作者blog
http://blog.mylkcn.net/senzung.php
OpenPoker是一个大型多人扑克网游,内建支持了容错能力,负载平衡和无限制的规模大小。

ejabberd
http://ejabberd.jabber.ru/
这个不用介绍用途了吧,基于ErLang + Mnesia
 楼主| 发表于 2006-9-14 05:49:59 | 显示全部楼层
 楼主| 发表于 2006-9-14 05:51:01 | 显示全部楼层
附上一个Yaws Hello world

<html>
  <head><title>Hello world</title></head>
  <body>
   <h1>Hello world</h1>
   <erl>
     out(Arg) ->
     {html, "Hello world from Yaws"}.
   </erl>
</body>
</html>

保存为hello.yaws
发表于 2006-9-14 05:53:18 | 显示全部楼层
支持
精华加置顶

研究下先
 楼主| 发表于 2006-9-14 05:58:28 | 显示全部楼层
Yariv's Blog
http://yarivsblog.com/

学习Erlang必看
 楼主| 发表于 2006-9-14 06:00:42 | 显示全部楼层
Erlang Hello World

-module(hello).
-export([hello_world/0]).

hello_world()->
   io:format("Hello World ~n").
-----------------------------------------------------------------------
And Executing:

hello:hello_world().
 楼主| 发表于 2006-9-14 06:05:57 | 显示全部楼层
Erlang Cookbook
http://schemecookbook.org/Erlang/WebHome

Python-Erlang
http://www.python.net/crew/gandalf/PyErlang/
Python-Erlang is a binding of Erlang to the Python programming language. This binding allows a python program to start an Erlang node and allow for Python to call an Erlang procedure.

Planet Erlang
http://www.planeterlang.org/
Planet Erlang syndicates RSS feeds from the Erlang community to provide unified view of what is happening in the Erlang world.

Erlang Projects
http://www.erlang-projects.org
 楼主| 发表于 2006-9-14 06:07:36 | 显示全部楼层
Erlang/Gtk
http://sourceforge.net/projects/erlgtk/
Gtk language binding for Erlang with Glade/Gnome support.

Erlang IDE Eclipse Plugin
http://sourceforge.net/projects/erlide/

wxErlang
http://sourceforge.net/projects/wxerlang
 楼主| 发表于 2006-9-14 06:08:54 | 显示全部楼层
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关于LUPA|人才芯片工程|人才招聘|LUPA认证|LUPA教育|LUPA开源社区 ( 浙B2-20090187  

快速回复 返回顶部 返回列表