- 博客(81)
- 资源 (4)
- 收藏
- 关注
原创 如何解决业务系统中的热点问题
我们在做各种业务研发的时候经常会碰到热点问题影响系统稳定性和性能瓶颈,例如支付系统中的热点账户进出款,电商系统中的热点商品参与秒杀,金融系统中的热点理财产品抢购等,那今天就让我带大家来一起看下我们如何解决热点问题。 首先我们要搞清楚的是热点问题必须包含两个字,一个是点,一个是热,点表示我们在系统的业务路径上有一个地方存在性能的瓶颈,比如数据库,文件系统,网络,甚至...
2019-06-04 15:32:40 774 1
转载 Mongodb VS Hbase
1.Mongodb bson文档型数据库,整个数据都存在磁盘中,hbase是列式数据库,集群部署时每个familycolumn保存在单独的hdfs文件中。2.Mongodb 主键是“_id”,主键上面可以不建索引,记录插入的顺序和存放的顺序一样,hbase的主键就是row key,可以是任意字符串(最大长度是 64KB,实际应用中长度一般为 10-100bytes),在hbase内部,ro
2016-08-23 14:37:34 593
转载 HBase 系统架构
HBase是Apache Hadoop的数据库,能够对大型数据提供随机、实时的读写访问。HBase的目标是存储并处理大型的数据。HBase是一个开源的,分布式的,多版本的,面向列的存储模型。它存储的是松散型数据。HBase特性:1 高可靠性2 高效性3 面向列4 可伸缩5 可在廉价PC Server搭建大规模结构化存储集群HBase是Goog
2016-08-23 14:32:59 352
转载 Spark RDD API详解(一) Map和Reduce
RDD是什么?RDD是Spark中的抽象数据结构类型,任何数据在Spark中都被表示为RDD。从编程的角度来看,RDD可以简单看成是一个数组。和普通数组的区别是,RDD中的数据是分区存储的,这样不同分区的数据就可以分布在不同的机器上,同时可以被并行处理。因此,Spark应用程序所做的无非是把需要处理的数据转换为RDD,然后对RDD进行一系列的变换和操作从而得到结果。本文为第一部分,将介绍S
2016-07-26 20:53:01 457
转载 Sqoop导入关系数据库到Hive
Sqoop 是 apache 下用于 RDBMS 和 HDFS 互相导数据的工具。本文以 mysql 数据库为例,实现关系数据库导入到 hdfs 和 hive。1. 安装 Sqoop使用 rpm 安装即可。yum install sqoop sqoop-metastore -y安装完之后需要下载 mysql jar 包到 sqoop 的 lib 目录。这里
2016-07-21 11:29:57 587
转载 Hadoop源码解析之: TextInputFormat如何处理跨split的行
我们知道Hadoop将数据给到map进行处理前会使用InputFormat对数据进行两方面的预处理: 对输入数据进行切分,生成一组split,一个split会分发给一个mapper进行处理。 针对每个split,再创建一个RecordReader读取Split内的数据,并按照的形式组织成一条record传给map函数进行处理。最常见的FormatInput就是TextInput
2016-07-19 16:33:29 596
转载 Hadoop MapReduce执行过程详解
分析MapReduce执行过程 MapReduce运行的时候,会通过Mapper运行的任务读取HDFS中的数据文件,然后调用自己的方法,处理数据,最后输出。Reducer任务会接收Mapper任务输出的数据,作为自己的输入数据,调用自己的方法,最后输出到HDFS的文件中。整个流程如图:Mapper任务的执行过程详解每个Mapper任务是一个java进程,它会读取HDFS中
2016-07-19 16:32:29 821
转载 Hadoop Yarn 框架原理及运作机制
1.1 YARN 基本架构YARN是Hadoop 2.0中的资源管理系统,它的基本设计思想是将MRv1中的JobTracker拆分成了两个独立的服务:一个全局的资源管理器ResourceManager和每个应用程序特有的ApplicationMaster。其中ResourceManager负责整个系统的资源管理和分配,而ApplicationMaster负责单个应用程序的管理。
2016-07-19 10:39:09 411
转载 Zookeeper应用场景
安装和配置详解本文介绍的 Zookeeper 是以 3.2.2 这个稳定版本为基础,最新的版本可以通过官网http://hadoop.apache.org/zookeeper/来获取,Zookeeper 的安装非常简单,下面将从单机模式和集群模式两个方面介绍 Zookeeper 的安装和配置。单机模式单机安装非常简单,只要获取到 Zookeeper 的压缩包并解压到某个
2016-06-02 11:04:01 401
转载 Zookeeper原理
ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,它包含一个简单的原语集,分布式应用程序可以基于它实现同步服务,配置维护和命名服务等。Zookeeper是hadoop的一个子项目,其发展历程无需赘述。在分布式应用中,由于工程师不能很好地使用锁机制,以及基于消息的协调机制不适合在某些应用中使用,因此需要有一种可靠的、可扩展的、分布式的、可配置的协调机制来统一系统的状态。Zookee
2016-06-02 10:41:58 293
转载 SPRING中的线程池ThreadPoolTaskExecutor
一、初始化1,直接调用[java] view plain copy print?ThreadPoolTaskExecutor poolTaskExecutor = new ThreadPoolTaskExecutor(); //线程池所使用的缓冲队列 poolTaskExecutor.setQueueCapacity(20
2016-05-23 16:00:16 359
转载 ActiveMQ实现负载均衡+高可用部署方案
一、架构和技术介绍1、简介ActiveMQ 是Apache出品,最流行的,能力强劲的开源消息总线。完全支持JMS1.1和J2EE 1.4规范的 JMS Provider实现2、activemq的特性1. 多种语言和协议编写客户端。语言: Java, C, C++, C#, Ruby, Perl, Python, PHP。应用协议: OpenWire,Stomp
2016-05-21 12:17:27 399
转载 深入浅出JMS(二)--ActiveMQ简单介绍以及安装
现实的企业中,对于消息通信的应用一直都非常的火热,而且在J2EE的企业应用中扮演着特殊的角色,所以对于它研究是非常有必要的。上篇博文深入浅出JMS(一)–JMS基本概念,我们介绍了消息通信的规范JMS,我们这篇博文介绍一款开源的JMS具体实现——ActiveMQ。ActiveMQ是一个易于使用的消息中间件。消息中间件我们简单的介绍一下消息中间件,对它有一个基本认识就好,消息
2016-05-20 11:53:22 311
转载 深入浅出JMS(一)--JMS基本概念
这篇博文我们主要介绍J2EE中的一个重要规范JMS,因为这个规范在企业中的应用十分的广泛,也比较重要,我们主要介绍JMS的基本概念和它的模式,消息的消费以及JMS编程步骤。基本概念JMS是java的消息服务,JMS的客户端之间可以通过JMS服务进行异步的消息传输。消息模型○ Point-to-Point(P2P)○ Publish/Subscribe(Pu
2016-05-20 11:20:32 277
原创 web.xml中引入SPRING配置文件classpath的含义
java运行时的类路径,比如导入的类,在运行时需要将jar包放到classpath路径上。classpath 在classpath路径上寻找指定文件,如果有多个符合的文件,以第一个为准,也就说,只要找到一个,就不在继续搜索classpath*:会搜索所有满足条件的文件,有多少加载多少若相同ID的BEAN定义在同一个xml文件中,则会出现重复定义BEAN的问题,若定义再两个文件中按照以上
2016-04-12 15:00:28 558
转载 java 日志技术汇总
前言在java 中实现记录日志的方式有很多种,1. 最简单的方式,就是system.print.out ,err 这样直接在控制台打印消息了。2. java.util.logging ; 在JDK 1.4 版本之后,提供了日志的API ,可以往文件中写日志了。3. log4j , 最强大的记录日志的方式。 可以通过配置 .properties 或是 .xml 的文件
2016-03-23 10:58:26 356
转载 dubbo spring2.5.6与spring 3冲突解决
dubbo的详细资料请参考:http://alibaba.github.io/dubbo-doc-static/Administrator+Guide-zh.htm#AdministratorGuide-zh-Zookeeper%E6%B3%A8%E5%86%8C%E4%B8%AD%E5%BF%83%E5%AE%89%E8%A3%85我只是记录下,我所遇
2016-03-07 18:07:27 1125
转载 spring框架的XML扩展特性:让spring加载和解析你自定义的XML文件
Spring框架从2.0版本开始,提供了基于Schema风格的XML扩展机制,允许开发者扩展最基本的spring配置文件(一般是classpath下的spring.xml)。试想一下,如果我们直接在spring.xml中加入一个自定义标签,会发生什么呢?spring框架启动的时候会报错,因为spring根本不认识我们自定义的,这样对spring.xml的校验就会失败,最终结果就是框架不能启动。有什
2016-03-07 17:09:12 369
转载 xml中的命名空间
命名空间的作用,下面的内容是转载的,大家可以看看: 问题的出现:XML的元素名字是不固定的,当两个不同的文档使用同样的名称描述两个不同类型的元素的时候,或者一个同样的标记表示两个不同含义的内容的时候,就会发生命名冲突。问题的解决:命名空间(Namespace),对于每一套特定应用的DTD,给它一个独一无二的标志来代表,如果在XML中使用DTD中定义的元素,需将DTD的标志和
2016-03-07 16:44:27 289
转载 mysql innodb_flush_log_at_trx_commit
本文是关于innodb_flush_log_at_trx_commit的设置的内容,下面是详细介绍。0:日志缓冲每秒一次地被写到日志文件,并且对日志文件做到磁盘操作的刷新,但是在一个事务提交不做任何操作。1:在每个事务提交时,日志缓冲被写到日志文件,对日志文件做到磁盘操作的刷新。2:在每个提交,日志缓冲被写到文件,但不对日志文件做到磁盘操作的刷新。对
2016-03-04 23:04:07 410
转载 mysql undo redo log在事务中起的作用
本文是介绍MySQL数据库InnoDB存储引擎重做日志漫游00 – Undo LogUndo Log 是为了实现事务的原子性,在MySQL数据库InnoDB存储引擎中,还用Undo Log来实现多版本并发控制(简称:MVCC)。- 事务的原子性(Atomicity) 事务中的所有操作,要么全部完成,要么不做任何操作,不能只做部分操作。如果在执行的过程中发生 了错误,
2016-03-04 23:01:16 2366
转载 dbcp连接池笔记
最近在看一些dbcp的相关内容,顺便做一下记录,免得自己给忘记了。1. 引入dbcp (选择1.4)Java代码 com by Deal Top"> alibaba.external jakarta.commons.dbcp 1.4 2. dbcp的基本配置相关配置说明: initialSize :连接池启动
2016-03-01 17:49:11 403
转载 Statement、PreparedStatement和CallableStatement异同
1.Statement、PreparedStatement和CallableStatement都是接口(interface)。2.Statement继承自Wrapper、PreparedStatement继承自Statement、CallableStatement继承自PreparedStatement。3. Statement接口提供了执行语句和获取结果的基本方法; Pr
2016-03-01 16:32:42 389
转载 MySQL查询对NULL的处理
有一个字段blist,如果查询where blist 回答:Null 值不能使用普通的算术运算符来比较,对这些它什么都不返回。只能靠你自己的逻辑流程,在查询语句中再添加where blist在SQL中,NULL值在于任何其他值甚至NULL值比较时总是假的(FALSE)。包含NULL的一个表达式总是产生一个NULL值,除非在包含在表达式中的运算符和函数的文档中指出。在下列例子,所有的列返回
2016-02-24 13:48:12 371
转载 maven常用命令介绍
mvn 3.0.4 创建maven项目命令 mvn archetype:generate -DgroupId=damocles-autocredit -DartifactId=damocles-autocredit -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false -X
2016-02-19 17:23:18 295
转载 java继承中,成员变量的覆盖
其实Java继承中,成员变量(包括静态变量,实例变量,常量)没有覆盖(override)一说,应该叫隐藏(hidden)。override只针对方法来说的。 当成员变量为private时,其他类不能直接访问到,只能通过非private方法 访问,因此直接按照分析方法的思路分析,如该方法是否有覆盖,该方法是否是静态方法。 当成员变量为static时,即静态变量,在类加
2016-02-19 11:20:31 439
转载 spring注解autowired与resource的区别
1、@Autowired与@Resource都可以用来装配bean. 都可以写在字段上,或写在setter方法上。 2、@Autowired默认按类型装配(这个注解是属业spring的),默认情况下必须要求依赖对象必须存在,如果要允许null 值,可以设置它的required属性为false,如:@Autowired(required=false) ,如果我们想使用名称装配可以结合@Quali
2016-02-19 11:03:05 356
转载 osgi实例讲解
OSGI(Open Services Gateway Initiative),或者通俗点说JAVA动态模块系统,定义了一套模块应用开发的框架。OSGI容器实现方案如Knopflerfish, Equinox, and Apache Felix允许你把你的应用分成多个功能模块,这样通过依赖管理这些功能会更加方便。和Servlet和EJB规范类似,OSGI规范包含两大块:一个OSGI容器需要实
2016-02-18 17:53:28 450
转载 Hessian入门(与Spring集成)
Hessian入门(与Spring集成) By:wtang说明 :1. 讲述如何配置Hessian的服务器端(与Spring集成).2.
2016-02-11 14:29:20 330
转载 hessian序列化
1、概念介绍 把Java对象转换为字节序列的过程称为对象的序列化。 把字节序列恢复为Java对象的过程称为对象的反序列化。 对象的序列化主要有两种用途: 1) 数据介质存储 2) 数据网络传输2、对象序列化实例 为了更好的理解hessian的序列化机制,所以把java和hessian的对象序列化实例都一一列出。
2016-02-11 14:24:03 1346
转载 hessian基础
Hessian 是一个序列化协议, 他的优点在于比 Java 原生的对象序列化/反序列化速度更快, 序列化出来以后的数据更小.序列化协议跟应用层协议无关, 可以将 Hessian 序列化以后的数据放在 HTTP Body 里, 也可以放在 DUBBO 里, 或者直接用 Socket 传输下面是一个使用 Jetty 跟 Hessian 实现的 Hessian web service
2016-02-11 14:22:17 406
转载 java servlet listener
它是基于观察者模式设计的,Listener 的设计对开发 Servlet 应用程序提供了一种快捷的手段,能够方便的从另一个纵向维度控制程序和数据。目前 Servlet 中提供了 5 种两类事件的观察者接口,它们分别是:4 个 EventListeners 类型的,ServletContextAttributeListener、ServletRequestAttributeListener、Serv
2016-02-11 14:06:56 292
转载 java servlet filter
做web开发的人对于Filter应该不会陌生,一直在很简单的使用,但是一直没有系统的总结一下,随着年纪的慢慢长大,喜欢总结一些事情,下面说说我对Filter的理解,官方给出的Filter的定义是在请求一个资源或者从一个资源返回信息的时候执行过滤操作的插件。我们使用过滤起最多的场景估计就是在请求和返回时候的字符集转换,或者权限控制,比如一个用户没有登录不能请求某些资源。下面看一下Filter的集中类
2016-02-11 13:51:55 312
转载 web.xml中在Servlet中获取context-param和init-param内的参数
web.xml里面可以定义两种参数:1.application范围内的参数,存放在servletcontext中,在web.xml中配置如下: [html] view plaincopyprint?context-param> param-name>context/paramparam-name>
2016-02-11 13:47:16 367
转载 java servlet基础
编写你的第一个Servlet我们的第一个Servlet是一个只拥有少量代码的简单Servlet,目的是让你只需关注它的行为。1234567891011121314151617181920212
2016-02-11 13:46:26 634
转载 thrift几种server模式的比较
五、 Thrift服务器端几种工作模式分析与总结Thrift为服务器端提供了多种工作模式,本文中将涉及以下5中工作模式:TSimpleServer、TNonblockingServer、THsHaServer、TThreadPoolServer、TThreadedSelectorServer,这5中工作模式的详细工作原理如下:1. TSimpleServer模式
2016-02-08 22:17:24 1209
原创 mysql next-key lock
关于mysql next-key lock,即record lock + gap lock,为半开半闭区间的lock,若当前读+之后的insert语句,会出现不同的死锁情况,条件触发情况如下1. 首先其在事务隔离级别为repeatable-read下才会生效2. 若查询条件落在唯一索引上(包括主键)例如 select for update where/delete where/update
2016-02-05 12:23:50 1112
转载 mysql加锁处理分析
1 背景 11.1 MVCC:Snapshot Read vs Current Read 21.2 Cluster Index:聚簇索引 31.3 2PL:Two-Phase Locking 31.4 Isolation Level 42 一条简单SQL的加锁实现分析 52.1 组合一:id主键+
2016-02-04 13:49:34 776
转载 mysql事务隔离级别
SQL标准定义了4类隔离级别,包括了一些具体规则,用来限定事务内外的哪些改变是可见的,哪些是不可见的。低级别的隔离级一般支持更高的并发处理,并拥有更低的系统开销。Read Uncommitted(读取未提交内容) 在该隔离级别,所有事务都可以看到其他未提交事务的执行结果。本隔离级别很少用于实际应用,因为它的性能也不比其他级别好多少。读取未提交的数据,也被称之为脏读(Dirty
2016-02-04 10:38:27 407
转载 java annotation继承总结
作者:赵磊博客:http://elf8848.iteye.com 不了解注解基础知识的请先看《JDK 5 Annotation\注解\注释\自定义注解》 子类可以继承到父类上的注解吗?-----------------------------------------------------------------我们知道在编写自定义注解时,可
2016-01-31 22:14:45 4327
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人