- 浏览: 25884 次
- 性别:
- 来自: 北京
最新评论
-
明兜3号:
基于spring+quartz的分布式任务调度网盘地址:htt ...
Quartz集成springMVC (持久化任务、集群和分布式)
文章列表
Elasticsearch使用基础教程
- 博客分类:
- java
基础概念
Elasticsearch有几个核心概念。从一开始理解这些概念会对整个学习过程有莫大的帮助。
接近实时(NRT)
Elasticsearch是一个接近实时的搜索平台。这意味着,从索引一个文档直到这个文档能够被搜 ...
问题导读:
1.zookeeper在kafka的作用是什么?
2.kafka中几乎不允许对消息进行“随机读写”的原因是什么?
3.kafka集群consumer和producer状态信息是如何保存的?
4.partitions设计的目的的根本原因是什么?
一、入门
1、简介
Kafka is a distributed,partitioned,replicated commit logservice。它提供了类似于JMS的特性,但是在
Kafka是由LinkedIn开发的一个分布式的消息系统,使用Scala编写,它以可水平扩展和高吞吐率而被广泛使用。目前越来越多的开源分布式处理系统如Cloudera、Apache Storm、Spark都支持与Kafka集成。InfoQ一直在紧密关注Kafka的应用以及发展,“Kafka剖析”专栏将会从架构设计、实现、应用场景、性能等方面深度解析Kafka。
背景介绍
Kafka创建背景
Kafka是一个消息系统,原本开发自LinkedIn,用作LinkedIn的活动流(Activity Stream)和运营数据处理管道(Pipeline)的基础。现在它已被
Quartz是一个开放源码项目,专注于任务调度器,提供了极为广泛的特性如持久化任务,集群和分布式任务等。 Quartz核心是调度器,还采用多线程管理。
1.持久化任务:当应用程序停止运行时,所有调度信息不被丢失,当你重新启动时,调度信息还存在,这就是持久化任务。
2.集群和分布式处理:当在集群环境下,当有配置Quartz的多个客户端时(节点),采用Quartz的集群和分布式处理时,我们要了解几点好处 1) 一个节点无法完成的任务,会被集群中拥有相同的任务的节点取代执行。2) Quartz调度是通过触发器的类别来识别不同的任务,在不同的节点定义相同的触发器的类别,这样在集群下能稳 ...
性能测试的关注点
QPS(QueryPerSecond)每秒查询率,即每秒处理请求的个数 该值过小说明,应用处理能力不够,或者并发不够,没有充分利用cpu TPR(Time per request)每个请求的平均响应时间 该值过小说明,应用处理能力不够 median 中位数,即50%请求的响应时间 TR(Transfer rate)网络传输率 改值过大,说明响应内容太多,网络传输可能成为瓶颈,一般虚拟机12M/s,实体机45M/s 负载情况,通过命令uptime 查看
[hailin.wang@l-ota.h.dev.cn6 ~]$ ...
JAVA 实现XML与JSON 相互转换
- 博客分类:
- java
1.把XML转为JSON格式
[java] view plain copy
@SuppressWarnings(
Hive 是基于Hadoop 构建的一套数据仓库分析系统,它提供了丰富的SQL查询方式来分析存储在Hadoop 分布式文件系统中的数据,可以将结构
化的数据文件映射为一张数据库表,并提供完整的SQL查询功能,可以将SQL语句转换为MapReduce任务进行运行,通过自己的SQL 去查询分析需
要的内容,这套SQL 简称Hive SQL,使不熟悉mapreduce 的用户很方便的利用SQL 语言查询,汇总,分析数据。而mapreduce开发人员可以把
己写的mapper 和reducer 作为插件来支持Hive 做更复杂的数据分析。
它与关系型数据库的SQL 略有不同,但支持了 ...
1.由gc引起节点脱离集群
因为gc时会使jvm停止工作,如果某个节点gc时间过长,master ping3次(zen discovery默认ping失败重试3次)不通后就会把该节点剔除出集群,从而导致索引进行重新分配。
解决方法:
(1)优化gc,减少gc时间。(2)调大zen discovery的重试次数(es参数:ping_retries)和超时时间(es参数:ping_timeout)。后来发现根本原因是有个节点的系统所在硬盘满了。导致系统性能下降。
2.out of memory错误
因为默认情况下es对字段数据缓存(Field Data Cache)大小是无 ...
分布式系统之消息中间件rabbitmq
- 博客分类:
- java
既然要做分布式系统,就不得不说分布式消息通信系统。分布式系统的基础是各个分布式单元能够以各种方式互相通信,分布式消息中间件比较有名的开源实现有rabbitMQ,zeroMQ(库),ActiveMQ等,本篇先考察一下著名的消息中间件rabbitmq
rabbitmq在2010年4月被SpringSource收购,后者是vmware的一个部门,就是说,rabbitmq目前已经是vmware的了。
rabbitmq使用erlang语言编写,实现了AMQP协议。AMQP协议在04年中~06年中由摩根大通集团和iMatix公司开发,后来由AMQP工作组维护。最初用于金融领域,后来慢慢成为一个通用的 ...
强大的分布式消息中间件——kafka
- 博客分类:
- java
在我们大量使用分布式数据库、分布式计算集群的时候,是否会遇到这样的一些问题:
l 我想分析一下用户行为(pageviews),以便我能设计出更好的广告位
l 我想对用户的搜索关键词进行统计,分析出当前的流行趋势。这个很有意思,在经济学上有个长裙理论,就是说,如果长裙的销量高了,说明经济不景气了,因为姑娘们没钱买各种丝袜了。
l 有些数据,我觉得存数据库浪费,直接存硬盘又怕到时候操作效率低。
这个时候,我们就可以用到分布式消息系统了。虽然上面的描述更偏向于一个日志系统,但确实kafka在实际应用中被大量的用于日志系统。
首先我们要明白什么是消息系统,在kafka官网上对kafka ...
MQ框架非常之多,比较流行的有RabbitMq、ActiveMq、ZeroMq、kafka。这几种MQ到底应该选择哪个?要根据自己项目的业务场景和需求。下面我列出这些MQ之间的对比数据和资料。
第一部分:RabbitMQ,ActiveMq,ZeroMq比较
1、 TPS比较 一
ZeroMq 最 ...
java(3)内存区域和GC机制
- 博客分类:
- java
目录
Java垃圾回收概况
Java内存区域
Java对象的访问方式
Java内存分配机制
Java GC机制
垃圾收集器
Java垃圾回收概况
Java GC(Garbage Collection,垃圾收集,垃圾回收)机制,是Java与C++/C的主要区别之一,作为Java开发者,一般不需要专门编写内存回收和垃圾清理代码,对内存泄露和溢出的问题,也不需要像C程序员那样战战兢兢。这是因为在Java虚拟机中,存在自动内存管理和垃圾清扫机制。概括地说,该机制对JVM(Java Virtual Machine)中的内存进行标记,并确定哪些内存需要回收,根据一定的回收策略,自动的回收内存,永不停 ...
目录
前言
传统的RTTI
反射
反射的实现方式
反射的性能
反射与设计模式
前言
并不是所有的Class都能在编译时明确,因此在某些情况下需要在运行时再发现和确定类型信息(比如:基于构建编程,),这就是RTTI(Runtime Type Information,运行时类型信息)。
在java中,有两种RTTI的方式,一种是传统的,即假设在编译时已经知道了所有的类型;还有一种,是利用反射机制,在运行时再尝试确定类型信息。
本文主要讲反射方式实现的RTTI,建议在阅读本文之前,先了解类的加载机制(参考我的博客:Java系列笔记(1) - Java 类加载与初始化)。
在本文中,将共同使用 ...
java(1)类加载与初始化
- 博客分类:
- java
目录
类加载器
动态加载
链接
初始化
示例
类加载器
在了解Java的机制之前,需要先了解类在JVM(Java虚拟机)中是如何加载的,这对后面理解java其它机制将有重要作用。
每个类编译后产生一个Class对象,存储在.class文件中,JVM使用类加载器(Class Loader)来加载类的字节码文件(.class),类加载器实质上是一条类加载器链,一般的,我们只会用到一个原生的类加载器,它只加载Java API等可信类,通常只是在本地磁盘中加载,这些类一般就够我们使用了。如果我们需要从远程网络或数据库中下载.class字节码文件,那就需要我们来挂载额外的类加载器。
一般来说,类加 ...
jvm监控与调优系列
- 博客分类:
- java
目录
参数设置
收集器搭配
启动内存分配
监控工具和方法
调优方法
调优实例
光说不练假把式,学习Java GC机制的目的是为了实用,也就是为了在JVM出现问题时分析原因并解决之。通过学习,我觉得JVM监控与调优主要的着 ...