erlang

关于RabbitMQ安装及其容易踩的坑

混江龙づ霸主 提交于 2020-08-08 18:07:42
RabbitMQ与 Erlang有版本对应要求 一定要注意 版本对应要求说明官方网站: https://www.rabbitmq.com/which-erlang.html#compatibility-matrix RabbitMQ版本 最低要求的Erlang / OTP 最大支持的Erlang / OTP 笔记 3.8.5 3.8.4 21.3 23.x Erlang / OTP 23 兼容性说明 建议使用Erlang 22.x或23.x Erlang 22.x不再支持HiPE 3.8.3 3.8.2 3.8.1 3.8.0 21.3 22.x 建议使用Erlang22.x。 Erlang 22.x不再支持HiPE 3.7.26 3.7.25 3.7.24 3.7.23 3.7.22 3.7.21 3.7.20 3.7.19 21.3 22.x 不再 支持Erlang / OTP 20.x Erlang 22.x不再支持HiPE 3.7.18 3.7.17 3.7.16 3.7.15 20.3 22.x Erlang / OTP 22.0 兼容性说明 默认情况下,在Erlang 22.x上禁用 TLSv1.0和TLSv1.1支持 3.7.14 3.7.13 3.7.12 3.7.11 20.3 21.x 不再 支持Erlang / OTP 19.x 为了获得最佳的TLS支持

《Erlang程序设计》 第八章 并发编程

我与影子孤独终老i 提交于 2020-08-08 12:42:59
第八章 并发编程 Table of Contents 第八章 并发编程 8.1 并发原语 创建进程 向进程发送消息 接收消息 8.2 一个简单的例子 8.3 客户/服务器介绍 第一步 第二步 第三步 8.4 创建一个进程需要花费多少时间 8.5 带超时的receive 8.5.1 只有超时的receive 8.5.2 超时时间为0的receive 8.5.3 使用一个无限等待超时进行接收 8.5.4 实现一个计时器 8.6 选择性接收 8.7 注册进程 注册进程 取消注册 判断是否已注册 查看注册列表 8.8 如何编写一个并发程序 8.9 尾递归技术 8.10 使用MFA启动进程 8.11 习题 测试注册函数 测试发送消息 第八章 并发编程 Erlang中的进程并非属于操作系统, 它是属于程序语言本身的。 Erlang中的进程的特点: 创建和销毁进程非常迅速 在两个进程间收发消息非常迅速 进程在所有操作系统上行为相同 可以创建大量进程 进程之间不共享任何数据, 彼此间完全独立 进程间交互的唯一方式是消息传递 8.1 并发原语 创建进程 Pid = spawn(Fun). 向进程发送消息 Pid ! Message Pid1 ! Pid2 ! ... M 接收消息 receive Pattern1 [when Guard1] -> Expressions1; Pattern2

进程和线程之间有什么区别?

这一生的挚爱 提交于 2020-08-08 11:50:22
问题: What is the technical difference between a process and a thread? 进程和线程之间的技术区别是什么? I get the feeling a word like 'process' is overused and there are also hardware and software threads. 我感到像“过程”这样的词已被过度使用,并且还有硬件和软件线程。 How about light-weight processes in languages like Erlang ? 像 Erlang 这样的语言的轻量级进程怎么样? Is there a definitive reason to use one term over the other? 有明确的理由使用一个术语而不是另一个术语吗? 解决方案: 参考一: https://stackoom.com/question/q9N/进程和线程之间有什么区别 参考二: https://oldbug.net/q/q9N/What-is-the-difference-between-a-process-and-a-thread 来源: oschina 链接: https://my.oschina.net/u/4432649/blog/4479049

RabbitMQ学习之二:管理单节点RabbitMQ

南楼画角 提交于 2020-08-07 21:09:56
环境准备: [root@master ~]# cat /etc/redhat-release CentOS Linux release 7.7.1908 (Core) [root@master ~]# uname -a Linux master 3.10.0-514.el7.x86_64 #1 SMP Tue Nov 22 16:42:41 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux [root@master ~]# ip addr ens33: inet 192.168.0.201/24 brd 192.168.0.255 scope global ens33 当前Erlang和RabbitMQ版本: [root@master ~]# erl Erlang/OTP 22 [erts-10.7.1] [source] [64-bit] [smp:1:1] [ds:1:1:10] [async-threads:1] [hipe] [root@master ~]# rabbitmqctl version 3.8.3 一、部署单节点RabbitMQ 通常所说的RabbitMQ节点,其实是RabbitMQ应用程序和其所在的Erlang虚拟机。类似于JAVA应用程序和JVM虚拟机。 Erlang能让应用程序无须知道对方是否在同一台机器上即可相互通信。 1

Erlang and bash scripting (escript)

