11 2016 档案

摘要:首先要分辨BeanFactory 与 FactoryBean的区别, 两个名字很像,所以容易搞混BeanFactory: 以Factory结尾,表示它是一个工厂类,是用于管理Bean的一个工厂FactoryBean:以Bean结尾,表示它是一个Bean,不同于普通Bean的是:它是实现了Fa... 阅读全文
posted @ 2016-11-25 16:48 javahongxi 阅读(272) 评论(0) 推荐(0)
摘要:支付宝系统架构概况典型处理默认资金处理平台财务会计支付清算核算中心交易柔性事务支付宝的开源分布式消息中间件–Metamorphosis(MetaQ)Metamorphosis (MetaQ) 是一个高性能、高可用、可扩展的分布式消息中间件,类似于LinkedIn的Kafka,具有消息存储顺序... 阅读全文
posted @ 2016-11-19 00:36 javahongxi 阅读(220) 评论(0) 推荐(0)
摘要:在开发高并发系统时有三把利器用来保护系统:缓存、降级和限流。缓存的目的是提升系统访问速度和增大系统能处理的容量,可谓是抗高并发流量的银弹;而降级是当服务出问题或者影响到核心流程的性能则需要暂时屏蔽掉,待高峰或者问题解决后再打开;而有些场景并不能用缓存和降级来解决,比如稀缺资源(秒杀、抢购)、... 阅读全文
posted @ 2016-11-19 00:28 javahongxi 阅读(140) 评论(0) 推荐(0)
摘要:声明:本文转自http://blog.csdn.net/iter_zc/article/details/41825395,转载务必声明。 很多人都分不清Major GC, Full GC的概念,事实上我查了下资料,也没有查到非常精确的Major GC和Full GC的概念定义。分不清这两个概... 阅读全文
posted @ 2016-11-19 00:14 javahongxi 阅读(384) 评论(0) 推荐(0)
摘要:如果你已经进行完了前面的步骤了,那么你应该知道这是最后一步了。在这一步里面,你需要测试应用的吞吐量和为了更高的吞吐量而优化JVM。 这一步的输入就是应用的吞吐量性能要求。应用的吞吐量是在应用层面衡量而不是在JVM层面衡量,因此,应用必须要报告出一些吞吐量指标或者应用的某些操作的吞吐量性能... 阅读全文
posted @ 2016-11-19 00:08 javahongxi 阅读(456) 评论(0) 推荐(0)
摘要:本节的目标是做一些优化以满足对应用对延迟的需求。这次需要几个步骤,包括完善Java堆大小的配置,评估垃圾回收占用的时间和频率,也许还要尝试切换到不同的垃圾回收器,以及由于使用了不同的垃圾回收器,需要重新优化Java堆空间大小。 这一步有如下可能的结果: 1、应用的延迟需求被满... 阅读全文
posted @ 2016-11-19 00:02 javahongxi 阅读(675) 评论(0) 推荐(0)
摘要:到目前为止,还没有做明确的优化工作。只是做了初始化选择工作,比如说:JVM部署模型、JVM运行环境、收集哪些垃圾回收器的信息以及需要遵守垃圾回收原则。这一步将介绍如何评估应用需要的内存大小以及Java堆大小。首先需要判断出应用存活的数据的大小,存活数据的大小是决定配置应用需要的Java堆大小... 阅读全文
posted @ 2016-11-18 23:43 javahongxi 阅读(399) 评论(0) 推荐(0)
摘要:本节主要描述关于垃圾回收器性能的三个指标,三个关于垃圾回收器优化的基本原则,以及优化HotSpot VM的垃圾回收器的信息收集,在这些指标中权衡以及信息的收集是非常重要的。性能指标 吞吐量:衡量垃圾回收器运行在性能峰值的时候不需要关心垃圾回收器暂停的时间或者需要占用内存的能力。 延迟... 阅读全文
posted @ 2016-11-18 23:41 javahongxi 阅读(269) 评论(0) 推荐(0)
摘要:选择JVM部署模型 JVM部署模型的选择总体来说就是决定应用是部署在单个JVM实例还是多个JVM实例上(这里简单举例说明一下JVM实例,比如:我们常用eclipse开发,启动一个eclipse就是启动了一个JVM实例,然后在JVM中运行一个main程序,又会启动一个JVM实例,两个JVM... 阅读全文
posted @ 2016-11-18 23:26 javahongxi 阅读(247) 评论(0) 推荐(0)
摘要:现代JVM是一个具有灵活适应各种应用能力的软件,尽管很多应用能够在JVM的默认配置下运行良好,但是有些应用还是需要优化JVM配置以达到其性能要求。由于各种各样的应用能够运行在现在JVM上面,所以大量的JVM选项可以配置来提升应用的性能。不幸的是,对一个应用而言优化得很好的JVM配置,对应另外... 阅读全文
posted @ 2016-11-18 23:11 javahongxi 阅读(302) 评论(1) 推荐(1)
摘要:前言 作为在线系统负责人或者是一个技术专家,你可能刚刚接手一个项目就需要处理紧急故障,或者被要求帮忙处理一些紧急的故障,这个时候的情景是: (1)你可能对这个业务仅仅是听说过,而不怎么真正了解; (2)你可能没有这个故障的详细信息,比如可能仅仅是有使用方反馈服务中断了10分钟; (3... 阅读全文
posted @ 2016-11-18 22:35 javahongxi 阅读(368) 评论(0) 推荐(0)
摘要:声明:本文转载自http://shift-alt-ctrl.iteye.com/blog/1847320,转载请务必声明。 Watcher机制:目的是为ZK客户端操作提供一种类似于异步获得数据的操作. 1)在创建Zookeeper实例时,允许接收一个watcher参数,此参数将会赋值给wat... 阅读全文
posted @ 2016-11-17 08:41 javahongxi 阅读(228) 评论(0) 推荐(0)
摘要:调研比较了三个Redis集群的解决方案: 系统贡献者是否官方Redis实现编程语言TwemproxyTwitter是CRedis ClusterRedis官方是CCodis豌豆荚否Go+C1.基本架构 1.1 Twemproxy 增加Proxy层,由Proxy实现一致性哈希算法(支持:KE... 阅读全文
posted @ 2016-11-14 07:41 javahongxi 阅读(185) 评论(0) 推荐(0)
摘要:一:关于redis cluster1:redis cluster的现状reids-cluster计划在redis3.0中推出,可以看作者antirez的声明:http://antirez.com/news/49 (ps:跳票了好久,今年貌似加快速度了),目前的最新版本见:https://ra... 阅读全文
posted @ 2016-11-14 07:20 javahongxi 阅读(191) 评论(0) 推荐(0)
摘要:先看几种数据结构通过分析底层的数据结构,学习如何根据场景选型和设计 1,简单动态字符串 redis使用的字符串SDS有别于C语言中的字符串 a, 结构 free字段为已分配但未使用的空间 len为已使用的空间(不计入'\0') buf为char数组 b, ... 阅读全文
posted @ 2016-11-14 07:05 javahongxi 阅读(538) 评论(0) 推荐(0)
摘要:关键字: activemq2.6 Features ActiveMQ包含了很多功能强大的特性,下面简要介绍其中的几个。2.6.1 Exclusive Consumer Queue中的消息是按照顺序被分发到consumers的。然而,当你有多个consumers同时从相同的queu... 阅读全文
posted @ 2016-11-14 06:51 javahongxi 阅读(148) 评论(0) 推荐(0)
摘要:关键字: activemq2.6.7 Wildcards Wildcards用来支持联合的名字分层体系(federated name hierarchies)。它不是JMS规范的一部分,而是ActiveMQ的扩展。ActiveMQ支持以下三种wildcards:"." 用于作为路径上名... 阅读全文
posted @ 2016-11-14 06:51 javahongxi 阅读(156) 评论(0) 推荐(0)
摘要:关键字: activemq2.5 Clustering ActiveMQ从多种不同的方面提供了集群的支持。2.5.1 Queue consumer clusters ActiveMQ支持订阅同一个queue的consumers上的集群。如果一个consumer失效,那么所有未被确... 阅读全文
posted @ 2016-11-13 21:52 javahongxi 阅读(162) 评论(0) 推荐(0)
摘要:关键字: activemq2.3 Persistence2.3.1 AMQ Message Store AMQ Message Store是ActiveMQ5.0缺省的持久化存储。Message commands被保存到transactional journal(由rolling da... 阅读全文
posted @ 2016-11-13 21:50 javahongxi 阅读(157) 评论(0) 推荐(0)
摘要:关键字: activemq2.4 Security ActiveMQ支持可插拔的安全机制,用以在不同的provider之间切换。2.4.1 Simple Authentication Plugin Simple Authentication Plugin适用于简单的认证需求,或者... 阅读全文
posted @ 2016-11-13 21:49 javahongxi 阅读(161) 评论(0) 推荐(0)
摘要:关键字: activemq2.2 Transport ActiveMQ目前支持的transport有:VM Transport、TCP Transport、SSL Transport、Peer Transport、UDP Transport、Multicast Transport、H... 阅读全文
posted @ 2016-11-13 21:43 javahongxi 阅读(153) 评论(0) 推荐(0)
摘要:关键字: activemq1 JMS 在介绍ActiveMQ之前,首先简要介绍一下JMS规范。1.1 JMS的基本构件1.1.1 连接工厂 连接工厂是客户用来创建连接的对象,例如ActiveMQ提供的ActiveMQConnectionFactory。1.1.2 连接 JM... 阅读全文
posted @ 2016-11-13 21:38 javahongxi 阅读(168) 评论(0) 推荐(0)
摘要:架构以及我理解中架构的本质在开始谈我对架构本质的理解之前,先谈谈对今天技术沙龙主题的个人见解,千万级规模的网站感觉数量级是非常大的,对这个数量级我们战略上 要重 视 它 , 战术上又 要 藐 视 它。先举个例子感受一下千万级到底是什么数量级?现在很流行的优步(Uber),从媒体公布的信息看,... 阅读全文
posted @ 2016-11-09 23:34 javahongxi 阅读(2722) 评论(0) 推荐(0)
摘要:双11大战开始了,这几天公司系统压测,CPU各种报警,于是找了篇关于CPU高问题排查的文章。 一个应用占用CPU很高,除了确实是计算密集型应用之外,通常原因都是出现了死循环。(友情提示:本博文章欢迎转载,但请注明出处:hankchen,http://www.blogjava.net/hank... 阅读全文
posted @ 2016-11-04 11:48 javahongxi 阅读(474) 评论(0) 推荐(0)
摘要:用Worker来保证数据的一致性,再加上MQ来便于水平扩展,也提升了Worker的效率。这就是传说中的Worker+MQ,又叫做可靠消息方式。另外,将任务的查询和执行分工,形成父子任务,达到真正的分布式任务,也能提升Worker效率。 Java代码 package com.itlo... 阅读全文
posted @ 2016-11-01 21:06 javahongxi 阅读(409) 评论(0) 推荐(0)
摘要:HashMap中有一些我们容易忽视的点1. 关于key的hash和equalspublic V put(K key, V value) { if (table == EMPTY_TABLE) { inflateTable(threshold); ... 阅读全文
posted @ 2016-11-01 07:43 javahongxi 阅读(179) 评论(0) 推荐(0)