erlang

What makes Erlang suitable for soft real-time applications?

我只是一个虾纸丫 提交于 2020-01-31 04:58:39
问题 Some background I'm working on building a programming language for digital media programming, which should support concurrency using no-sharing message passing and soft real-time (i.e. do your best to compute audio/video without losing samples or frames and with a constant throughput). It turns out that both these features are surprisingly difficult to combine, mainly because of one particular constraint: real-time code should not dynamically allocate memory. My language should make it easy

安装rabbitmq

烈酒焚心 提交于 2020-01-29 10:18:26
一.安装erlang 先新建rabbitmq文件夹 cd /usr/local/src/ mkdir rabbitmq cd rabbitmq //下载rpm,如果下载速度慢可以本地下载上传Linux中也可 wget https://packages.erlang-solutions.com/erlang/esl-erlang/FLAVOUR_1_general/esl-erlang_21.2.2-1~centos~7_amd64.rpm //导入公钥 rpm –import http://packages.erlang-solutions.com/rpm/erlang_solutions.asc //安装自动更新依赖(不建议使用rpm安装) yum install esl-erlang_21.2.2-1~centos~7_amd64.rpm //验证是否安装成功 erl 二.安装rabbitmq //下载rabbitmq wget https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.7.9/rabbitmq-server-3.7.9-1.el7.noarch.rpm //导入RabbitMQ signing key.Before the Yum repository can be used,

RabbitMQ在window10上的安装配置

泪湿孤枕 提交于 2020-01-28 13:45:40
1,下载并安装erlang 因为RabbitMQ服务端代码是使用并发式语言Erlang编写的,所以安装Rabbit MQ的前提是安装Erlang。 Erlang官网 下载速度可能会慢一点 个人百度云下载链接 提取码 gdx9 下载之后样子 将其bin目录配置环境变量 具体环境变量如何配置,此处不再罗列 判断是否成功 在cmd命令行输入 erl 即为成功 下载RabbitMQ 官网 暂时先写这么多,有时间补充 来源: CSDN 作者: jueji1998 链接: https://blog.csdn.net/jueji1998/article/details/103762353

mochiweb 源码阅读(二)

断了今生、忘了曾经 提交于 2020-01-28 00:02:43
  大家好,几天没跟新了,在上一篇,我们简单介绍了mochiweb这个项目,以及下载,编译,创建mochiweb的源码以及示例。今天继续跟大家来分析mochiweb这个项目,跟之前分析cowboy的方法一样,我们找到切入口点,来一一分析每个函数的功能,作用,下面看下上一篇创建的示例都有哪些文件,如下图:      这里除了keepalive.erl 是我从官方example考过来以外,其他为上一篇创建的例子的源码。   我不一一介绍这几个文件了,参考我一直给大家推荐的 Erlang OTP 设计原理 。好好看几遍,你就对Erlang应用程序有一定的了解了。   我们从运行程序的 mochiweb_example:start/0 开始看吧,代码如下: %% @spec start() -> ok %% @doc Start the mochiweb_example server. start() -> mochiweb_example_deps:ensure(), ensure_started(crypto), application:start(mochiweb_example).   这个函数三行代码,第一行先跳过,一会我们重点看下。   第二行启动crypto, mochiweb_example:ensure_started/1 ,代码如下: ensure_started

Centos7安装RabbitMQ

时光怂恿深爱的人放手 提交于 2020-01-26 21:19:03
一、安装Erlang环境 1、安装 erlang 依赖环境 [root@localhost ~]# yum install -y gcc glibc-devel make ncurses-devel openssl-devel xmlto 2、安装 epel-release [root@localhost ~]# yum install -y epel-release 3、安装 erlang [root@localhost ~]# yum install -y erlang 4、测试 erlang [root@localhost ~]# erl PS:输入 halt(). 退出 erlang 命令行模式 二、安装 RabbitMQ 1、下载 rabbitmq 官网各版本下载地址:http://www.rabbitmq.com/releases/rabbitmq-server/ 这里选择最新的版本v3.6.15,复制下载链接,用 wget 下载 [root@localhost ~]# wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.15/rabbitmq-server-3.6.15-1.el7.noarch.rpm 2、安装下载好的 rabbitmq [root@localhost ~]# yum install

Linux ,Centos7 上安装配置 RabbitMQ纯手动安装

