erlang

带着新人学springboot的应用05(springboot+RabbitMQ 上)

孤街浪徒 提交于 2020-12-26 02:18:22
  这次就来说说RabbitMQ,这个应该不陌生了,随便一查就知道这个是用来做消息队列的。 (注意:这一节很多都是概念的东西,需要操作的比较少)   至于AMQP协议(Advanced Message Queuing Protocol),专业名称叫做高级消息队列协议,就是只要你遵守这个协议,那么做出来的产品就能跨平台,跨语言,很牛的一个协议,具体多么牛可以自己百度一下。   而RabbitMQ就是基于这个协议的!很多语言都可以用RabbitMQ,例如python,C语言,PHP,Java等语言,而且windows,linux,macos等平台都可以使用。。。 简单看看使用场景:   运用场景1:比如大家注册博客园的时候,注册信息写入数据库之后,还需要激活吧!你要等博客园的一个线程给你发邮件,假如这个时候注册的人很多,那就需要非常多的线程,大家也知道线程到达一定数目效率反而是降低的,而且只有等到邮件给你发送之后你才知道注册成功,你就可能一直卡了几分钟。所以这个时候,就把很多个发邮件需要的消息放到一个消息队列中你就马上收到响应“注册成功”,然后你就可以去玩玩手机,等一下就会收到邮件,其实对博客园来说,只需要几个或者几十个线程慢慢的从这个队列中取消息、一个一个慢慢发邮件就是了。   运用场景二:大家都知道双11,淘宝各种活动,假如一个店铺生意特别好,一下子卖了十几万件

SpringCloud之RabbitMQ安装

