erlang的优缺点

erlang是动态语言:

    Erlang实质是一门动态语言,它的动态类型,动态函数调用,都充分表现的动态语言的特征。Erlang是一个运行在虚机里面的动态语言,其实也不奇怪,只有动态语言,才容易实现软件版本的热升级。那动态语言有什么缺点,就是慢,动态语言因为时刻要进行类型推导,执行速度就是要比静态语言慢好几倍,所以,erlang自身所做的优化,就是尽可能把常用的功能用c语言实现,集成到erlang的虚机内,至于程序员编写的代码,也只能慢慢地执行了。

    “世间安得双全法,不负如来不负卿”,高并发和密集计算其实是一对矛盾,当cpu服务于密集计算,自然无暇响应更多的请求。当然可以使用erlang搭建互联网服务,响应高并发地请求,然后把计算转移到cpu空闲的节点上,然而那些计算节点,如果是用静态语言(比如go语言)编写,会获得更好的性能。

转载于:https://www.cnblogs.com/xingyunshizhe/p/10338025.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: RabbitMQ 的优点: 1. 可靠性:RabbitMQ 提供了丰富的可靠性特性,如消息确认、消息持久化、队列镜像、HA 等,确保消息能够被可靠地传递。 2. 灵活性:RabbitMQ 提供了丰富的交换机类型(direct, topic, headers 和 fanout),支持路由键和标记,可以方便地灵活地实现消息分发和过滤。 3. 扩展性:RabbitMQ 基于 Erlang 开发,拥有出色的扩展性,可以方便地满足大规模、高吞吐的消息需求。 4. 社区支持:RabbitMQ 在开源社区中拥有广泛的支持,有丰富的资料和示例代码可供参考。 RabbitMQ 的缺点: 1. 性能瓶颈:在高吞吐量场景下,RabbitMQ 的性能可能受到限制,需要进行特殊优化。 2. 监控困难:RabbitMQ 没有提供内置的监控和管理界面,需要通过第三方工具或自己实现来完成。 3. 学习曲线:RabbitMQ 涉及的概念较多,学习曲线比较陡峭,需要较长的学习时间。 4. 配置复杂:RabbitMQ 有许多可配 ### 回答2: RabbitMQ是一种开源的消息队列系统,具有以下优点和缺点。 优点: 1. 可靠性高:RabbitMQ采用消息持久化方式,保证消息在发送和接收过程中的可靠性。即使在发送端或接收端出现故障情况下,消息也不会丢失。 2. 灵活性强:RabbitMQ支持多种消息传递模式,包括点对点和发布/订阅模式。这使得开发者能够根据需求选择最适合的模式进行消息传递。 3. 协议支持广泛:RabbitMQ支持常用的消息协议,如AMQP(高级消息队列协议),STOMP(简单文本协议),MQTT(物联网协议),使其能够与多种语言和平台无缝集成。 4. 可扩展性强:RabbitMQ可在线扩展,可以通过增加节点实例来提高处理能力。同时,RabbitMQ还支持负载均衡和消息分片等功能,能够应对高并发场景。 缺点: 1. 复杂性高:RabbitMQ提供了丰富的功能和配置选项,但也导致其学习曲线较陡峭。对于初学者来说,可能需要一些时间来理解和掌握其概念和使用方法。 2. 性能较低:由于RabbitMQ的数据可靠性和持久化特性,对性能有一定的影响。在高并发场景下,可能会出现性能瓶颈。 3. 配置复杂:RabbitMQ的配置相对较为复杂,需要了解并正确配置各种参数才能满足具体需求,这对于一些不太熟悉消息队列的开发者来说可能会增加困难。 总的来说,RabbitMQ作为一种成熟的消息队列系统,具有较高的可靠性和灵活性,其提供的丰富功能满足了复杂应用场景的需求。但同时也需要开发者在使用时注意其复杂性和配置的合理性,以及在高并发环境下的性能问题。 ### 回答3: RabbitMQ是一个开源的消息中间件,具有以下优点和缺点: 优点: 1. 灵活性高:RabbitMQ支持多种消息队列模式,如发布-订阅、点对点、RPC等,可以根据不同需求选择最合适的模式。 2. 高可靠性:RabbitMQ使用消息确认机制,确保消息成功被消费者接收,能够处理高并发和大量的消息传递。 3. 可扩展性强:RabbitMQ支持集群部署,可以水平扩展,通过增加节点来提高消息处理能力和可靠性。 4. 异步处理:RabbitMQ支持异步消息处理,能够将生产者和消费者解耦,提高系统的稳定性和性能。 5. 支持多种语言:RabbitMQ提供了多个客户端库,支持多种编程语言,方便开发人员使用。 缺点: 1. 配置复杂:RabbitMQ的配置比较复杂,需要对消息队列模式和交换机等概念有一定的了解,初学者使用起来可能会有一定的困难。 2. 性能受限:RabbitMQ的性能受限于硬件资源,如果消息量很大或者处理消息的消费者比较慢,可能会导致系统性能下降。 3. 可靠性依赖磁盘:RabbitMQ的消息持久化是将消息存储到磁盘上,当消息量很大时,对磁盘的依赖性会增加,可能导致磁盘读写速度变慢。 4. 无法广播:RabbitMQ不支持消息广播,如果需要将消息广播到多个消费者中,需要通过交换机和队列的方式实现。 总的来说,RabbitMQ是一个强大的消息中间件,适用于大多数的消息传递场景,但在高性能和广播方面有一些限制。同时,使用RabbitMQ需要对其配置和概念有一定的了解,这可能对初学者来说会有一定的学习曲线。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值