落爺英雄遲暮 提交于 2020-01-25 22:41:25
一、选择正确的版本 1. 查看你你要安装的 Erlang 和 rabbitmq 是否相互支持 : http://www.rabbitmq.com/which-erlang.html 2.rabbitmq 下载: http://www.rabbitmq.com/releases/rabbitmq-server/ 3.Erlang 下载 : http://erlang.org/download/ 二 、安装 Erlang 环境 (如果是干净的 centos 7 你要下载 gcc 等等编译软件,本教程是在这些依赖都有的时候安装的)    1 、在安装 erlang 之前先安装下依赖文件 ( 这一步不要忘掉了, 不然后面 ./configure 的时候要报错 ) :      [root@iZwz9eailk2tci1wywk9p2Z local]# yum install gcc glibc-devel make ncurses-devel openssl-devel xmlto    2 、到 erlang 官网去下载 erlang 安装包     作为一名强迫症患者,我当然是选择现在最新版本啦。 手动下载    otp_src_20.2.tar.gz 到本地   再传到服务器上     接下来解压:       [root@iZwz9eailk2tci1wywk9p2Z local]

An error with ets and reading files

倾然丶 夕夏残阳落幕 提交于 2020-01-25 08:23:12
问题 Disclaimer: I didn't write this code, I'm just trying to make it work. I'm trying to get the code from here working. The setup is an Ubuntu 14.04 64bit machine with Erlang installed. The sequence of actions is as follows: What I'm doing is as follows: clone the code cd to the folder with the code and erl in terminal make:all([load]). polis:create(). polis:start(). benchmarker:start(slidingwindow50). The errors I get are: 4> benchmarker:start(slidingwindow50). true Dimensions:4, Plasticity

Erlang实战:并行枚举排序

て烟熏妆下的殇ゞ 提交于 2020-01-25 05:13:13
  这是海量数据的时代!互联网每天产生的数据量远远超出了我们所能想象的范围,无论是国外的Facebook、Twitter,还是国内的微博、人人,还有各种电商们,这些互联网企业在数据上是富有的,它们掌握着海量的用户数据,同时它们也需要对这些海量数据进行分析和处理。我们以前的串行化算法似乎显得力不从心,一个是计算机本身就设计为多核的,它们存在并行化问题;另一方面,更多的计算机加入到并行的行列,并行化正成为一种潮流和趋势,因为它们能用空间换取时间和性能,或者说用更多的机器来进行分析计算。   我知道的常用的并行计算工具大致有三种:MapReduce、MPI,还有就是本文讨论的Erlang。MapReduce最早是google设计并实施的,现在已经成为云计算中的一个火热的技术,它通过一个映射(Map)和规约(Reduce)来进行并行数据处理,实际上它是一个实时批处理再加上一些容错处理机制来保证系统的性能和可靠性;MPI我不太熟悉,它是一个库,不是一门语言,一般与C/FORTRAN结合使用;Erlang是一个基于消息传递的并发编程语言,正因为它是基于消息的,因此没有共享内存和锁机制,因此Erlang比较简单,它是函数型编程语言,我们在编写程序时写的都是函数。   下面我将通过一个排序实例:枚举排序来讲述Erlang并行编程!   实战:并行枚举排序   我们先来看看其概念:枚举排序也叫秩排序

Erlang, finding the number of occurrences of a number in a list

好久不见. 提交于 2020-01-25 04:18:11
问题 I am new to Erlang and trying to write a program that will take a list of numbers like this [1,5,4,5,3,2,2,8,11] as an input parameter of a function. The function should return a list of tuples that records the number and it's number of appearances in the list like so. [{1,1},{2,2},{3,1},{4,1},{5,1},{8,1},{11,1}]. I have the following code list([]) -> []; list([First | Rest]) -> [{First,+1} | list(Rest)]. But I dont understand how it is that I can do the counting operation? Thanks 回答1: See

Springboot 1.5.x 集成基于Centos7的RabbitMQ集群安装及配置

六月ゝ 毕业季﹏ 提交于 2020-01-25 01:19:27
RabbitMQ简介 RabbitMQ是实现了高级消息队列协议(AMQP)的开源消息代理软件(亦称面向消息的中间件)。 RabbitMQ是一套开源(MPL)的消息队列服务软件,是由LShift提供的一个Advanced Message Queuing Protocol(AMQP)的开源实现,由以高性能、健壮以及可伸缩性出名的Erlang写成。 选择RabbitMQ 市面上有很多MQ可以选择,如:ActiveMQ、ZeroMQ、Apache Qpid及RocketMQ,为什么要选择RabbitMQ呢? 1. 除了Qpid,RabbitMQ是唯一一个实现了AMQP标准的消息服务器; 2. 可靠性,RabbitMQ的持久化支持,保证了消息的稳定性; 3. 高并发,RabbitMQ使用了Erlang开发语言,Erlang是为电话交换机开发的语言,天生自带高并发光环和高可用特性; 4. 集群部署简单,正是应为Erlang使得RabbitMQ集群部署变的超级简单; 5. 社区活跃度高,从网上资料来看,RabbitMQ也是首选 工作机制 1. 消息模型 生产者、消费者和代理 生产者(producer):消息的创建者,负责创建和推送数据到消息服务器; 消费者(consumer):消息的接收方,用于处理数据和确认消息; 代理(proxy):就是RabbitMQ本身,用于扮演“快递”的角色