- 博客(308)
- 资源 (2)
- 收藏
- 关注
原创 tsync堆外内存溢出排查经过
一、发生得问题tsync服务总是莫名得宕机,java进程被莫名其妙的消失了。二、查找问题当时看了系统日志:sudo -u admin dmesg|grep -A20 killscreenshot发现是oom了,内存不足被系统kill掉了。当时怀疑有可能是堆内内存溢出,查看监控,系统物理内存:发现物理内存确实使用了100%。继续看java堆内存:发现java堆内内存很正常o...
2018-10-30 18:21:52
2169
转载 aserver配置解析之单元化规则
最近有空把aserver的线上配置看了一遍,大体上了解了接入层对整个请求的流转和控制。aserver是tengine的一个分支,其中包含了很多的私有指令,不过大部分根据指令名称也能猜出个大概。本篇主要是讲解一下单元化规则的相关内容。我理解的单元化规则问题,就是当用户请求过来的时候,aserver如何能转发到对应单元的后端upstream机器。那么就来看一下如何根据用户区分单元。在cell_...
2018-10-30 18:15:50
1971
转载 MTOP2015双11整体网络拓扑
MTOP2015双11整体网络拓扑2015年双11, mtop迁移到accs,进行了去中心化改造,并承接了部分pc的活动业务,形成了下面的结构图。 一、AServer/WJASAServer/WJAS都是nginx的定制版本.WJAS是2014年的网关技术,实现了单向的spdy和slight-ssl v1,支持标准https, 三地四单元都有布署,接入域名为api.m.taobao....
2018-10-30 18:13:56
1602
原创 怎么能快速发现java系统的问题,并快速定位解决问题
目录目录怎么能快速发现java系统的问题,并快速定位解决问题前言:解决思路针对系统异常信息的发现怎么收集error级别的日志收集用什么方式实现针对收集到信息后怎么定位解决问题怎么完美的解决?用什么技术系统介绍系统架构图技术介绍javaagentjavassistlog日志的类字节转换:端控制代码诊断部分的类转换:类隔离代码诊断...
2018-08-22 13:18:54
4718
原创 聊聊高并发系统之降级特技(转)
在开发高并发系统时有三把利器用来保护系统:缓存、降级和限流。之前已经有一些文章介绍过缓存和限流了。本文将详细聊聊降级。当访问量剧增、服务出现问题(如响应时间慢或不响应)或非核心服务影响到核心流程的性能时,仍然需要保证服务还是可用的,即使是有损服务。系统可以根据一些关键数据进行自动降级,也可以配置开关实现人工降级。本文将介绍一些笔者在实际工作中遇到的或见到过的一些降级方案供大家参考。 降级的最终目的...
2017-01-25 11:25:33
189
原创 聊聊高并发系统之限流特技(二)(转)
上一篇《聊聊高并发系统限流特技-1》讲了限流算法、应用级限流、分布式限流;本篇将介绍接入层限流实现。 接入层限流 接入层通常指请求流量的入口,该层的主要目的有:负载均衡、非法请求过滤、请求聚合、缓存、降级、限流、 A/B 测试、服务质量监控等等,可以参考笔者写的《 使用 Nginx+Lua(OpenResty) 开发高性能 Web 应用 》。 ...
2017-01-25 10:50:03
342
原创 2016年09月22日
一、编程规约命名规约:【强制】类名使用UpperCamelCase。 不能以下划线或美元符号打头,必须遵从驼峰形式,但以下情形例外:(领域模型的相关命名)DO / DTO / VO / DAO等。正例:MarcoPolo / UserDO / HtmlDTO / XmlService / TcpUdpDeal / TaPromotion反例:macroPolo / UserDo / HTMLDto...
2016-09-22 10:09:28
444
原创 分表策略
以下的是分表的策略: 对于con_mms_file_info,con_mms_info和con_video_file_code_info这三张表以mid路由,这样同一个mid的数据都在一张表里好管理维护,而且按照sql的执行率来看以这三张表以mid操作的频率是比较高的,其他查询需要在程序端进行合并。首先想到的是以下两种方式:散列方式mid:优点:分散热点增删改查缺点:后...
2015-11-13 19:59:18
306
原创 go 编译
750 2015-06-12_12:56:38 env GOPATH=/letv/gy/go1 go build 753 2015-06-12_12:57:20 ./goPush
2015-07-21 18:02:43
145
原创 高效运维最佳实践(03):Redis集群技术及Codis实践 (转)
专栏介绍“高效运维最佳实践”是InfoQ在2015年推出的精品专栏,由触控科技运维总监萧田国撰写,InfoQ总编辑崔康策划。前言诚如开篇文章所言,高效运维包括管理的专业化和技术的专业化。前两篇我们主要在说些管理相关的内容,本篇说一下技术专业化。希望读者朋友们能适应这个转换,谢谢。互联网早在几年前就已进入Web 2.0时代,对后台支撑能力的要求,提高了几十倍甚至几百倍。在这个演化过程...
2015-06-10 18:01:08
533
原创 python 模块安装卸载
python setup.py install --record files.txt 记录安装后文件的路径cat files.txt | xargs rm -rf 删除这些文件
2015-03-12 11:44:09
440
原创 解决lua解压缩memcach数据的问题
memcach 客户端压缩数据会存flag标志到服务端,0,为不缩,1为序列化对象数据,2为压缩。 nginx+lua 用lua_zlib包 来解决解压缩问题,判断flag是2的时候进行解压缩,其他不进行解压缩,存储为json数据...
2015-02-11 11:56:05
230
原创 数据库分库分表(sharding)系列(五) 一种支持自由规划无须数据迁移和修改路由代码的Sharding扩容方案(转)...
作为一种数据存储层面上的水平伸缩解决方案,数据库Sharding技术由来已久,很多海量数据系统在其发展演进的历程中都曾经历过分库分表的Sharding改造阶段。简单地说,Sharding就是将原来单一数据库按照一定的规则进行切分,把数据分散到多台物理机(我们称之为Shard)上存储,从而突破单机限制,使系统能以Scale-Out的方式应对不断上涨的海量数据,但是这种切分对上层应用来说是透明的,多个...
2015-01-29 09:07:44
193
原创 jmap命令详解
1、命令基本概述 Jmap是一个可以输出所有内存中对象的工具,甚至可以将VM 中的heap,以二进制输出成文本。打印出某个java进程(使用pid)内存内的,所有‘对象’的情况(如:产生那些对象,及其数量)。 使用方法 jmap -histo pid。如果使用SHELL ,可采用jmap -histo pid>a.log日志将其保存到文件中,在一段时间后,使用文本对比工具,可以对比出GC...
2015-01-16 15:15:38
363
原创 linux常用命令
打印匹配行的前后几行 cat mms-remote-2015-01-16.log|grep -20 timeout linux系统中,利用grep打印匹配的上下几行 如果在只是想匹配模式的上下几行,grep可以实现。 $grep -5 'parttern' inputfile //打印匹配行的前后5行 $grep -C 5 'parttern' inputfile //打印匹配行的前后...
2015-01-16 10:45:02
86
原创 根据域名查看 映射ip
在联通服务器 nslookup 域名 查看的是联通的vip 在电信服务器 nslookup 域名 查看的是电信的VIP 都不能显示
2014-12-19 10:27:46
2492
原创 linux用户维护
# useradd –d /usr/sam -m sam 此命令创建了一个用户sam,其中-d和-m选项用来为登录名sam产生一个主目录/usr/sam(/usr为默认的用户主目录所在的父目录)。 假设当前用户是sam,则下面的命令修改该用户自己的口令: # passwd Old password:****** New password:******* Re-enter new pas...
2014-11-20 14:40:00
131
原创 dubbo 整理笔记
dubbo用的是spring的扩展schema,Spring启动的时候,会到spring.handlers文件中查找相应的namespacehandler, 并将其存入到mapping中。 然后执行DubboBeanDefinitionParser的parse方法,进行对象bean的生成,当对这个ServiceBean.class处理生成bean时会执行他的父类的静态方法就是扩展点的执行,然后执...
2014-11-14 11:07:05
121
原创 svn刷新eclipse不自动编译的问题
每次svn更新都要手动编译 靠~ 解决:修改工程下的.classpath 的output ,这个要和项目中的一致,可以在eclipse右击项目java build path 中
2014-08-27 17:49:24
296
原创 nginx日志分析
$body_bytes_sent 发送给客户端的字节数,不包括响应头的大小; 该变量与Apache模块mod_log_config里的“%B”参数兼容。 $bytes_sent 发送给客户端的总字节数。 $request_length 请求的长度(包括请求行,请求头和请求正文)。 $request_time 请求处理时间,单位为秒,精度毫秒; 从读入客户端的第一个字节开始,直到把最后...
2014-08-27 13:58:42
192
原创 配置resin4.0监控状态
在cluster-default.xml里加入 http://10.125.89.199:8080/resin-status <host-default> ? <access-log path="log/access.log" ???????????? format='%h %l %u %t "%r" %s %b "%{Referer}i" "%{User-Age...
2014-08-06 16:28:57
499
原创 nginx优化之request_time 和upstream_response_time差别
笔者在根据nginx的accesslog中$request_time进行程序优化时,发现有个接口,直接返回数据,平均的$request_time也比较大。原来$request_time包含了用户数据接收时间,而真正程序的响应时间应该用$upstream_response_time。 下面介绍下2者的差别: 1、request_time 官网描述:request processing...
2014-07-16 10:19:38
380
原创 nginx proxy_pass location 为正则表达式的问题 转
在nginx中配置proxy_pass时,如果是按照^~匹配路径时 要注意proxy_pass后的url最后的/ 当加上了/,相当于是绝对根路径,则nginx不会把location中匹配的路径部分代理走 如果没有/,则会把匹配的路径部分也给代理走location ^~ /static_js/{proxy_cache js_cache;proxy_set_header Host js.test...
2014-05-30 15:57:24
2879
原创 为什么在Spring的配置里,最好不要配置xsd文件的版本号(转)schem
为什么dubbo启动没有问题? 这篇blog源于一个疑问: 我们公司使了阿里的dubbo,但是阿里的开源网站http://code.alibabatech.com,挂掉有好几个月了,为什么我们的应用启动没有问题? 我们的应用的Spring配置文件里有类似的配置: [html] view plaincopy <?xml version="1.0" encoding="UTF-8...
2014-05-15 15:41:20
146
原创 Flume日志收集(转)
一、Flume介绍 Flume是一个分布式、可靠、和高可用的海量日志聚合的系统,支持在系统中定制各类数据发送方,用于收集数据;同时,Flume提供对数据进行简单处理,并写到各种数据接受方(可定制)的能力。 设计目标: (1) 可靠性 当节点出现故障时,日志能够被传送到其他节点上而不会丢失。Flume提供了三种级别的可靠性保障,从强到弱依次分别为:end-to-end(收到数据agent首先...
2014-04-29 11:13:39
83
原创 keepalived基本应用解析(转)
概念简单认知: Keepalived:它的诞生最初是为ipvs(一些服务,内核中的一些规则)提供高可用性的,最初最主要目的是能够自主调用ipvsadm来生成规则,并且能够自动实现将用户访问的地址转移到其他节点上进行实现的。 Keepalived:核心包含两个ckeckers和VRRP协议。 ckeckers:检查服务检查reserved的健康状况的,基于脚本也可检查服务本身的健康状况。这里是...
2014-04-25 18:33:05
232
原创 hibernate关于事务 session的关闭问题
[java] view plaincopyStudent student = new Student(); student.setName("Jan"); student.setAge("22"); student.setAddress("广东省肇庆市"); Session session =HibernateUtil.get...
2014-04-11 13:46:23
1099
原创 nginx修改upstream不重启的方法(ngx_http_dyups_module模块)
nginx很强大,第三方模块也不少,淘宝在nginx上很活跃,特别是章亦春,他参与的模块至少10+, 好了今天主角不是他,是一款动态配置upstream的模块,这个模块使用rest接口. 简单,方便,并且可以不需要重启nginx。但是有个问题比较明显,nginx重启之后,什么都没了. 1. 安装 首先安装nginx动态upstream配置模块,如果你已经安装了nginx,那么轻参考ttls...
2014-03-20 20:49:53
981
原创 LinkedHashMap和HashMap的比较使用(转)
由于现在项目中用到了LinkedHashMap,并不是太熟悉就到网上搜了一下。 import java.util.HashMap; import java.util.Iterator; import java.util.LinkedHashMap; import java.util.Map; public class TestLinkedHashMap { public static ...
2014-03-20 15:08:37
89
原创 终于找到全annotation配置springMVC的方法了(事务不失效)
icanfly 写道 如果带上事务,那么用annotation方式的事务注解和bean配置,事务会失效,要将service bean配置到xml文件中才行 这个问题是由于问答上有解决方案 引用 这个问题很经典了 在主容器中(applicationContext.xml),将Controller的注解排除掉 <context:component-scan ba...
2014-03-20 13:39:28
241
原创 struts2传参数 要区别不是spring的
struts2中action接收参数的方法 Struts2中Action接收参数的方法主要有以下三种: Struts2中Action接收参数的方法主要有以下三种: 1.使用Action的属性接收参数: ??? a.定义:在Action类中定义属性,创建get和set方法; ??? b.接收:通过属性接收参数,如:userName; ??? c.发送:使用属性名传递参数,如...
2014-02-13 20:25:39
110
原创 编译hadoop-2.2.0源码,RHEL6.3x64
编译环境: OS:?? RHEL6.3.x86_64 Kernel:2.6.32-358.el6.x86_64 JDK: 1.6.0_35? x86_64 编译前准备: 1.安装依赖的rpm包 ?? yum -y install? lzo-devel? zlib-devel? gcc? autoconf? automake? libtool openssl-devel ncurses-...
2014-01-23 15:31:03
108
原创 Hadoop2.2.0 64位源码编译手记 (转)
零·引子 环境配置是个挺烦人的活,麻烦不说还没有成就感。特别是那种安装麻烦的软件,一个小小的依赖问题就可能把你卡出翔。 十月份的时候Hadoop2.2 Release了,新版本基于Yarn框架。在0.2x时代就听过这个名头,貌似牛B闪闪的样子。 于是花了一天多的时间进行安装,结果在启动时就不详地报一个警告: WARN org.apache.hadoop.util.NativeCodeLoade...
2014-01-22 17:32:34
94
原创 自己架设hadoop集群的配置
自己的配置: [@tc_12_113 hadoop]# cat core-site.xml <?xml version="1.0" encoding="UTF-8"?> <?xml-stylesheet type="text/xsl" href="configuration.xsl"?> <!-- ? Licensed unde
2014-01-21 16:29:20
88
原创 hadoop问题
本机要ssh互通,对其他slave也一样互通 host要注意设置 尤其包链接错误的时候 注意是否是slave的port 然后设置master的host
2014-01-20 18:43:35
72
原创 Executing an Oozie workflow with Pig, Hive & Sqoop actions
In the earlier blog entries, we have looked into how install Oozie here and how to do the Click Stream analysis using Hive and Pig here. This blog is about executing a simple work flow which imports t...
2014-01-16 21:07:24
105
原创 Hadoop 使用Combiner提高Map/Reduce程序效率
众所周知,Hadoop框架使用Mapper将数据处理成一个<key,value>键值对,再网络节点间对其进行整理(shuffle),然后使用Reducer处理数据并进行最终输出。 ??? 在上述过程中,我们看到至少两个性能瓶颈: 如果我们有10亿个数据,Mapper会生成10亿个键值对在网络间进行传输,但如果我们只是对数据求最大值,那么很明显的Mapper只需要输出它所知道的...
2014-01-16 20:51:17
77
原创 hadoop学习笔记
临摹了一个代码: import java.io.IOException;? import java.util.Iterator;? import java.util.StringTokenizer;? ? import org.apache.hadoop.fs.Path;? import org.apache.hadoop.io.IntWritable;? import org.apache.h...
2014-01-15 18:27:42
221
原创 Linux上iptables防火墙的基本应用教程
1、安装iptables防火墙 如果没有安装iptables需要先安装,CentOS执行: yum install iptables Debian/Ubuntu执行: apt-get install iptables 2、清除已有iptables规则 iptables -F iptables -X iptables -Z 3、开放指定的端口 #允许本地回环接口(即运行本机...
2013-12-20 13:29:52
103
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人