2020-01-22 17:03
⁄ 工业·编程
⁄ 共 2021字
ZeroMQ是一个开源的高性能消息传递库。它是跨平台的,支持多种语言,并且重量轻,速度快。ZeroMQ是消息传递的服务提供商。使用这些提供程序,需要消息传递API来发送和接收消息,并且需要将这些提供程序与应用程序服务器集成在一起。Apache Kafka 是一个消息传递系统,使您可以发布和订阅基于主题和分区的消息流。这样,它类似于ActiveMQ,RabbitMQ等产品。但是,即使有这些相似之处,Kafka与传统的消息传递系统也存在一系列根本...
kafka, ZeroMQ, 比较阅读全文
2020-01-21 16:37
⁄ 工业·编程
⁄ 共 1408字
ZeroMQ和RabbitMQ均提供了消息服务, 可以满足某些使用场景下的消息处理,下面对这两种框架做一个宏观的对比.
1、ZeroMQ是以C++语言实现的,可以编译成so库, 其提供了以C语言风格访问的API(见其头文件zmq.h),主流程序设计语言如C++,Java, python, PHP等都提供了语言绑定的接口.
2、RabbitMQ是Erlang语言实现的,在部署RabbitMQ的时候,需要安装其匹配版本的Erlang环境.RabbitMQ提供了主流程序设计语言的客户端库来访问RabbitMQ服务器...
RabbitMQ, ZeroMQ, 比较阅读全文
2020-01-20 12:46
⁄ 工业·编程
⁄ 共 7053字
问世于 1987 年的面向并发的编程语言 Erlang,比 Java 和 Ruby 等老牌语言都要出现得早,但是彼时的 Erlang 并不被业界广泛地熟知,因为在其发布的十年间,它只作为商业产品出售且主要在爱立信公司内部使用。
然而在2018年 Code BEAM Stockholm 会议上(以前称为 Erlang 用户大会),思科的 Johan Bevemyr 宣布他们每年都会售出 200 万台运行 Erlang 应用程序的设备,这意味着 90% 的互联网流量都是通过 Erlang 控制的路由器和...
Erlang, 发展史阅读全文
2020-01-19 12:38
⁄ 工业·编程
⁄ 共 2155字
先给从来没有听说过Erlang的同学做个简短的介绍。 Erlang是一门函数语言,通过异步消息传递(asynchronous message passing)来处理并发,使用语义拷贝(copysemantics)传递消息。即使Erlang分布在多个虚拟机上,运行在多台机器上,对程序员来 说也是透明的。
在某种意义上Erlang和java是相似的,他们都通过虚拟机来获得可移植性,都采用独立于操作系统的字节码技术,都使用垃圾回收机...
Erlang, java, 比较阅读全文
2020-01-18 12:30
⁄ 工业·编程
⁄ 共 5249字
作为程序员,我们曾经闻听很多“业界动态”,“技术革新”,曾经接触很多“高手箴言”,“权威推荐”。这些正确与否,都已成过去!
现在,让我们迎接Erlang盛宴!
一、经历
2007年11月在koders.com搜索代码时,发现*.erl格式的源文件,感叹开发语言的花样百出,此时,我觉得erlang是一个丑陋的小家伙,看名字就没有对它提起多少兴趣。
2008年初的时候,公司的项目开发中,我有缘认识了ejabberd,一个采用Erlang开发的开源jabber服务器...
Erlang阅读全文
2020-01-17 16:46
⁄ 工业·编程
⁄ 共 728字
Go 源码中,应该可分为与语言息息相关的部分,和官方提供的标准库。与语言实现相关的肯定是最难的,不是那么容易理解。可以先主要看标准库,其他的可以先大概了解下,待准备充足,再开始艰难的任务。
第一步,先把源码目录整体扫一遍,大概看看涉及了哪些模块,再挑自己喜欢的部分进行更深一步的学习与研究。建议每个库都看下官方文档,简单写个 hello world,才会体悟更深。如果连 hello world 都写不出来,这个模块的源码暂时...
Go, 方法, 源码阅读全文
2020-01-16 16:21
⁄ 工业·编程
⁄ 共 606字
Python作为动态解释性语言,其运行机制可参考下图(图片来自网络,其中的“编译器”是对解释器的广义称呼):
都说解释器慢,Python也有想办法提高一下运行速度的,那就是使用pyc文件。这点参考了JAVA的字节码做法,但并不完全类同。
我们编写的代码一般都会保存在以.py为后缀的文件中。在执行程序时,解释器逐行读取源代码并逐行解释运行。每执行一次,就重复一次这个过程,这其中耗费了大量的重复性的解释工作。为了减少这一重...
Python, 原理阅读全文
2020-01-15 16:27
⁄ 工业·编程
⁄ 共 498字
Python有好几种版本的解释器:
CPython:官方版本的解释器。这个解释器是用C语言开发的,所以叫CPython。CPython是使用最广的Python解释器。我们通常说的、下载的、讨论的、使用的都是这个解释器。
Ipython:基于CPython之上的一个交互式解释器,在交互方式上有所增强,执行Python代码的功能和CPython是完全一样的。CPython用>>>作为提示符,而IPython用In [序号]:作为提示符。
PyPy:一个追求执行速度的Python解释器...
Python, 编译器阅读全文
2020-01-14 13:29
⁄ 工业·编程
⁄ 共 1129字
一年前我开始学习go语言的时候,如获至宝,既有python的编码效率,又带来性能的15倍提升。尤其是在异步编程方面,可以使用channel同步线程,不必加锁可以充分利用cpu多核计算,真是没有弱点。
后来慢慢了解到,这种无锁异步编程的思想,源自一门叫做erlang的语言,Erlang更加了不起。除了异步编程之外,这门语言天生支持分布式,单机上开发的软件,可以不加修改地运行在集群上,另外还支持软件版本的热升级,自带的OTP框架支持...
Erlang, Go, 比较阅读全文
2020-01-13 13:23
⁄ 工业·编程
⁄ 共 1848字
虽然Erlang有很长的历史,并且也被应用到很多领域中,在编程语言众多,新编程语言还在继续涌现的今天,Erlang却并不为普通大众所知,仅仅在一个小众圈子里面备受推崇。Erlang既是一个编程语言,更是一个操作系统加一整套工具集。对于服务器端的各种编程任务,Erlang使不可能做到的事情成为了可能,让可能做到的事情变得更简单。
首先举个生活中的例子吧,当我们打电话的时候当我们发短信的时候,我们很有可能正在使用基于Erlang...
Erlang阅读全文