erlang

How to format a flat string with integers in it in erlang?

孤街醉人 提交于 2021-01-26 23:00:32
问题 In erlang, I want to format a string with integers in it and I want the result to be flattened. But I get this: io_lib:format("sdfsdf ~B", [12312]). [115,100,102,115,100,102,32,"12312"] I can get the desired result by using the code below but it is really not elegant. lists:flatten(io_lib:format("sdfsdf ~B", [12312])). "sdfsdf 12312" Is there a better formatting strings with integers in them, so that they are flat? Ideally, using only one function? 回答1: You flatten a list using lists:flatten

RabbitMQ系列之---初识RabbitMQ

£可爱£侵袭症+ 提交于 2021-01-26 08:05:39
为什么要使用RabbitMQ? 消息队列的作用 异步调用 系统解耦 削峰限流 消息通讯 消息队列的缺点 系统可用性降低 系统稳定性降低 分布式一致性问题(可靠消息最终一致性的分布式事务方案解决) RabbitMQ的优势 支持高并发、高吞吐、性能好 有完善的后台管理界面 它还支持集群化、高可用部署架构、消息高可靠支持 RabbitMQ的开源社区很活跃,较高频率的迭代版本,来修复发现的bug以及进行各种优化 最重要的是它是开源免费的。 RabbitMQ的缺点 它是基于erlang语言开发的,所以导致较为难以分析里面的源码,也较难进行深层次的源码定制和改造,毕竟需要较为扎实的erlang语言功底才可以。 核心概念 Server :又称Broker,接受客户端的连接,实现AMQP实体服务; Connection :连接,应用程序与Broker的网络连接; Channel :网络通道,也称信道,几乎所有的通道都在Channel中进行的,Channel是进行消息读写的通道。客户端可建立多个Channel,每个Channel代表一个会话任务;是建立在“真实的”TCP连接内的虚拟连接。AMQP命令都是通过信道发送出去的。那么我们为什么需要信道呢?为什么不直接通过TCP连接发送AMQP命令呢?因为操作系统建立和销毁TCP会话是非常昂贵的开销,而且操作系统只能建立数量不多的TCP连接

新RabbitMQ精讲,项目驱动落地,分布式事务拔高

一个人想着一个人 提交于 2021-01-25 08:00:02
download: 新RabbitMQ精讲,项目驱动落地,分布式事务拔高 新RabbitMQ精讲,项目驱动落地,分布式事务拔高 大部分同学的现状是:熟悉表面理论知识,却无法很好应用到工作中。我们收到这些反馈后,才诞生了本课程。 为了避免只学到死知识、不敢在生产环境实操的尴尬局面。本课从知识上也是从入门到精通,但却全程用项目递进的方式讲授知识。目标就是会用,课程中还融入了很多开发小Tips。并且把深度做足:解读核心源码,基于RabbitMQ二次开发,手写分布式事务框架,提升技术深度,培养框架思维。 适合人群 对RabbitMQ不了解的Java开发者 有RabbitMQ基础,实际使用经验有限的Java开发者 对RabbitMQ感兴趣的开发者 技术储备要求 Java语言基础、SpringBoot基础   概要编辑   RabbitMQ是一种实现高级消息队列协议(amqp )的开源消息代理软件(也称为面向消息的中间件)。 RabbitMQ服务器用Erlang语言编写,集群和故障转移构建在开放电信平台上。 所有主要的编程语言都有与代理接口进行通信的客户端库。   历史记录编辑   Rabbit技术有限公司开发RabbitMQ并支持它。 起初,Rabbit技术是LSHIFT和CohesiveFT于2007年成立的合资企业,2010年4月被VMware旗下的SpringSource收购。

RabbitMQ(一):Windows下RabbitMQ安装

