使用火焰图做性能分析

 2018-01-13 16:49:02     火焰图  性能分析  Java  Flame Graph   1888



火焰图(Flame Graph)是由 `Linux` 性能优化大师 `Brendan Gregg` 发明的。它是定位疑难杂症的神器,比如 `CPU` 占用高、内存泄漏等问题。

和所有其他的 `trace` 和 `profiling` 方法不同的是,`Flame Graph` 以一个全局的视野来看待时间分布,它从底部往顶部,列出所有可能的调用栈。

阅读全文

自动化部署Flume+Kafka+Storm

 2017-12-03 21:48:23     阿里云  Flume  Kafka  Storm  自动化部署   629



由于业务需求特殊,一般只固定在一周的某几天晚上会有大量数据需要进行实时计算,而且只需要使用4到5个小时。平时只需要小规模的集群进行开发、测试和线上使用。 针对这种情况,为了减少服务器的费用,决定利用阿里云的 API 和 ECS 服务器,自动独立部署一套 Flume+Kafka+Storm 实时计算集群服务,以便灵活应对各种压力下的计算需求。

阅读全文

Storm消费Kafka监控

 2017-04-18 16:32:32     Storm  Kafka  Zookeeper  监控   2358



Flume+Kafka+Storm是目前比较常用的一种实时处理组合。组合的框架越多,可能出问题的地方就越多,相对应的问题排查也就越麻烦。这时,监控就显得尤为重要,有效的监控,可以帮助我们快速定位问题的环节,减少排查的时间。

Storm服务自带UI,可以查看服务状态,也可以直接调用其提供的rest api,实现监控报警。

Kafka自带的有消费命令脚本,可以查看各topic和partition对应的offset信息。但是由于版本和消费方的使用规则不同,无法做到统一,不一定好用。

Flume监控,这里先不介绍,后期会单独介绍。

阅读全文

阿里云ECS上搭建Kafka集群

 2017-04-07 18:24:45     Kafka  阿里云   1735



Kafka是一个分布式的、可分区的、基于备份的、基于commit-log存储的服务。它提供了类似于JMS的特性,但是在设计实现上完全不同,此外它并不是JMS规范的实现。

Kafka消息是根据Topic进行归类,发送消息者成为Producer,消息接收者成为Consumer;此外Kafka集群有多个kafka实例组成,每个实例(server)称为broker。

无论是kafka集群,还是producer和consumer都依赖于zookeeper来保证系统可用性以及保存一些meta信息。

阅读全文