erlang

Windows could not start the RabbitMQ Service on local Computer

和自甴很熟 提交于 2020-08-22 09:41:52
问题 I am trying to start RabbitMQ service on my local Windows laptop but I keep getting this error: I first downloaded erlang (OTP 19.0 Windows 64-bit Binary File) from here: http://www.erlang.org/downloads. Then I downloaded RabbitMQ from here: https://www.rabbitmq.com/install-windows.html Erlang seems to have installed correctly - I don't see any errors in the logs. RabbitMQ shows this message in the installation logs: Installing RabbitMQ service... The filename, directory name, or volume label

(1)RabbitMQ简介与安装

耗尽温柔 提交于 2020-08-19 22:16:06
1.RabbitMQ简介 因为RabbitMQ是基于开源的AMQP协议来实现的,所以在了解MQ时候,首先我们来了解下AMQP协议。AMQP,即Advanced Message Queuing Protocol,一个提供统一消息服务的应用层标准高级消息队列协议,是应用层协议的一个开放标准,为面向消息的中间件设计。基于此协议的客户端与消息中间件可传递消息,并不受客户端或者中间件不同产品、不同的开发语言等条件的限制,也就是说消息生产者无需知道消费者如何处理消息结果,反之亦然,解耦了组件跟组件依赖。RabbitMQ服务器端用Erlang语言编写,同时也支持多种客户端来开发跨语言消息传递,例如:Java,.NET,PHP,Python,JavaScript,Ruby,Go等。RabbitMQ还支持多种消息传递协议、消息排队、传递确认、队列的灵活路由、多种交换类型。还支持分布式集群以实现高可用性和吞吐量。适用于排队算法、秒杀活动、消息分发、异步处理、数据同步、处理耗时任务、CQRS等应用场景。还可以通过HTTP-API命令行工具和用于管理和监视RabbitMQ的UI。 2.RabbitMQ在CentOS 7安装 因为我对Linux运维知识面比较薄弱,所以在Linux上部署RabbitMQ这块暂时不想耗太多时间在这上面去(后续有时间再深入了解),这里我完全是跟着园区Net大神晓晨大佬这篇文章

TIOBE 8 月编程语言:C、Java 差距拉大,R 语言盛行

只愿长相守 提交于 2020-08-19 19:12:23
编程语言社区 TIOBE 最新发布了 8 月编程语言排行榜。 相比上个月,本月 TIOBE 指数整个体变化并不大。C 语言依然保持强劲地增长势头,与第二名 Java 之间差距逐月增大,从上个月相差 1.35% 的份额逐步增长到 2.55% 的差额。 在 TIOBE Top 10 榜单中,R 语言上个月被 TIOBE 官方称之为“史无前例的高光时刻” , 本月继续保持,且在数据分析和统计计算等领域,也成为开发者最受欢迎的编程语言之一。回看 2019 年 8 月,R 语言还处于第 20 位,一年后,一连上升了 12 个名次,到达了第 8 位。对此,TIOBE 官方预测,R 语言也有望成为 2020 年 TIOBE 年度编程语言。 除了以上,Go、Swift、SQL 三种语言也进行了位置角逐: Swift 在本月下降 2 个名次,从第 10 名降到了第 12 名; SQL 将其取而代之,成为第 10 名。 其他编程语言排名 同样值得注意的是,Groovy 重新进入了 TIOBE 编程语言排行榜的 TOP 20名,并且 Hack 在第 44 位,也成功进入了前 50 名。 下面列出了完整的 21-50 名,因为是非官方发布的,所以可能存在遗漏: 第 51-100 名如下,由于它们之间的数值差异较小,仅以文本形式列出(按字母排序): ABC, Alice, APL, AutoLISP,

《Erlang程序设计》第十六章 OTP概述