假装没事ソ 提交于 2021-01-25 04:08:53
1.Windows下安装RabbitMQ需要以下几个步骤 (1):下载erlang,原因在于RabbitMQ服务端代码是使用并发式语言erlang编写的,下载地址: http://www.erlang.org/downloads ,双击.exe文件进行安装就好,安装完成之后创建一个名为ERLANG_HOME的环境变量,其值指向erlang的安装目录,同时将%ERLANG_HOME%\bin加入到Path中,最后打开命令行( 注意坑:window10需要用管理员身份打开 ),输入erl,如果出现erlang的版本信息就表示erlang语言环境安装成功; (2):下载RabbitMQ,下载地址: http://www.rabbitmq.com/ ,同样双击.exe进行安装就好( 注意坑:默认的安装目录是C:/Program Files/....,这个目录中是存在空格符的,我们需要改变安装目录,貌似RabbitMQ安装目录中是不允许有空格的,我的安装路径为D:\RabbitMQ ); (3):安装RabbitMQ-Plugins,这个相当于是一个管理界面,方便我们在浏览器界面查看RabbitMQ各个消息队列以及exchange的工作情况,安装方法是:打开命令行cd进入rabbitmq的sbin目录,输入:rabbitmq-plugins enable rabbitmq

使用Tsuang 对TCP服务器进行压力测试记录

試著忘記壹切 提交于 2021-01-22 15:08:48
安装 Tsuang 参考: CentOS 7 系统 Erlang/OTP 20.3 Tsung 1.7.0 安装部署教程 编写配置文件 配置文件:raw.xml <?xml version="1.0"?> <!DOCTYPE tsung SYSTEM "/root/kerl/22.0/share/tsung/tsung-1.0.dtd"> <tsung loglevel="debug" dumptraffic="true" version="1.0"> <clients> <!-- 单线程允许的最大连接数:100000,系统默认单线程允许的最大连接数是1024,当用户数大于限制时,将启动新的erlang虚拟机来处理新用户。 --> <client host="localhost" weight="2" maxusers="30000" use_controller_vm="true"/> </clients> <servers> <server host="localhost" port="60001" type="tcp"></server> </servers> <load> <!-- 第 0 个十分钟,每2秒钟创建1个新用户 --> <arrivalphase phase="0" duration="10" unit="minute"> <users interarrival

Skynet基于Actor模式的开源框架

偶尔善良 提交于 2021-01-13 13:14:25
使用多进程解决高并发带来的问题是进程安全锁,框架经常会因为部分代码的报错而导致死锁或内存占用不释放等诸多问题。而使用单进程的服务器框架,通过线程池来做消息轮询和任务执行,能够避开锁带来的诸多问题。 框架的初衷 众核时代的并行编程 免费的晚餐已经结束了(The Free Lunch Is Over -- Herb Sutter, 2005) E5420(2.5GHz 2004) VS E5-2620v3(2.4GHz 2014) 我们获得了更多的核心、更多的线程、更大的缓存、更大的带宽。我们得不到更高的主频。 Erlang 1998年Erlang开源 2006年传入国内C++程序员圈 Erlang China User Group始于2007,现改名为Effective Cloud User Group 并行和分布式 Erlang采用的Actor模式使其增长并行处理,错误处理机制和储存管理为分布式服务,Erlang并不擅长存储密集型数值计算。 Actor模式 一切都是Actor 一切都是Object?并行的面向对象模式!创建actor/处理消息/发送消息。发送的消息和发送者解耦、异步通讯。 没有Actor的语言提供的框架 Akka by Scala、CAF: C++ Actor Framework by C++、Remact.Net by .net Skynet 2010 年想法

Ubuntu16.04安装Rabbitmq

