序言 新浪微博在2014年3月公布的月活跃用户(MAU)已经达到1.43亿,2014年新年第一分钟发送的微博达808298条,如此巨大的用户规模和业务量,需要高可用(HA)、高并发访问、低延时的强大后台系统支撑。 微博平台第一代架构为LAMP架构,数据库使用的是MyIsam...
编程语言
Java日志基础 Java使用了一种自定义的、可扩展的方法来输出日志。虽然Java通过java.util.logging包提供了一套基本的日志处理API,但你可以很轻松的使用一种或者多种其它日志解决方案。这些解决方案尽管使用不同的方法来创建日志数据,但它们的最终目标是一样...
CSS,也就是Cascading Style Sheets,推出于1997年,差不多是17年前,至此为我们开发网页大开方便之门,协助我们制作出一个又一个惊艳绝伦的网站设计和模板,提升了我们的创造能力,给整体平台增加了对称美。 网页设计不是一蹴而就的,需要不断的实践和改进,...
该篇以某公司iPhone 6手机预约接口开发为例,介绍PHP5下SOAP调用的实现过程。 一、基础概念 SOAP(Simple Object Access Protocol )简单对象访问协议是在分散或分布式的环境中交换信息的简单的协议,是一个基于XML的协议,它包括四个部分:SOAP封装(envelop)...
在开始本篇主要内容前,我们一起看看下面的几张截图,首先是第一张图,如下图所示: 这是一家电商网站的首页,当我们第一次打开这个首页,网站会弹出一个强制性的对话框,让用户选择货物配送的地址,如果是淘宝和京东的话,那么这个选择配货地址的选项是在商...
这篇文章介绍一种评估大数据解决方案的可行性的基于维度的方法。通过回答探索每个维度的问题,您可以通过自己对环境的了解来确定某个大数据解决方案对您是否适合。仔细考虑每个维度,就会发现有关是否到了改进您的大数据服务的时候的线索。 大数据架构和模式...
使用 HTML5,通过创建 cache manifest 文件,可以轻松地创建 web 应用的离线版本。 HTML5引入了应用程序缓存,这意味着 web 应用可进行缓存,并可在没有因特网连接时进行访问。 应用程序缓存为应用带来三个优势: 离线浏览 - 用户可在应用离线时使用它们 速...
Node.js非常适用于Web开发,但是现在无论是一个网站,还是Web App都已经成为包括很多不同部分,如前端、数据库、业务模块、功能模块等等的大型项目,使用Node.js从零开始进行Web开发,也许大中型团队能够胜任,但对于个人和小型团队来说是不现实的。这时候框...
策略模式的意义是定义一系列的算法,把它们一个个封装起来,并且使它们可相互替换。 一个小例子就能让我们一目了然。 回忆下jquery里的animate方法. $( div ).animate( {'left: 200px'}, 1000, 'linear' ); //匀速运动 $( div ).animate( {'left: 200px'},...
上篇里我讲到某些网站在高并发下会报出503错误,503错误的含义是指网站服务端暂时无法提供服务的含义,503还表达了网站服务端现在有问题但是以后可能会提供正常的服务,对http协议熟悉的人都知道,5开头的响应码表达了服务端出现了问题,在我们开发测试时候最...
这篇文章开篇提个问题给大家,关系数据库的瓶颈有哪些?我想有些朋友看到这个问题肯定会说出自己平时开发中碰到了一个跟数据库有关的什么什么问题,然后如何解决的等等,这样的答案没问题,但是却没有代表性,如果出现了一个新的存储瓶颈问题,你在那个场景的...
该篇作者从Docker镜像、网络命名空间、日志和审核、守护进程特权、SELinux、二进制SUID/GUID、设备控制组、服务和应用、 Linux内核、用户命名空间、libseccomp等方面给出了自己的建议,可以一读。 当前持续增长的云计算市场对虚拟化技术有着强烈的需求。遗憾...
MySQL是目前使用最多的开源数据库,但是MySQL数据库的默认设置性能非常的差,必须进行不断的优化,而优化是一个复杂的任务,这篇文章描述淘宝数据库团队针对MySQL数据库Metadata Lock子系统的优化,hash_scan 算法的实现解析的性能优化,TokuDB·版本优化,以...
一、反向代理:Web服务器的“经纪人” 1.1 反向代理初印象 反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外...
尽管NoSQL运动并没有给分布式数据处理带来根本性的技术变革,但是依然引发了铺天盖地的关于各种协议和算法的研究以及实践。在这篇文章里,我将针对NoSQL数据库的分布式特点进行一些系统化的描述。 系统的可扩展性是推动NoSQL运动发展的的主要理由,包含了分...
Spring简介 Spring框架由Rod Johnson开发,2004年发布了Spring框架的第一版。Spring是一个从实际开发中抽取出来的框架,因此它完成了大量开发中的通用步骤,留给开发者的仅仅是与特定应用相关的部分,从而大大提高了企业应用的开发效率。 Spring总结起来优点...
问题背景: 本人要在一个表单里同时一次性提交多名乘客的个人信息到SpringMVC,前端HTML和SpringMVC Controller里该如何处理? 第1种方法:表单提交,以字段数组接收; 第2种方法:表单提交,以BeanListModel接收; 第3种方法:将Json对象序列化成Json字符...
接上一篇,希望能写一个高性能Javascript专题。 第一篇:JavaScript无阻塞加载性能优化方案。 经典计算机科学的一个问题是,数据应当存放在什么地方,以实现最佳的读写效率。数据存储是否得当,关系到代码运行期间数据被检索到的速度。在Javascript中,此问...
代理模式的定义是把对一个对象的访问, 交给另一个代理对象来操作. 举一个例子, 我在追一个MM想给她送一束花,但是我因为我性格比较腼腆,所以我托付了MM的一个好朋友来送。 这个例子不是非常好, 至少我们没看出代理模式有什么大的用处,因为追MM更好的方式...
Android提供了一个很强大的WebView控件用来处理Web网页,而在网页中,JavaScript又是一个很举足轻重的脚本。本文将介绍如何实现Java代码和Javascript代码的相互调用。 如何实现 实现Java和js交互十分便捷。通常只需要以下几步。 WebView开启JavaScript脚本执...
《SQL Server自动化运维系列:监控性能指标脚本》 《SQL Server自动化运维系列:监控磁盘剩余空间及SQL Server错误日志》 《SQL Server自动化运维系列:关于邮件通知那点事》 《SQL Server自动化运维系列:监控跑批Job运行状态》 《SQL Server自动化运维系列...
开始之前 Java 虚拟机有自己完善的硬件架构, 如处理器、堆栈、寄存器等,还具有相应的指令系统。JVM 屏蔽了与具体操作系统平台相关的信息,使得 Java 程序只需生成在 Java 虚拟机上运行的目标代码 (字节码), 就可以在多种平台上不加修改地运行。Java 虚拟机在...
关于angularjs、requirejs的基础知识请自行学习 一、简单事例的项目目录如下: -index.html -scripts文件夹 --controller文件夹 --- mianController.js --- controller1.js ---controller2.js --directives文件夹 ---mainDirective.js ---directive.j...
云计算的“横空出世”让很多人将其视为一项全新的技术,但事实上它的雏形已出现多年,只是最近几年才开始取得相对较快的发展。确切地说,云计算是大规模分布式计算技术及其配套商业模式演进的产物,它的发展主要有赖于虚拟化、分布式数据存储、数据管理、编程...
大型网站架构改进历程:存储的瓶颈(上) 大型网站架构改进历程:存储的瓶颈(中) 存储的瓶颈写到现在就要进入到深水区了,如果我们所做的网站已经到了做数据库垂直拆分和水平拆分的阶段,那么此时我们所面临的技术难度的挑战也会大大增强。 这里我们先回...