ubuntu erlang(ubuntu中文社区)

各位老铁们好,相信很多人对ubuntu erlang都不是特别的了解,因此呢,今天就来为大家分享下关于ubuntu erlang以及ubuntu中文社区的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一起来看看吧!

RabbitMQ在Ubuntu/Debian下的安装过程

在Ubuntu/Debian系统中安装RabbitMQ的详细步骤如下:

首先,确认要使用的RabbitMQ版本(例如3.12.7),并查找对应的Erlang版本(如25.0~26.1.x)。然后,检查系统中当前可用的Erlang和RabbitMQ版本,可能需要添加RabbitMQ团队在Cloudsmith上维护的额外软件源。

1.安装所需依赖后,添加RabbitMQ团队在Cloudsmith的签名密钥,以及Erlang和RabbitMQ的相应密钥。接着,编辑`/etc/apt/sources.list.d/rabbitmq.list`,将云存储库地址添加进去。确保根据你的系统版本(如Ubuntu 22.04,使用jammy)进行调整。

2.更新软件包列表并再次检查,确认已安装的Erlang和RabbitMQ版本是否满足需求。

接下来,开始安装:

-安装Erlang 26.1.1,命令如下:

-验证安装并查看版本信息。

-安装RabbitMQ 3.12.7,执行相应安装命令:

-检查RabbitMQ是否安装成功,通过访问localhost:15672进行验证。

此外,Linux系统中常用RabbitMQ命令包括:

-查看RabbitMQ服务状态,包括启动状态和自启动设置。

-管理RabbitMQ的开机自启、关闭、重启等操作。

最后,如果需要更多帮助,可以参考RabbitMQ的官方文档链接。

ubuntu 怎么安装 erlang

1:如果你主机上没有安装jdk,那需先安装,安装过程如下:

# sudo apt-get update(更新已安装的包)

#sudo apt-get install openjdk-7-jdk

# javac-version(检测版本)

2:安装erlang R17B的过程如下:

安装相关类库

# install libraries and tools:

sudo apt-get install libncurses5-dev m4 fop freeglut3-dev

libwxgtk2.8-dev g++ libssl-dev xsltproc build-essential tk8.5 unixodbc

unixodbc-dev libxml2-utils

下载erlang可以手动去官网下载:

# download source code wget

# tar zxvf otp_src_R17B.tar.gz(解压)

# cd otp_src_R17B/(进入到解压好的文件夹中)

编译安装

#./configure--prefix=/opt/erlang(指定安装目录)

# make(编译)

# make install(安装)

更新环境变量

# vim/etc/profile

在最后一行加上

export PATH=/opt/erlang/bin:$PATH

保存退出后

source/etc/profile

命令行中输入erl看是否安装成功!

MQ对比之RabbitMQ & Redis

消息队列选择:RabbitMQ& Redis

RabbitMQ是基于Erlang语言的AMQP(Advanced Message Queue)开源产品,作为消息代理,接收消息并传递给消费者。生产者(P)发送消息至队列,消费者(C)接收消息,消息在RabbitMQ中通过队列传输。多个生产者可向同一队列发送消息,多个消费者可从同一队列接收消息。

RabbitMQ架构包含组件,如消息生产者、消息消费者、队列、交换器、路由键等。

Redis是高性能的键值数据库,具有以下三个特点:

设计用于缓存。

可以作为消息队列使用。

提供阻塞式API,支持FIFO。

Redis优势在于:

适合作为消息队列。

利用list对象实现队列操作。

通过blpop、brpop接口和Pub/Sub接口实现阻塞式API。

RabbitMQ与Redis简单对比:

Redis消息队列不支持自动处理失败的worker,数据不会自动回到队列;而RabbitMQ支持。

RabbitMQ提供持久化功能,保障数据传输过程中的安全性。

RabbitMQ有更完善的MQ机制,包括消息确认机制来保证消息不丢失。

RabbitMQ的消息确认机制:客户端取出消息后处理完成,发送ack给RabbitMQ,消息从队列中移除;若客户端异常退出,消息将重新放回队列,供其他客户端处理,确保消息不丢失。

RabbitMQ demo:生产者消费者模式(不发送ack,模拟程序中断)

当生产者不发送ack时,若消费者遇到异常,RabbitMQ会将任务重新添加到队列中。

正常发送ack的消费者:发送ack后,消息从队列中移除,再次查看队列已无消息。

RabbitMQ其他特性包括发布/订阅、路由、主题和RPC等,可参考相关资料进一步了解。

另外,可以考虑使用其他语言实现RabbitMQ实践,例如golang,例如Ubuntu14.04+RabbitMQ3.6.3+Golang的最佳实践。

阅读剩余
THE END