08 2012 档案
摘要:在eBay,可伸缩性是我们每天奋力抵抗的一大架构压力。我们所做的每一项架构及设计决策,身前身后都能看到它的踪影。当我们面对的是全世界数以亿计的用户,每天的页面浏览量超过10亿,系统中的数据量要用皮字节(1015或250)来计算——可伸缩性是生死交关的问题。在一个可伸缩的架构中,资源的消耗应该随负载线性(或更佳)上升,负载可由用户流量、数据量等测量。如果说性能衡量的是每一工作单元所需的资源消 耗,可伸缩性则是衡量当工作单元的数量或尺寸增加时,资源消耗的变化情况。换句话说,可伸缩性是整个价格-性能曲线的形状,而不是曲线上某一点的取值。可伸缩性有很多侧面——事务的方面、运营的方面、还有开发的方面。我
阅读全文
摘要:http://www.infoq.com/cn/news/2008/03/ebaybase系统架构师角色关键的一方面就是衡量相互冲突的需求、决定解决方案,常常要牺牲一个方面来换取另一个方面。随着系统变得越来越大、越来越复杂,越来越多关于如何构建应用的传统智慧正在受到挑战。比如说,去年3月在伦敦召开的QCon会议上,Dan Pritchard谈论了eBay的架构。他的介绍随后得到了很多的报道,其中一个主要的结论就是eBay不使用事务,用数据一致性上的损失来换取系统整体伸缩性和性能上相当大的改进。InfoQ接着Dan Pritchard在QCon会议上的谈话与他继续讨论,以获得更多信息:为什么eB
阅读全文
摘要:http://duanple.blog.163.com/blog/static/7097176720101122604254/Brewer’s CAP Theorem中文版http://pt.alibaba-inc.com/wp/dev_related_728/brewers-cap-theorem.html原版:http://www.julianbrowne.com/article/viewer/brewers-cap-theorem可伸缩性最佳实践:来自eBay的经验NoSQL数据库笔谈http://www.yankay.com/wp-content/uploads/2010/02/NoS
阅读全文
摘要:云计算平台是非常巨大的分布式系统,需要处理庞大的处理请求,因此任何小概率事件在此平台中都必然发生。DBMS强调ACID:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性 (Durability)。其中的一致性强调当程序员定义的事务完成时,数据库处于一致的状态,如对于转帐来说,事务完成时必须是A少了多少钱B就多了多少钱。而对于很多互联网应用来说,对于一致性和隔离性的要求可以降低,而可用性(Availability)的要求则更为明显。从而产生了两种弱一致性的理论:BASE和CAP。BASE:Basically Availble --基本可用;So
阅读全文
摘要:来自:http://www.blogjava.net/zJun/archive/2006/06/28/55511.htmlLog4J的配置文件(Configuration File)就是用来设置记录器的级别、存放器和布局的,它可接key=value格式的设置或xml格式的设置信息。通过配置,可以创建出Log4J的运行环境。1. 配置文件Log4J配置文件的基本格式如下:#配置根Loggerlog4j.rootLogger=[level],appenderName1,appenderName2,…#配置日志信息输出目的地Appenderlog4j.appender.appenderName=fu
阅读全文
摘要:http://areyouok.iteye.com/blog/287980简介不同的Linux发行版使用不同syslog程序来记录系统日志。的Debain 4.0/Ubuntu8.04(桌面版)默认使用的是sysklogd,配置文件为/etc/syslog.conf。Fedora9默认使用rsyslogd,配置文件为/etc/rsyslog.conf。opensuse11使用syslog-ng,配置文件为/etc/syslog-ng/syslog-ng.conf。这里仅一debian为例介绍一下syslog.conf的配置,rsyslog.conf的格式和syslog.conf是基本一样的。可
阅读全文
摘要:http://areyouok.iteye.com/blog/2515901、介绍在Unix类操作系统上,syslog广泛 应用于系统日志。syslog日志消息既可以记录在本地文件中,也可以通过网络发送到接收syslog的服务器。接收syslog的服务器可以对多个设备 的syslog消息进行统一的存储,或者解析其中的内容做相应的处理。常见的应用场景是网络管理工具、安全管理系统、日志审计系统。完整 的syslog日志中包含产生日志的程序模块(Facility)、严重性(Severity或 Level)、时间、主机名或IP、进程名、进程ID和正文。在Unix类操作系统上,能够按Facility和S
阅读全文
摘要:http://is00hcw.blog.163.com/blog/static/282632722010418102837438/编写自定义appender 的步骤1. 扩展 AppenderSkeleton 抽象类。如果是通过流方式实现读写数据的话,自定一定appender可以从WriterAppender继承,这样只需要把我们自己的OutputStream连接到WriterAppender.qw上就可以了。更方便快捷。2. 指定您的 appender 是否需要 layout。这个由requiresLayout()方法确定。3. 如果某些属性必须同时激活,则应该在 activateOptio
阅读全文
摘要:http://yefriendly.iteye.com/blog/404389 续Spring中使用Quartz(一)注意:CronTriggerBean的cronExpression属性指定格式:至少6个时间元素,上面表示每天的15:37-38分执行1次任务。时间元素(按照顺序):秒(0-59):分(0-59):小时(0-23):每月第几天(1-31):月(1-12或JAN-DEC):每星期第几天(1-7或SUN-SAT):年(1970-2099):其中:不用设置的用”?”.(1)每月第几天和每星期第几天是互斥的,两个只能设置1个。如果有好几个时间点,可以使用”,”符号,...
阅读全文
摘要:http://yefriendly.iteye.com/blog/404374 Quartz使用开发环境:Spring2.0。如果包类没有Quartz包,则需要加入到类路径。A:extends QuartzJobBean方法1:定义任务(extendsQuartzJobBean)创建一个Job:packageonlyfun.bb.Quartz;importorg.quartz.JobExecutionContext;importorg.springframework.scheduling.quartz.QuartzJobBean;publicclassQuartzDemoext...
阅读全文
摘要:http://hi.baidu.com/sword0228/item/bd33e5997f2a9bdd7b7f0196private static Gson gson = new GsonBuilder().registerTypeAdapter(Date.class,new UtilDateSerializer()).registerTypeAdapter(Calendar.class,new UtilCalendarSerializer()).registerTypeAdapter(GregorianCalendar.class,new UtilCalendarSerializer()).
阅读全文
摘要:Random类(java.util)Random类中实现的随机算法是伪随机,也就是有规则的随机。在进行随机时,随机算法的起源数字称为种子数(seed),在种子数的基础上进行一定的变换,从而产生需要的随机数字。相同种子数的Random对象,相同次数生成的随机数字是完全相同的。也就是说,两个种子数相同的Random对象,第一次生成的随机数字完全相同,第二次生成的随机数字也完全相同。这点在生成多个随机数字时需要特别注意。下面介绍一下Random类的使用,以及如何生成指定区间的随机数组以及实现程序中要求的几率。1、Random对象的生成 Random类包含两个构造方法,下面依次进行介绍: a、publ
阅读全文