╄→尐↘猪︶ㄣ 提交于 2020-12-24 23:48:51
  本文介绍Linux以及MAC OS下的RabbitMQ安装及配置: 一、Linux环境下的RabbitMQ安装(CentOS)   1、安装ErLang   Erlang(['ə:læŋ])是一种通用的面向并发的编程语言,它由瑞典电信设备制造商爱立信所辖的CS-Lab开发,目的是创造一种可以应对大规模并发活动的编程语言和运行环境。 rpm --import https: // packages.erlang-solutions.com/rpm/erlang_solutions.asc vi /etc/ yum .repos.d/xxx (xxx是目录中的任意一个已有的yum列表文件)   在文件中增加下述内容: [erlang- solutions] name =Centos $releasever - $basearch - Erlang Solutions baseurl =https: // packages.erlang-solutions.com/rpm/centos/$releasever/$basearch gpgcheck= 1 gpgkey =https: // packages.erlang-solutions.com/rpm/erlang_solutions.asc enabled= 1   生成yum缓存信息: yum makecache  

python3之rabbitMQ

依然范特西╮ 提交于 2020-12-18 06:42:02
1、RabbitMQ介绍 RabbitMQ是一个由erlang开发的AMQP(Advanced Message Queue )的开源实现。AMQP 的出现其实也是应了广大人民群众的需求,虽然在同步消息通讯的世界里有很多公开标准(如 COBAR的 IIOP ,或者是 SOAP 等),但是在异步消息处理中却不是这样,只有大企业有一些商业实现(如微软的 MSMQ ,IBM 的 Websphere MQ 等),因此,在 2006 年的 6 月,Cisco 、Redhat、iMatix 等联合制定了 AMQP 的公开标准。 MQ全称为Message Queue, 消息队列 (MQ)是一种应用程序对应用程序的通信方法。应用程序通过读写出入队列的消息(针对应用程序的数据)来通信,而无需专用连接来链接它们。消 息传递指的是程序之间通过在消息中发送数据进行通信,而不是通过直接调用彼此来通信,直接调用通常是用于诸如 远程过程调用 的技术。排队指的是应用程序通过 队列来通信。队列的使用除去了接收和发送应用程序同时执行的要求。 消息队列技术是分布式应用间交换信息的一种技术;消息队列可驻留在内存或磁盘上,队列存储消息直到它们被应用程序读走;通过消息队列,应用程序可独立地执行--它们不需要知道彼此的位置、或在继续执行前不需要等待接收程序接收此消息。 MQ主要作用是接受和转发消息。 你可以想想在生活中的一种场景

centos7安装rabbitmq3.7.9

落爺英雄遲暮 提交于 2020-12-17 23:23:49
感谢此兄: https://blog.51cto.com/huwei555/2341513?source=dra (centos7 安装rabbitmq 3.7) 以root用户登录。 cd /home/soft 安装依赖包 yum -y update yum install gcc gcc-c++ glibc-devel make ncurses-devel openssl-devel xmlto unixODBC-devel -y 安装各种依赖 wget –no-cache http://www.convirture.com/repos/definitions/rhel/6.x/convirt.repo -O /etc/yum.repos.d/convirt.repo 设置socat依赖包 yum makecache yum install socat 安装socat依赖 安装erlang依赖 wget https://github.com/rabbitmq/erlang-rpm/releases/download/v20.3.8.17/erlang-20.3.8.17-1.el7.centos.x86_64.rpm 从github获取最新版erlang,避免版本太小不支持rabbitmq rpm -ivh erlang-20.3.8.17-1.el7.centos.x86

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

落花浮王杯 提交于 2020-12-16 10:40:04
一、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

rabbit安装

吃可爱长大的小学妹 提交于 2020-12-15 01:56:01
curl -s https://packagecloud.io/install/repositories/rabbitmq/erlang/script.deb.sh | sudo bash yum install erlang rpm --import https://packagecloud.io/rabbitmq/rabbitmq-server/gpgkey rpm --import https://packagecloud.io/gpg.key curl -s https://packagecloud.io/install/repositories/rabbitmq/rabbitmq-server/script.rpm.sh | sudo bash yum install rabbitmq-server-3.7.14-1.el7.noarch.rpm 选择相应的版本安装(el6是centos6,el7是centos7) chkconfig rabbitmq-server on service rabbitmq-server start 来源: oschina 链接: https://my.oschina.net/u/2549862/blog/3032772

how to make a genserver to run with a frequency value Elixir

妖精的绣舞 提交于 2020-12-14 06:58:02
问题 I have seen many GenServer implementations, I am trying to create one with such specifications, But I am not sure its GenServer's use case. I have a state such as %{url: "abc.com/jpeg", name: "Camera1", id: :camera_one, frequency: 10} I have such 100 states, with different values, my use case contains on 5 steps. Start Each state as a Gen{ ? }. Send an HTTP request to that URL. Get results. Send another HTTP request with the data came from the first request. Put the Process to sleep. if the

how to make a genserver to run with a frequency value Elixir

丶灬走出姿态 提交于 2020-12-14 06:56:57
问题 I have seen many GenServer implementations, I am trying to create one with such specifications, But I am not sure its GenServer's use case. I have a state such as %{url: "abc.com/jpeg", name: "Camera1", id: :camera_one, frequency: 10} I have such 100 states, with different values, my use case contains on 5 steps. Start Each state as a Gen{ ? }. Send an HTTP request to that URL. Get results. Send another HTTP request with the data came from the first request. Put the Process to sleep. if the

rabbitmq集群搭建

徘徊边缘 提交于 2020-12-13 19:34:17
转 https://blog.csdn.net/a491857321/article/details/52814045 rabbitmq集群搭建 2016年10月14日 11:28:14 阅读数:629 集群概述   通过 Erlang 的分布式特性(magic cookie 认证节点)进行 RabbitMQ 集群,各 RabbitMQ 服务为对等节点,即每个节点都提供服务给客户端连接,进行消息发送与接收。   这些节点通过 RabbitMQ HA 队列 (镜像队列)进行消息队列结构复制。本文中搭建 3 个节点,并且都是磁盘节点(所有节点状态保持一致,节点完全对等),只要有任何一个节点能够工作,RabbitMQ 集群对外就能提供服务。 环境 CentOS 7,64位 RabbitMQ 3.6.3 HAProxy 1.6.0 RabbitMQ 集群安装在 3 个节点上:192.168.1.1、192.168.1.2、192.168.1.3;HAProxy 安装在 192.168.1.4 上,用于对外提供 RabbitMQ 负载均衡服务。 配置步骤 1. 修改 /etc/hosts,并配置ssh相互免密登录 [root@node1 ~] # vi /etc/hosts 192.168. 1.1 node1 192.168. 1.2 node2 192.168. 1.3 node3 2.