拥有回忆 提交于 2021-01-13 08:50:11
1.为了使用存储库,添加一个用于将RabByMQ版本发布到APT密钥的密钥: wget -O - ' https://dl.bintray.com/rabbitmq/Keys/rabbitmq-release-signing-key.asc ' | sudo apt-key add - 2.添加相应版本的源 echo " deb https://dl.bintray.com/rabbitmq/debian xenial main " | sudo tee /etc/apt/sources.list.d/bintray.rabbitmq.list 3.更新源列表 sudo apt- get update 4.安装支持库 sudo apt- get install erlang erlang-nox -y 5.安装rabbitmq-server,并启动服务 sudo apt- get install rabbitmq-server -y /etc/init.d/rabbitmq-server start #安装完成默认是开启 6.启动插件 rabbitmq既可以命令行操作,也可以用rabbitmq自带的web管理界面,只需要启动插件便可以使用 sudo rabbitmq -plugins enable rabbitmq_management #默认端口15672 访问地址:http:/

Ubuntu16.04下,erlang安装和rabbitmq安装步骤

孤人 提交于 2021-01-13 08:47:34
  准备工作,先下载erlang和rabbitmq的安装包,注意他们的版本,版本不对可能会导致rabbitmq无法启动,这里我使用的是最新的erlang(22.1)和rabbitmq(3.8.1),下载地址:   erlang下载地址: http://erlang.org/download/otp_src_22.1.tar.gz ( 点击这里进入下载页面 )   rabbitmq下载地址: https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.8.1/rabbitmq-server-generic-unix-3.8.1.tar.xz ( 点击这里进入下载页 )   百度云下载:链接: https://pan.baidu.com/s/1hs27kqbTvcMHw7msidHBfA 提取码: uh49   切记,erlang的版本要和rabbitmq的版本对上,版本比对地址: https://www.rabbitmq.com/which-erlang.html         建议使用window下载,然后再发送到linux中去,如果是linux,可直接使用命令行下载   #rabiitmq下载 wget https: // github.com / rabbitmq / rabbitmq - server /

【RabbitMQ】ubuntu下RabbitMQ安装与简单使用

社会主义新天地 提交于 2021-01-13 05:35:55
参考:https://blog.csdn.net/the_fool_/article/details/80570971 1、安装: https: // blog.csdn.net/a295277302/article/details/71246941 https: // blog.csdn.net/junzhen_chen/article/details/78459383 2 、使用: https: // blog.csdn.net/hzw19920329/article/details/53156015 https: // blog.csdn.net/u014308482/article/details/53994401 环境信息: OS:ubuntu16. 04 前期准备: 1 、ifconfig、ping命令查看网络是否正常 2 、配置源(即软件下载地址) 安装(安装包方式可以参考参考链接中的1链接): 1 、由于rabbitMq使用erlang语言开发,在安装rabbitMq之前需要安装erlang sudo apt - get install erlang 2 、查看erlang版本: sudo erl 3 、安装rabbitMq: sudo apt - get install rabbitmq- server 4 、要查看服务器状态 sudo rabbitmq

Ubuntu安装rabbitMq

♀尐吖头ヾ 提交于 2021-01-13 04:51:51
Ubuntu安装rabbitMq 笔者ubuntu版本为Ubuntu 15.10,查看ubuntu当前版本命令:cat /etc/issue。 由于rabbitMq需要erlang语言的支持,在安装rabbitMq之前需要安装erlang,执行命令: sudo apt-get install erlang-nox 安装后检查是否安装成功 erl   安装rabbitMq命令: $ sudo apt-get update $ sudo apt-get install rabbitmq-server 启动、停止、重启、状态rabbitMq命令: 启动:sudo rabbitmq-server start 关闭: sudo rabbitmq-server stop 重启: sudo rabbitmq-server restart 查看状态:sudo rabbitmqctl status 接下来启动rabbitmq插件:rabbitmq-plugins enable rabbitmq_management。 这个可以启动rabbitmq的web控制台。 远程访问一定要自己新建用户,因为guest只能本地访问 添加用户rabbitmq,格式:rabbitmqctl add_user 用户名 密码。 如rabbitmqctl add_user admin admin