- 博客(36)
- 收藏
- 关注
原创 11,云存储之网盘浅析
网盘最基础两个功能 —— 存储备份和文件共享。 目前主要采用分布式文件系统进行管理,目前主要的分布式文件系统包括Google的GFS,Hadoop的HDFS,MogileDFS以及FastDFS。由于GFS和HDFS主要是考虑为其搜索引擎服务的,主要以文本文件为主,并不适合于数据格式多样化的网盘系统。MogileDFS和FastDFS均为开源分布式文件系统。相比较而言,FastDFS更高效。针...
2012-11-30 10:29:01 280
原创 10,虚拟化技术(下)
为何CPU也要虚拟化?由于X86指令架构限制,早期的纯软件的X86虚拟化技术比如vmware,其虚拟机没法执行一些特权指令,必须通过vmware的Hypervisor做翻译才能在x86的CPU上执行,这大大降低了效率,随着虚拟化的日渐流行,x86 CPU厂商也开始为CPU加入这一特性,最终结果说白了就是虚拟机执行一些特权指令时直接执行,再也不需要Hypervisor翻译执行,这既加快了虚拟机速度,...
2012-11-30 09:53:52 140
原创 9,虚拟化技术(上)
虚拟化技术层次分类–硬分区–Hypervisor层虚拟化1. RISC2. X86–操作系统层虚拟化1. RISC2. X86–应用层虚拟化1. 应用交付2. 流式应用硬分区–硬分区是个俗称,或者也可以叫物理分区,简而言之就是将拥有多块CPU板多块内存板多块IO板的一台大机器通过电气分割成多个小机器,每个小机器都可以安装自己的操作系统–硬分区的代表作有HP的nPar和SUN的DSD–优点:完整...
2012-11-29 12:28:19 172
原创 8,云计算深入理解
云计算的工作原理在典型的云计算模式中,用户通过终端接入网络,向“云”提出需求;“云”接受请求后组织资源,通过网络为“端”提供服务。用户终端的功能可以大大简化,诸多复杂的计算与处理过程都将转移到终端背后的“云”上去完成。用户所需的应用程序并不需要运行在用户的个人电脑、手机等终端设备上,而是运行在互联网的大规模服务器集群中;用户所处理的数据也无需存储在本地,而是保存在互联网上的数据中心里。提供云计算服...
2012-11-29 11:03:48 139
原创 7,云计算的商业模式
在云计算的商业模式方面,最主流的是“电厂”模式。除了这个模式之外,“超市”模式也受到业界一部分人的推崇。“超市”模式当我们进入超市时,里面有琳琅满目的商品任凭我们挑选,不管是自制的,还是来自第三方供应商的,我们都能非常方便地凑齐生活所需要的必需品。同时由于超市运营规模普遍较大,它在产品售价和运营成本上面都有优势。而且超市并不是只此一家,如果不满意这家的商品和服务,完全可以选择另外一家,虽然之前...
2012-11-29 10:56:26 645
原创 6,Salesforce云平台
在云计算方面,Salesforce 可谓是业界的领袖,它不仅在产品方面比较成熟,而且在思维方面也是引领潮流的,特别是在SaaS 和PaaS 这两个领域内。Salesforce 的整体架构 Force.com 是Salesforce 整体架构的核心,因为它首先整合和控制了底层的物理基础设施,接着给上层的Sales Cloud、Service Cloud、Chatter 和基于For...
2012-11-29 10:54:03 389
原创 5,Google App Engine
Google 的云计算产品从云计算角度而言,几乎Google 的所有产品都可以被认为是典型的云计算产品。因为Google 本身就是世界上最大的云,在全球有30 多个数据中心,服务器的总数超过100 万台,而且在运营效率和自动化管理程度这两个非常重要的云指标上也是独领风骚的,并且这些产品大都以Web 的形式发布。SaaS 层在SaaS 层,Google 的云服务主要可分为两大部分:其一是主要面向...
2012-11-29 10:48:53 303
原创 3,云架构示例
在现实的IT 环境中,有许多云计算产品都符合所讲述的架构,其中比较知名的有Salesforce CRM 和Google App Engine。1. Salesforce CRM首先,从用户角度而言,Salesforce CRM 属于SaaS 层服务,主要通过在云中部署可定制化的CRM应用,来让企业用户在初始投入很低的情况下使用CRM,并且可根据自身的流程来灵活地定制,而且用户只需接入互联网就能使用...
2012-11-28 09:39:58 109
原创 2,云管理层
虽然和前面云服务的3 层相比,熟悉云管理层的人非常少,但是它确实是云最核心的部分, 1. 用户层顾名思义,这层主要面向使用云的用户,并通过多种功能来更好地为用户服务,共包括4个模块:用户管理、客户支持、服务管理和计费管理。用户管理对于任何系统而言,对于用户的管理都是必需的,云也是如此。云方面的用户管理主要有3 种功能。其一是账号管理,包括对用户身份及其访问权限进行有效地管理,还包括对用...
2012-11-28 09:37:39 2297
原创 1,云架构的了解
云架构共分为服务和管理两大部分。在服务方面,主要以提供用户基于云的各种服务为主,共包含3 个层次。其一是Softwareas a Service(软件即服务),简称SaaS,这层的作用是将应用主要以基于Web 的方式提供给客户;其二是Platform as a Service(平台即服务),简称PaaS,这层的作用是将一个应用的开发和部署平台作为服务提供给用户;其三是Infrastructure ...
2012-11-28 09:34:55 662
原创 2,分层的思想
在分解复杂的软件系统时,软件设计者使用最多的技术之一就是分层,在计算机本身的架构中也可以看到。存CPU指令集和设备驱动程序,在到内部芯片和各个逻辑门电路。网络中,FTP层架构在TCP之上,TCP架构在IP之上,IP架构又在以太网之上。在这种组织方式下;上层使用了下层定义的各种服务,而下层对上层一无所知。另外,每一层对自己的上层隐藏其下层的细节。系统分层的好处1,无需过多了解其他层次的基础上...
2012-11-23 12:30:23 160
原创 1,架构的理解
架构的理解分为俩点一是最高层次的系统分解二是系统中不易改变的决定。如果你发现某些决定并不像你想象的那么难以改变,那么它就不再和架构相关了。企业应用的困惑企业应用在某些方面比电信软件简单的多,多线程问题没有那么困难,无需关注硬件设备与软件的集成。但是。在某些方面,企业应用又比电信软件复杂的多,企业应用一般涉及大量复杂的数据,而且必须处理多种"不合逻辑“的业务规则。企业应用的特点1,一般涉及持...
2012-11-23 12:29:27 79
原创 21,tomcat关闭钩子
在很多环境下,在关闭应用程序的时候需要做一些清理工作。问题在于,用户并不是经常的按照要求的流程来退出Java提供了一种优雅的方式供程序员来使用,这样可以保证清理代码的执行。使用一个关闭钩子(shutdown hool)来保证清理代码一定会被执行。在Java中,虚拟机遇到两种事件的时候会关闭虚拟机:· 应用程序正常退出如System.exit方法被调用或者最后一个非守护退出。 · 用户突然强制终止虚...
2012-11-22 20:35:28 298
原创 20,tomcat的XML解析---digester
tomcat使用server.xml配置属性信息Tomcat使用开源工具Digester来讲XML元素转换为Java对象Digester是Apache Jakarta项目下面的开源项目org.apache.commons.digester.Digester类是Digester库里的主类。使用它来解析XML文档。对于该文档中的每一个元素,Digester都检查它是否需要做点事情,只需决定Digest...
2012-11-22 20:07:35 140
原创 19tomcat的服务器和服务
Server服务器Server接口表示整个Catalina Servlet容器以及其它组件。它提供了一种优雅的机制来启动和停止整个系统。不必再单独的启动连接器和容器了。当服务器启动的时候,它启动它内部的所有组件。然后无限期的等待关闭命令,如果你想要关闭系统,发送一个关闭命令道指定端口即可。当服务器收到正确的关闭指令后,它停止所有组件的服务。服务器还使用了另外一个组件,服务(se...
2012-11-20 20:10:15 81
原创 18,tomcat的主机(host)和引擎
如果需要在一个Tomcat部署中部署多个上下文,需要使用一个主机引擎表示整个Catalina 的Servlet引擎。如果使用的话,它位于容器等级的最高层可以添加到引擎上的容器包括org.apache.catalina.Host 或者org.apache.catalina.Context。在一个Tomcat部署中,默认的容器是引擎。Host相关的StandardHost、StandardHost...
2012-11-16 09:13:53 216
原创 window.location.search
location.search 返回“?”以及以后的内容,如“http://www.a.com/b/c.asp?selection=3&jumpto=4”,location.search返回"?selection=3&jumpto=4";如果地址里没有“?”,则返回空字符串。 var url=document.location.search; if(u...
2012-11-15 16:45:01 197
原创 附,listener、 filter、servlet 加载顺序及其详解
一、 1、启动一个WEB项目的时候,WEB容器会去读取它的配置文件web.xml,读取<listener> 和<context-param>两个结点。 2、紧急着,容创建一个ServletContext(servlet上下文),这个 web项目的所有部分都将共享这个上下文。 3、容器将<context-param>转换为键值对,并交给 servletContex...
2012-11-15 09:10:31 98
原创 17,tomcat中StandardContext
一个上下文容器(Context)代表一个web应用,每一个上下文包括多个包装器(Wrapper),每个包装器代表一个Servlet上下文还需要其它的一些组件如加载器和管理器Context接口的标准实现,org.apache.catalina.core.StandardContext类StandardContext配置创建一个StandardContext实例之后,必须调用它的start方法,这...
2012-11-15 08:59:07 176
原创 16,tomcat中StandardWrapper实现
Wrapper接口在Catalina中的标准实现StandardWrapper类的详细实现过程。一共有四种容器:engine(引擎),host(主机),context(上下文)和wrapper(包装器)一个上下文一般包括一个或者多个包装器,每一个包装器表示一个servlet方法调用序列Sequence of Methods Invocation对于每一个连接,连接器都会调用关联容器的invoke方...
2012-11-14 18:28:13 178
原创 15,tomcat安全
有些web应用程序的内容是有限制的,只允许有权限的用户在提供正确的用户名和密码的情况下才允许访问。Servlet通过配置部署文件web.xml来对安全性提供技术支持一个servlet通过一个叫authenticator的阀门(valve)来支持安全性限制。当容器启动的时候,authenticator被添加到容器的流水线上authenticator阀门会在包装器阀门之前被调用。authenticat...
2012-11-14 09:02:44 55
原创 14,tomcat session管理
Catalina通过一个叫管理器的组建来完成Session的管理。该管理器由一个接口Interface表示。一个管理器通常和一个上下文容器相互管理,它负责创建,更新以及销毁session对象并给任何请求组件返回一个合法的session.一个servlet可以使用getSession方法获得一个session对象,该方法在javax.servlet.http.HttpServletRequest...
2012-11-14 09:01:39 58
原创 13.tomcat加载器
库(repository)和源(resources)。库表示加载器查找的地方,源表示加载器中的DirContext对象,它的文档基(document base)指向了上下文的文档基。一个servlet容器需要一个定制的容器,而不是简单的使用系统的加载器如果使用系统的加载器来加载servlet和其他需要的类,这样servlet就可以进入Java虚拟机CLASSPATH环境下面的任何类和类库,这会...
2012-11-13 13:21:13 163
原创 12,tomcat日志处理
日志系统是一个记录信息的组件。在Catalina中,日志系统是一个相对简单的跟容器相关联的组件。Tomcat在org.apache.catalina.logger包中提供了多个不同的日志系统Logger接口一个日志系统必须实现org.apache.catalina.Logger接口 public interface Logger { // ----------------...
2012-11-13 13:15:38 86
原创 附:JAVA事件处理--观察者模式
简单地说,观察者模式定义了一个一对多的依赖关系,让一个或多个观察者对象监察一个主题对象。这样一个主题对象在状态上的变化能够通知所有的依赖于此对象的那些观察者对象,使这些观察者对象能够自动更新。 观察者模式的结构 观察者(Observer)模式是对象的行为型模式,又叫做发表-订阅(Publish/Subscribe)模式、模型-视图(Model/View)模式、源-收听者(Source/List...
2012-11-12 10:33:50 163
原创 11.tomcat生命周期
Catalina由多个组件组成,当Catalina启动的时候,这些组件也会启动。当Catalina停止的时候,这些组件也必须有机会被清除。例如,当一个容器停止工作的时候,它必须唤醒所有加载的servlet的destroy方法,而session管理器要保存session到二级存储器中。保持组件启动和停止一致的的机制通过实现org.apache.catalina.Lifecycle接口来实现。一...
2012-11-12 10:26:43 79
原创 10.容器
容器是一个处理用户servlet请求并返回对象给web用户的模块。org.apache.catalina.Container接口定义了容器的形式,有四种容器:Engine(引擎), Host(主机), Context(上下文), 和 Wrapper(包装器)。容器接口一个容器必须实现org.apache.catalina.Container接口传递一个Container实例给Connec...
2012-11-12 10:12:59 80
原创 9.Tomcat的默认连接器
Tomcat连接器是一个可以插入servlet容器的独立模块,已经存在相当多的连接器了,包括Coyote, mod_jk, mod_jk2和mod_webapp一个Tomcat连接器必须符合以下条件:1. 必须实现接口org.apache.catalina.Connector。 2. 必须创建请求对象,该请求对象的类必须实现接口org.apache.catalina.Request。 3. 必须创...
2012-11-12 08:52:17 222
原创 8.连接器
一个可以创建更好的请求和响应对象的连接器,一个符合Servlet 2.3和2.4规范的连接器必须创建javax.servlet.http.HttpServletRequest和javax.servlet.http.HttpServletResponse,并传递给被调用的servlet的service方法,连接器解析HTTP请求头部并让servlet可以获得头部, cookies, 参数名/值等等T...
2012-11-12 08:46:07 84
原创 7,Facade外观模式
外观模式:为子系统中的一组接口提供了一个一致的界面,此模式定义了一个高层的接口,这个接口使得一子系统更加容易使用。它主要解决的问题是:组件的客户和组件中各种复杂的子系统有了过多的耦合,随着外部客户程序和各子系统的演化,这种过多的耦合面临很多变化的挑战。体现了依赖倒转和迪米特法则 class SubSystemOne { public void methodO...
2012-11-08 11:28:45 57
原创 6,一个简单的servlet容器
总的来说,一个全功能的servlet容器会为servlet的每个HTTP请求做下面一些工作:当第一次调用servlet的时候,加载该servlet类并调用servlet的init方法(仅仅一次)。 对每次请求,构造一个javax.servlet.ServletRequest实例和一个javax.servlet.ServletResponse实例。调用servlet的service方法,同时传递Se...
2012-11-08 11:10:31 53
原创 5.javax.servlet.Servlet接口
javax.servlet.Servlet接口Servlet编程是通过javax.servlet和javax.servlet.http这两个包的类和接口来实现的。其中一个至关重要的就是javax.servlet.Servlet接口了。所有的servlet必须实现实现或者继承实现该接口的类。 Servlet接口有五个方法,其用法如下。public void init(ServletConfig ...
2012-11-08 09:18:15 155
原创 3.ServerSocket 与 Socket的区别
1.1 ServerSocket类创建一个ServerSocket类,同时在运行该语句的计算机的指定端口处建立一个监听服务,如:ServerSocket MyListener=new ServerSocket(600);这里指定提供监听服务的端口是600,一台计算机可以同时提供多个服务,这些不同的服务之间通过端口号来区别,不同的端口号上提供不同的服务。为了随时监听可能的Client请求,执...
2012-11-07 16:56:59 283
原创 2,http协议
一个http请求包括三个组成部分1,方法---统一资源标示符(URI) 协议/版本2,请求的头部3,请求的主体下面是一个例子POST /examples/default.jsp HTTP/1.1Accept:text/plain;text/htmlAccept-Language:en-gbConnection:Keep-AliveHosst:localhostUser-Agent:Mozil...
2012-11-07 16:29:05 75
原创 1,servlet容器如何工作
servlet容器是一个复杂的系统,不过,一个servlet容器要为一个servlet的请求提供服务,基本上有三件事要做。1,创建一个request对象并填充那些可能被所引用的servlet使用的信息,如参数,头部,cooike,查询字符串,URI等。一个request是一个servletRequest的实例。2,创建一个response对象,所引用的的servlet使用它来给客户端发送相...
2012-11-07 16:26:24 103
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人