摘要:
上文里我遗留了两个问题,一个问题是数据库做了水平拆分以后,如果我们对主键的设计采取一种均匀分布的策略,那么它对于被水平拆分出的表后续的查询操作将有何种影响,第二个问题就是水平拆分的扩容问题。这两个问题在深入下去,本系列就越来越技术化了,可能最终很多朋友读完后还是没有找到解决实际问题的启迪,而且我觉... 阅读全文
摘要:
如果数据库需要进行水平拆分,这其实是一件很开心的事情,因为它代表公司的业务正在迅猛的增长,对于开发人员而言那就是有不尽的项目可以做,虽然会感觉很忙,但是人过的充实,心里也踏实。 数据库水平拆分简单说来就是先将原数据库里的一张表在做垂直拆分出来放置在单独的数据库和单独的表里后更进一步的把本来是一个整... 阅读全文
摘要:
存储的瓶颈写到现在就要进入到深水区了,如果我们所做的网站已经到了做数据库垂直拆分和水平拆分的阶段,那么此时我们所面临的技术难度的挑战也会大大增强。 这里我们先回顾下数据库的垂直拆分和水平拆分的定义: 垂直拆分:把一个数据库中不同业务单元的数据分到不同的数据库里。 水平拆分:是根据一定的规则把同... 阅读全文
摘要:
上篇里我讲到某些网站在高并发下会报出503错误,503错误的含义是指网站服务端暂时无法提供服务的含义,503还表达了网站服务端现在有问题但是以后可能会提供正常的服务,对http协议熟悉的人都知道,5开头的响应码表达了服务端出现了问题,在我们开发测试时候最为常见的是500错误,500代表的含义是服务端... 阅读全文
摘要:
前不久公司请来了位互联网界的技术大牛跟我们做了一次大型网站架构的培训,两天12个小时信息量非常大,知识的广度和难度也非常大,培训完后我很难完整理出全部听到的知识,今天我换了个思路是回味这次培训,这个思路就是通过本人目前的经验和技术水平来思考下大型网站技术演进的过程。 首先我们要思考一个问题,什么样... 阅读全文
摘要:
为什么要提升web性能?Web性能黄金准则:只有10%~20%的最终用户响应时间花在了下载html文档上,其余的80%~90%时间花在了下载页面组件上。 web性能对于用户体验有及其重要的影响,根据著名的`2-5-8`原则:当用户在2秒以内得到响应,会感觉系统的响应非常快当用户在2-5秒之内得到响... 阅读全文
摘要:
如果测试类写到很多,每次要进行测试,难道要重新点击每一个测试类来运行?如果有200个测试类要测试呢? 为了解决这个问题,引入了测试套件(TestSuite)。 通过将多个测试放入套件中,一并执行多个测试。实例:一次运行多个测试类 比如,有两个测试类,叫CalculatorTest和Calcul... 阅读全文
摘要:
测试类的私有方法时可以采取两种方式: 1.修改方法的访问修饰符,将private修改为default或者public。(不推荐)。 2.在测试类中使用反射调用目标类的私有方法。(推荐)。程序实例 一个计算加法的方法,是私有方法,在测试类中通过反射调用该方法进行测试. PS:使用JUnit 3... 阅读全文
摘要:
之前一篇博文(JUnit基础及第一个单元测试实例(JUnit3.8))介绍了用JUnit做单元测试的基本方法,并写了一个简单的类Calculator,其中包含了整型加减乘除的简单算法。 本文通过完善其中的除法和除法的单元测试来继续说明JUnit的用法。 首先完善Calculator类中的除法,在... 阅读全文
摘要:
单元测试 单元测试(unit testing),是指对软件中的最小可测试单元进行检查和验证。 单元测试不是为了证明您是对的,而是为了证明您没有错误。 单元测试主要是用来判断程序的执行结果与自己期望的结果是否一致。 关键是在于所用的测试用例(Test Case)。JUnit JUnit是一个... 阅读全文