erlang

linux上安装RabbitMQ

和自甴很熟 提交于 2020-10-27 03:29:42
1、安装erlang 以root身份执行下面命令 yum install erlang yum install erlang xmlto 2、安装epel源 rpm -ivh http: / /download.fedoraproject.org/pub /epel/ 6 /x86_64/epel-release- 6 - 8 .noarch.rpm wget -O /etc/yum.repos.d/epel-erlang.repo http: / /repos.fedorapeople.org/repos /peter/erlang /epel-erlang.repo 3、安装rabbitmq rpm包 wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.1.5/rabbitmq-server-3.1.5-1.noarch.rpm rpm -ivh rabbitmq-server-3.1.5-1.noarch.rpm 4、启动rabbitmq,并验证启动情况 rabbitmq-server --detached &ps aux | grep rabbitmq 5、以服务的方式启动 service rabbitmq-server start 6、检查端口5672是否打开 /sbin/iptables -I INPUT

TIOBE 9 月编程语言:C++ 突起、Java 流行度下降

允我心安 提交于 2020-10-25 08:52:01
整理 | 郑丽媛 出品 | CSDN(ID:CSDNnews) 编程语言社区 TIOBE 最新发布了 9 月编程语言排行榜。 自从今年5月被C语言超越后,Java 就 一直位列第2,久久无法突破,市场份额也在逐月降低,本月的市场占比相较去年,降幅 甚至 高达-3.18%。 与之形成鲜明对比的是,在本月 TIOBE Top 20 榜单中,C++以1.48%的增幅重回开发者视野中。其实早在2003年,C++就已是真正的赢家。它在2003年8月达到17.53%的峰值,接近第二名,并获得2003年年度编程语言称号。 不过,自2005年之后,C++市场份额一降再降,甚至再也没有达到10%。在2017年,C++走向历史最低值,占比4.55%。如今随着C++ 20最新标准的逐渐完善, TIOBE CEO Paul Jansen 表示,与去年相比,C++现在是增长最快的语言。 C++20(C++ 编程语言标准 2020 版)是 C++语言一次非常重大的更新,为这门语言引入大量新特性。 C++20 新增的四大特性(概念、范围、协程和模块)完善了许多之前的不足,使开发者拥有更好的开发体验。 除了以上,8-20名也有些许的变化: PHP超越R语言上升1位,变为第8名; Classic Visual Basic跌出TOP 20,Dart进入TOP 20; Rust由第20名上升2个名次,成为第18名。

一篇小文带你走进RabbitMQ的世界

二次信任 提交于 2020-10-24 13:37:00
云栖号资讯:【 点击查看更多行业资讯 】 在这里您可以找到不同行业的第一手的上云资讯,还在等什么,快来! 说到消息中间件,大部分人的第一印象可能是Kafka。毕竟Kafka自问世以来,就顶着高并发,大流量的光环。当然了Kafka也不负众望,在大数据处理方面一直独领风骚。 这里想说说另一款同样优秀的消息中间件RabbitMQ。 选RabbitMQ还是Kafka 如果单机数据量没有到十万级以上,我觉得选哪个都OK,如果超过百万甚至到了千万级那么建议选择Kafka。 对了还有重要的一点,RabbitMQ支持事务,而Kafka不支持。所以如果你的业务系统要求支持事务,那么只能选RabbitMQ。这也是很多金融系统选择RabbitMQ作为消息中间件的原因。 RabbitMQ基本概念 先来说一下消息中间件的通用模型,所有的消息中间件的模型基本都是这样。 而RabbitMQ是基于AMQP协议实现的。模型大概是这个样子,如下图所示 重点关注中间两个框框,下面依次解读一下。 信道 建立TCP链接是一件很费时的事情,所以很多提供高并发服务的软件都支持TCP链接复用,比如HTTP协议的KeepAlive就是为了复用TCP链接准备的。所以RabbitMQ提出了信道的概念,一个TCP链接里面可以支持多个信道同时通信,以提高通信效率。如下图所示。 broker 一个启动的RabbitMQ实例

RabbitMQ使用分析和高可用集群搭建

倖福魔咒の 提交于 2020-10-24 11:05:45
一、RabbitMQ 基础理解 RabbitMQ,是一个使用 erlang 编写的 AMQP(高级消息队列协议)的服务实现,简单来说,就是一个功能强大的消息队列服务。 概念理解: Producer : 消息发送者 RabbitMQ : Vhost: 相当于分组,每个vhost下数据是隔离的 Exchange: 路由器,接收消息,本根据RoutingKey分发消息 headers:消息头类型 路由器,内部应用 direct:精准匹配类型 路由器 topic:主题匹配类型 路由器,支持正则 模糊匹配 fanout:广播类型 路由器,RoutingKey无效 RoutingKey: 路由规则 Queue: 队列,用于存储消息(消息的目的地) Consumer : 消息消费者 持久化: 一个好的消息队列当然需要消息持久化功能,服务宕机,未消费消息不丢失,RabbitMQ持久化分为Exchange、Queue、Message Exchange 和 Queue 持久化 指持久化Exchange、Queue 元数据,持久化的是自身,服务宕机,Exchange 和 Queue 自身就没有了 Message 持久化 顾名思义 把每一条消息体持久化,服务宕机,消息不丢失 Durable 持久、Transient 临时,Queue新建类似 分析理解: 便于更直观的理解,把 RabbitMQ