Java程序监控---Metrics

概念

Metrics是一个给JAVA服务的各项指标提供度量工具的包,在JAVA代码中嵌入Metrics代码,可以方便的对业务代码的各个指标进行监控

目前最为流行的 metrics 库是来自 Coda Hale 的 dropwizard/metrics,该库被广泛地应用于各个知名的开源项目中。例如 Hadoop,Kafka,Spark,JStorm 中。

Camus介绍

概念

Linkedin/Camus是一个MapReduce作业,从Kafka拉取指定topic到HDFS,供批量/离线数据处理、分析。

其中,Camus sweeper组件提供去重功能,可以对Kafka中由于“at least once”机制而存在重复数据的topic进行去重。

目前Camus已经停止更新了,新项目为gobblin。

特点

Camus有以下几个特点:

  • 自动发现topic
  • Avro schema管理
  • 按时间分区

Samza 2---介绍

samza是一个分布式的流式数据处理框架(streaming processing),它是基于Kafka消息队列来实现类实时的流式数据处理的。下面将从为什么需要Samza、Samza一些基本概念、Samza架构、Samza的核心部件(SamzaContainer、Stream、Serialization、Checkpointing、State Management、Windowing、Metrix、JMX)几个部分来介绍。

为什么需要samza

kafka作为一个分布式的消息队列系统,已经实现了流式处理框架底层的许多核心基础架构,把消息串联流动起来就是Streaming了。kafka相关内容可以参考另一篇博客kafka介绍。

但是要构建一个可用的流式数据处理框架,还是有许多事情要做。例如生产者和消费者进程的管理,作业调度和容错处理,辅助工具和监控管理手段,更友好方便的用户接口等等,本质上说,Samza是在消息队列系统上的更高层的抽象,是一种应用流式处理框架在消息队列系统上的一种应用模式的实现。

Java程序员学python3.0--面向对象篇

参考廖雪峰大神的python3.0教程,适用于有一定基础的Java程序员,会对比着Java来学习python。代码在PyCharm中运行通过,地址为github。本篇主要介绍python面向对象编程相关的知识,在上一篇介绍了python的一些基础知识,包括安装运行、基础语法、函数、高级特性、函数式编程、模块等。

面向对象编程

类和对象

  • 定义类语法:class ClassName(superClass/object),其中括号里为父类,没有的话写object
  • 类中定义的函数第一个参数永远是实例变量self,调用时,不用传递该参数。
  • 允许对实例动态增加变量和方法,类的不同实例拥有的变量和方法可能不同
  • 允许对类动态添加方法,添加后对象都能访问
  • 类动态添加属性限制slots:定义一个特殊的slots变量,来限制该class实例能动态添加的属性。仅对当前类实例起作用,子类不起作用

Java程序员学python3.0--入门篇

参考廖雪峰大神的python3.0教程,适用于有一定基础的Java程序员,会对比着Java来学习python。代码在PyCharm中运行通过,地址为github。本篇主要介绍python的一些基础知识,包括安装运行(PyCharm设置)、基础语法、函数、高级特性、函数式编程、模块等。在下一篇会介绍python面向对象相关的知识。

python简介

Python的哲学就是简单优雅,尽量写容易看明白的代码,尽量写少的代码

|