- 浏览: 151165 次
最新评论
文章列表
百度马如悦:不写代码的架构师不是好架构师
- 博客分类:
- 技术杂谈
摘要:马如悦,百度大数据部主任架构师。大会召开前夕,笔者有幸采访到了马如悦,请他分享Palo在百度内部的应用实践。在他看来,不写代码的架构师都不是好的架构师,没有主导实际项目的架构师也不是好的架构师。
马 ...
jedis使用线程池封装redis基本操作
- 博客分类:
- redis
redis客户端 jedis 常用的 操作
key value
hash
list
set
zset
使用大数据量的collection
- 博客分类:
- mongodb
使用大数据量的collection.
在MongoDB存储信息用多个collection来替代一个collection。这样做每个重复的数据不必存在每个对象中,
并且也不必再这个键上创建索引了。更重要的是性能,可以通过指定组来分布数据。
举个例子,假使我们要存储日志。并且有N种类型,如dev,debug,ops等。我们用一个collection来存储。
{log : 'dev', ts : ..., info : ...}
我们现在把这个collection按照类型进行拆分。 'logs.dev' collection, a 'logs.debu ...
Maven 打包时把依赖打包到指定目录方法
- 博客分类:
- Java
最近系统上线频繁,每次系统上线,当用maven打成war的时候,由于war包中都包括了lib,所以每次war挺大,往生产上上传的时候挺慢,后来把这些lib包都移到tomcat的上层,新建了个tomcat/locallib,把所有webapp/lib下得war都移动这个目录。以后只要打war的时候不包括lib包即可,这样war就大大减小。要做到用maven中打war包得时候不包括lib包可以进行如下配置:<plugin> <groupId>org.apache.maven.plugins</groupId>
IDE环境中,可以直接用exec-maven-plugin插件来运行java application,类似下面这样:
1 <plugin>
2 <groupId>org.codehaus.mojo</groupId>
3
结构和历史
隔离级别有四种:READ UNCOMMITTED(未提交读),同事务中某个语句的修改,即使没有提交,对其他事务也是可见的。这个也叫脏读。READ COMMITTED(提交读),另一个事务只能读到该事务已经提交的修改,是大多数据库默认的隔离级别。但是有下列问题,一个事务中两次读取同一个数据,由于这个数据可能被另一个事务提交了两次,所以会出现两次不同的结果,所以这个级别又叫做不可重复读。这里的不一样的数据包括虚读(两次结果不同)和幻读(出现新的或者缺少了某数据)。REPEATABLE READ(可重复读),这个级别不允许脏读和不可重复读,比如MYSQL中通过MVCC来 ...
Nginx中将正式环境流量copy一份到测试环境
- 博客分类:
- 流量复制
当测试环境需要一些数据时,除了仿造一些数据外,更方便和更好的做法是,将来自正式环境的用户请求copy一份到测试环境。
依赖模块:lua-nginx-module,ngx_devel_kit, headers-more-nginx-module
以上模块在github上均可以找到,作者是国内nginx的著名开发者agentzh。
使用模块需要重新编译nginx,加上编译选项:–add-module=/path/to/your/module 。
下面是nginx配置:
复制代码代码如下:
使用tcpcopy导入线上流量进行功能和压力测试
- 博客分类:
- 流量复制
假设我们要上线一个两年内不会宕机的先进架构。在上线前,免不了单元测试,功能测试,还有使用ab,webbench等等进行压力测试。
但这些步骤非生产环境下正式用户的行为。或许你会想到灰度上线,但毕竟可能会影响到部分用 ...
tomcat默认使用java.util.logging记录日志,默认只记录tomcat的日志,不记录应用的日志。tomcat支持采用log4j进行日志记录,配置方法如下:
1.更新最新的tomcat_juli.jar包到./bin/目录下;
2.拷贝log4j.jar,lo4j.properties到./lib目录下;
3.删除./conf/logging.properties
4.重启
log4j配置样本
Xhtml代码
log4j.rootLogger=INFO,CATALINA
log4j.logger.com.danga.MemCached.M ...
Java并发编程:阻塞队列
- 博客分类:
- Java
在前面几篇文章中,我们讨论了同步容器(Hashtable、Vector),也讨论了并发容器(ConcurrentHashMap、CopyOnWriteArrayList),这些工具都为我们编写多线程程序提供了很大的方便。今天我们来讨论另外一类容器:阻塞队列。
在前面我们接触的队列都是非阻塞队列,比如PriorityQueue、LinkedList(LinkedList是双向链表,它实现了Dequeue接口)。
使用非阻塞队列的时候有一个很大问题就是:它不会对当前线程产生阻塞,那么在面对类似消费者-生产者的模型时,就必须额外地实现同步策略以及线程间唤醒策略,这个实现起来就非常麻烦。但 ...
调试移动设备上的问题,看不到发送的请求和得到的响应是比较难过的,fiddler可以实现样的功能。
原理: 在PC上启动fiddler,将手持设备的网络代理改成fiddler。这样所有的请求和响应都经过fiddler,自然也就能捕获到了。
1、启动fiddler查看其代理监听端口,如下图
下图可以看到fiddler端口是8888
Wireshark图解教程(简介、抓包、过滤器)
- 博客分类:
- 监控系统
Wireshark图解教程(简介、抓包、过滤器)
(2009-06-05 16:06:55)
转载▼
标签:
wireshark是非常流行的网络封包分析软件,功能十分强大。可以截取各种网络封包,显示网络封包的详细信息。使用wireshark的人必须了解网络协议,否则就看不懂wireshark了。为了安全考虑,wireshark只能查看封包,而不能修改封包的 ...
http抓包工具推荐WSockExpert/httpwatch/HttpAnalyzer/DebugBar
平常有事没事可以把玩下这几个抓包软件,蛮有意思!
抓包分析源地址和目标url一般有下面几个软件:第一个是国产的WSockExpert。以前大家上网漏洞的时候很多时候都用到他。易上网,功能一般。但自身dll文件容易被认为木马删除。适用于特定程序提交的分析。 第二个是HttpWatch。一种内嵌于IE内的抓包程序。可以清楚看到post头和返回值。比较合适WEB整站数据的分析。 第三个是HttpAnalyzerStdV2,也是我现在最喜欢的一个抓包工具。分两种形式,有一种模式类似于Ht ...
mysql 数据库优化
- 博客分类:
- 数据库
1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。
2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,
Sql 代码 : select id from t where num is null;
可以在 num 上设置默认值 0,确保表中 num 列没有 null 值,然后这样查询:
Sql 代码 : select id from t where num=0;
3.应尽量避免在 where 子句中使用!=或<>操作符,否则将引擎放弃使用索引而进行全表扫描。
...