倖福魔咒の 提交于 2020-08-07 18:21:31
问题 I am very new in Erlang and want to merge bash script with Erlang node and function. I have one Mnesia Database where we go into Erlang node and run several function but i want to run those functions via some bash script so that I can use those bash script output elsewhere. My Erlang shell:- sudo /opt/butler_server/bin/butler_server remote_console Erlang/OTP 20 [erts-9.3.3.6] [source] [64-bit] [smp:28:28] [ds:28:28:10] [async-threads:10] Eshell V9.3.3.6 (abort with ^G) (butler_server

《Erlang程序设计》 第七章 并发

心已入冬 提交于 2020-08-07 08:38:52
第七章 并发 Table of Contents 并发 第七章 并发 这里作者再次强调了其对并发编程的理解, 即并发是一种本能, 而不是像共享内存的并发编程方式那样, 为了防止同时修改, 需要加锁, 而这种机制的复杂程度及带来的一系列的问题, 都使得并发编程成为了一种看似高级的技能, 而并不是像作者所理解的那样:即使你不会开车, 看到车向你驶来, 你也会躲避, 这是人的一种本能反应。而Erlang基于消息的并发编程方式, 恰恰让通过Erlang编写并发程序成为一种与生俱来的能力而不是什么高级技巧。就好像作者在这里所举的记电话号码的例子, 它来源于真实生活场景, 或者说是在真实世界中的行为方式, 因为基于消息的通信方式并不仅仅局限于人类, 在自然界中这是一种最自然不过的通信方式。如果说曾有很多产品是基于仿生学的设计, 那么在这个层面来讲, 基于消息的并发编程方式能够取得成功就并不是偶然。 来源: oschina 链接: https://my.oschina.net/zhenggao/blog/4404606

基于 Prometheus、Grafana 的 EMQ X 物联网 MQTT 服务器可视化运维监控

一笑奈何 提交于 2020-08-07 07:18:49
Prometheus 是由 SoundCloud 开源监控告警解决方案,支持多维 数据模型 (时序由 metric 名字和 k/v 的 labels 构成),具备灵活的查询语句( PromQL ),支持多种数据采集 exporters ;支持告警管理,基于指标实现告警监控;支持多种统计数据模型,图形化展示友好,图形展示除了内置的浏览器,也支持 Grafana 集成。 物联网 MQTT 服务器 EMQ X 提供 emqx_statsd 插件,用于将 EMQ X 运行指标及 Erlang 虚拟机状态数据输出到第三方的监控系统如 Prometheus 中。通过 Prometheus 自带的 node-exporter 还可以采集 Linux 服务器相关指标,实现服务器 + EMQ X 整体运维监控。 本文提供了 Prometheus + Grafana 整套 EMQ X 运维监控方案搭建过程。 安装与准备 Docker 镜像下载 # Docker 镜像包下载 docker pull prom/node-exporter docker pull prom/prometheus docker pull prom/pushgateway 启动 node-exporter 可选,用于收集服务器指标如 CPU、内存、网络等,如果使用 Docker 安装则需要映射目标服务器响应的状态文件:

redis介绍

纵饮孤独 提交于 2020-08-07 05:08:25
Ø 开源的( BSD 协议),使用 ANSI C 编写,基于内存的且 支持持久化 ,高性能的 Key-Value 的 NoSQL 数据库 Ø 支持数据结构 类型丰富 ,有如 字符串( strings ), 散列( hashes ), 列表( lists ), 集合( sets ), 有序集合( sorted sets ) 与范围查询, bitmaps , hyperloglogs 和 地理空间( geospatial ) 索引半径查询。 Ø 丰富的支持主流语言的客户端 , C 、 C++ 、 Python 、 Erlang 、 R 、 C# 、 Java 、 PHP 、 Objective-C 、 Perl 、 Ruby 、 Scala 、 Go 、 JavaScript Ø Ø 用途:缓存( StackOverFlow )、数据库(微博)、消息中间件(微博) Ø Ø 官方网站: http://www.redis.io 来源: oschina 链接: https://my.oschina.net/u/3095186/blog/4367251

rabbitmq消息列队

北城余情 提交于 2020-08-06 04:11:03
RabbitMQ的安装 安装erlang yum –y install epel-release rpm -ivh erlang-solutions-1.0-1.noarch.rpm vim /etc/yum.repos.d/erlang_solutions.repo 把里面的内容更改为以下内容 [erlang-solutions] name=Centos $releasever - $basearch - Erlang Solutions baseurl=https://mirrors.tuna.tsinghua.edu.cn/erlang-solutions/centos/7/ gpgcheck=0 gpgkey=http://packages.erlang-solutions.com/debian/erlang_solutions.asc enabled=1 yum -y install erlang yum localinstall rabbitmq-server-3.8.3-1.el7.noarch.rpm 开启用户远程访问 vim /etc/rabbitmq/rabbitmq.config 创建rabbitmq.config 添加: [{rabbit, [{loopback_users, []}]}]. #执行插件命令rabbitmq-plugins enable

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

若如初见. 提交于 2020-08-05 17:56:34
云栖号资讯:【 点击查看更多行业资讯 】 在这里您可以找到不同行业的第一手的上云资讯,还在等什么,快来! 编程语言社区 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 名如下