≯℡__Kan透↙ 提交于 2020-08-19 19:03:07
第十六章 OTP概述 Table of Contents 第十六章 OTP概述 16.1 通用服务器程序的进化路线 16.1.1 server1: 原始服务器程序 16.1.2 server2: 支持事务的服务器程序 16.1.3 server3: 支持热代码替换的服务器程序 16.1.4 server4: 同时支持事务和热代码替换 16.1.5 server5: 压轴好戏 16.2 gen_server起步 16.2.1 第一步: 确定回调模块的名称 16.2.2 第二步: 写接口函数 16.2.3 第三步: 编写回调函数 16.3 gen_server回调的结构 16.3.1 启动服务器程序时发生了什么 16.3.2 调用服务器程序时发生了什么 16.3.3 调用和通知 16.3.4 发送给服务器的原生消息 16.3.5 Hasta La Vista, Baby 16.3.6 热代码替换 第十六章 OTP概述 16.1 通用服务器程序的进化路线 16.1.1 server1: 原始服务器程序 服务端实现 -module (server1). -export ([ start/2 , rpc/2 ]). %% 启动服务 start ( Name , Mod ) -> %% 注册进程名为Name, 并在启动进程时完成模块Mod的初始化并在调用loop进行监测 register (

Erlang: What does question mark syntax mean?

断了今生、忘了曾经 提交于 2020-08-18 08:30:52
问题 What does the question mark in Erlang syntax mean? For example: Json = ?record_to_json(artist, Artist). The full context of the source can be found here. 回答1: Erlang uses question mark to identify macros. For e.g. consider the below code: -ifdef(debug). -define(DEBUG(Format, Args), io:format(Format, Args)). -else. -define(DEBUG(Format, Args), void). -endif. As the documentation says, Macros are expanded during compilation. A simple macro ?Const will be replaced with Replacement . This snippet

rebar3 的使用

时间秒杀一切 提交于 2020-08-17 16:41:34
安装 $ git clone https://github.com/erlang/rebar3.git $ cd rebar3 $ ./bootstrap $ ./rebar3 local install ===> Extracting rebar3 libs to ~/.cache/rebar3/lib... ===> Writing rebar3 run script ~/.cache/rebar3/bin/rebar3... ===> Add to $PATH for use: export PATH=$PATH:~/.cache/rebar3/bin 使用 创建 $ rebar3 new app (custom): Complete OTP Application structure. cmake (custom): Standalone Makefile for building C/C++ in c_src escript (custom): Complete escriptized application structure lib (custom): Complete OTP Library application (no processes) structure plugin (custom): Rebar3 plugin project structure

027. RabbitMQ 集群和高可用方案

徘徊边缘 提交于 2020-08-17 14:23:49
1. 常用命令 rabbitmqctl status 查看节点状态。 rabbitmqctl stop [pid_file] 停止运行 RabbitMQ 的 Erlang 虚拟机和 RabbitMQ 服务应用。 如果指定了 pid_file,还需要等待指定进程的结束。pid_file 是通过调用 rabbitmq-server 命令启动 RabbitMQ 服务时创建的,默认情况下存放于 Mnesia 目录中。 如果使用 rabbitmq-server -detach 这个带有 -detach 后缀的命令来启动 RabbitMQ 服务则不会生成 pid file 文件。 rabbitmqctl stop_app 停止 RabbitMQ 服务应用,但是 Erlang 虚拟机还是处于运行状态。 此命令的执行优于其他管理操作(这些管理操作需要先停止 RabbitMQ 应用),比如 rabbitmqctl reset。 rabbitmqctl start_app 启动 RabbitMQ 应用。此命令典型的用途是在执行了其他管理操作之后,重新启动之前停止的 RabbitMQ 应用,比如 rabbitmqctl reset。 rabbitmqctl reset 将 RabbitMQ 节点重置还原到最初状态。 包括从原来所在的集群中删除此节点,从管理数据库中删除所有的配置数据,如已配置的用户

RabbitMQ 延迟队列-基于PHP实现

妖精的绣舞 提交于 2020-08-17 14:05:53
安装 RabbitMQ 延迟队列插件 RabbitMQ 延迟队列插件未安装直接使用的话,会报错: unknown exchange type 'x-delayed-message' 插件下载地址:https://www.rabbitmq.com/community-plugins.html 。下载 Erlang 可执行文件之后,复制到rabbit服务的插件目录(自己的安装目录,我的是 C:\Program Files\RabbitMQ Server\rabbitmq_server-3.7.14\plugins )中,然后开启插件服务: rabbitmq-plugins enable rabbitmq_delayed_message_exchange 测试步骤 创建测试项目的目录 mq 从 https://github.com/php-amqplib/php-amqplib 下载AMQP库(当然也可以通过 composer 安装,这里为了简单直接自己处理了),放入 mq 目录 编写 index.php,实现自动加载 创建 test 目录,里面分别创建 mqc.php 消费者和 mqp.php 生产者两个文件 跑脚本,测试消息的生产和消费: php -f index.php delayP p 3 生产消息,延时3秒 php -f index.php delayC c 消费消息 目录结构

centos 7安装rabbitmq

狂风中的少年 提交于 2020-08-17 03:26:54
rabbitmq依赖erlang所以先安装erlang rabbitmq对erlang的版本有要求,先去官网看一下对应版本要求: https://www.rabbitmq.com/which-erlang.html 一、安装erlang 1.下载erlang安装包,去erlang官网下载 2.安装 1)安装依赖模块:yum -y install make gcc gcc-c++ kernel-devel m4 ncurses-devel openssl-devel 2)将安装包解压 ./configure --prefix=/opt/erlang --with-ssl --enable-threads --enable-smp-support --enable-kernel-poll --enable-hipe报错的话执行 sudo yum install unixODBC-devel openssl-devel ncurses-devel 3)编译 make && make install 4)配置环境变量 vim /etc/profile 加一行 export PATH=$PATH: 路径/bin 保存编译source /etc/profile 5)erl 测试是否安装成功。如图 二、安装rabbitmq 1.官网下载安装包: https://github.com

Linux下安装erlang及rabbitmq

[亡魂溺海] 提交于 2020-08-16 06:01:18
Linux下安装erlang及rabbitmq 安装erlang 下载Erlang安装包 http://erlang.org/download/otp_src_20.3.tar.gz 上传到服务器tmp目录下,进入到tmp目录进行安装。 # cd /tmp # mkdir -p /usr/local/erlang # tar -xzvf otp_src_20.1 .tar.gz # cd otp_src_20.1 # ./configure --prefix=/usr/local/erlang --with-ssl --enable-threads --enable-smp-support --enable-kernel-poll --enable-hipe --without- javac # make - j8 # make install 设置环境变量 # vim /etc/profile 在末尾加入以下内容: #set erlang environment export PAHT=$PATH:/usr/local/erlang/bin 使环境变量生效 # source /etc/profile 测试erlang是否可用以及变量是否生效 # erl 展示以下内容说明生效 安装rabbitmq 下载rabbitmq-server安装包 http://www.rabbitmq