服务端-Web架构
文章平均质量分 84
单向街的夏天
每天进步一点点
展开
-
Software Architecture
Software ArchitectureNote: This tutorial is still work in progress. It will be updated bit by bit, until it reaches a more comprehensive and coherent state. However, you may still get someth翻译 2014-01-12 13:51:39 · 1610 阅读 · 0 评论 -
Caching Techniques
Caching TechniquesCaching is a technique to speed up data lookups (data reading). Instead of reading the data directly from it source, which could be a database or another remote system, the翻译 2014-01-12 00:15:54 · 1008 阅读 · 0 评论 -
Load Balancing
Load BalancingLoad balancing is a method for distributing tasks onto multiple computers. For instance, distributing incoming HTTP requests (tasks) for a web application onto multiple web serve翻译 2014-01-11 23:55:27 · 1604 阅读 · 0 评论 -
Scalable Architectures
Scalable ArchitecturesA scalable architecture is an architecture that can scale up to meet increased work loads. In other words, if the work load all of a sudden exceeds the capacity of your exi翻译 2014-01-11 22:30:32 · 1051 阅读 · 0 评论 -
RIA Architecture
RIA ArchitectureRIA (Rich Internet Applications) are a special breed of web applications where the user interface has much richer functionality than what the first and second generation web appl翻译 2014-01-12 14:02:01 · 1067 阅读 · 1 评论 -
分布式系统中数据一致性问题
分布式环境下(数据分布)要任何时刻保证数据一致性是不可能的,只能采取妥协的方案来保证数据最终一致性。这个也就是著名的CAP定理。CAP定理是2000年,由 Eric Brewer 提出来的Brewer认为在分布式的环境下设计和部署系统时,有3个核心的需求,以一种特殊的关系存在。这里的分布式系统说的是在物理上分布的系统,比如我们常见的web系统。这3个核心的需求是:Consi原创 2014-02-20 17:15:40 · 1402 阅读 · 0 评论 -
Tomcat工作原理 、JVM内存溢出及合理配置、配置文件详解
Wrapper 代表一个 Servlet,它负责管理一个 Servlet,包括的 Servlet 的装载、初始化、执行以及资源回收。Wrapper 是最底层的容器,它没有子容器了,所以调用它的 addChild 将会报错。原创 2014-04-17 12:07:24 · 3025 阅读 · 0 评论 -
基于nutcracker 的redis分布式缓存的实现的注意
TwemPWhat’s awesome about Twemproxy is that it can be configured both to disable nodes on failure, and retry after some time, or to stick to the specified keys -> servers map. This means that it i原创 2014-04-25 19:31:19 · 5991 阅读 · 1 评论 -
FastDFS的搭建
一、何为分布式文件系统 “分布式文件系统,顾名思义,就是 分布式+文件系统 。它包含这两个方面的内涵,从文件系统的客户使用的角度来看,它就是一个标准的文件系统,提供了一系列API,由此进行文件或目录的创建、移动、删除,以及对文件的读写等操作。从内部实现来看,分布式的系统则不再和普通文件系统一样负责管理本地磁盘,它的文件内容和目录结构都不是存储在本地磁盘上,而是通过网络传输到远端系统上。并且,同转载 2013-12-05 17:11:08 · 967 阅读 · 0 评论 -
高并发高流量网站架构
Web2.0的兴起,掀起了互联网新一轮的网络创业大潮。以用户为导向的新网站建设概念,细分了网站功能和用户群,不仅成功的造就了一大批新生的网站,也极大的方便了上网的人们。但Web2.0以用户为导向的理念,使得新生的网站有了新的特点——高并发,高流量,数据量大,逻辑复杂等,对网站建设也提出了新的要求。 本文围绕高并发高流量的网站架构设计问题,主要研究讨论了以下内容: 首先在转载 2013-11-03 23:22:46 · 1408 阅读 · 0 评论 -
高效的服务器程序
更一般的来说,是对每秒要处理大量请求程序的一种性能讨论。优化性能方法不可能说尽,也要具体问题具体分析,只是总结下常用的几点。http://blog.sina.com.cn/s/blog_466c66400100bi2n.html~type=v5_one&label=rela_prevarticle这篇博客提出了好多方法,但是感觉分类上有点不妥,大概从三方面来分的一是节约cpu, 二是如何使用内转载 2013-06-01 15:58:09 · 913 阅读 · 1 评论 -
java集群----多看
序言越来越多的关键应用运行在J2EE(Java 2, Enterprise Edition)中,这些诸如银行系统和账单处理系统需要高的可用性(High Availability, HA),同时像Google和Yahoo这种大系统需要大的伸缩性。高可用性和伸缩性在今天高速增长的互连接的世界的重要性已经证实了。eBay于1999年6月停机22小时的事故,中断了约230万的拍卖,使eBay的股票下降转载 2012-11-18 18:05:30 · 595 阅读 · 1 评论 -
java架构师之路:JAVA程序员必看的15本书的电子版下载地址
作为Java程序员来说,最痛苦的事情莫过于可以选择的范围太广,可以读的书太多,往往容易无所适从。我想就我自己读过的技术书籍中挑选出来一些,按照学习的先后顺序,推荐给大家,特别是那些想不断提高自己技术水平的Java程序员们。一、Java编程入门类 对于没有Java编程经验的程序员要入门,随便读什么入门书籍都一样,这个阶段需要你快速的掌握Java基础语法和基本用法,宗旨就是“囫囵吞枣转载 2013-05-04 14:26:35 · 1314 阅读 · 0 评论 -
架构之路 ---大型网站架构演变和知识体系
之前也有一些介绍大型网站架构演变的文章,例如LiveJournal的、ebay的,都是非常值得参考的,不过感觉他们讲的更多的是每次演变的结果,而没有很详细的讲为什么需要做这样的演变,再加上近来感觉有不少同学都很难明白为什么一个网站需要那么复杂的技术,于是有了写这篇文章的想法,在这篇文章中将阐述一个普通的网站发展成大型网站过程中的一种较为典型的架构演变历程和所需掌握的知识体系,希望能给想从事互联网行原创 2013-07-13 01:27:23 · 1237 阅读 · 0 评论 -
系统设计说明书(架构、概要、详细)目录结构
系统设计说明书(架构、概要、详细)目录结构虽然这些文档一般来说公司都是有模板的,但我写这些文档以来基本上是每写一次就把目录结构给改一次,应该说这是因为自己对这些文档的理解开始加深,慢慢的越来越明白这些文档的作用和其中需要阐述的东西,觉得这三份文档主要阐述了一个系统的设计和实现过程,从系统分解为层次、层次内的模块以及相互的接口、模块分解为对象以及对象的接口、实现这些对象接口的方法。这次又整了原创 2013-07-31 14:23:08 · 5056 阅读 · 0 评论 -
Web日志挖掘分析的方法
日志分析方法概述 日志在计算机系统中是一个非常广泛的概念,任何程序都有可能输出日志:操作系统内核、各种应用服务器等等。日志的内容、规模和用途也各不相同,很难一概而论。本文讨论的日志处理方法中的日志,仅指Web日志。其实并没有精确的定义,可能包括但不限于各种前端Web服务器——apache、lighttpd、tomcat等产生的用户访问日志,以及各种Web应用程序自己输出的原创 2013-07-31 14:06:44 · 8180 阅读 · 0 评论 -
Java分布式应用简介及远程通讯可选技术及原理
大型应用通常会拆分为多个子系统,对于java来说,这些子系统可能部署在同一台机器上的多个不同的JVM中,也可能部署在不同的 电脑上,但这些子系统有不是完全独立的,要相互通信来实现业务功能,对于此类java应用,我们称为java分布式应用。 对于分布式java应用,通常有两种典型的方式来实现:1.基于消息方式实现系统间的通信 当系统之间要通信时,就向外发送消息,消息可以是字节流、原创 2013-07-13 14:37:12 · 1464 阅读 · 0 评论 -
MINA 框架
MINA 框架简介 Apache Mina Server 是一个网络通信应用框架,也就是说,它主要是对基于TCP/IP、UDP/IP协议栈的通信框架(然,也可以提供JAVA 对象的序列化服务、虚拟机管道通信服务等),Mina 可以帮助我们快速开发高性能、高扩展性的网络通信应用,Mina 提供了事件驱动、异步(Mina 的异步IO 默认使用的是JAVA NIO 作为底层支持)操作原创 2013-07-13 16:33:23 · 974 阅读 · 0 评论 -
Linux服务器性能评估(4)
一、影响Linux服务器性能的因素 1. 操作系统级 Ø CPUØ 内存Ø 磁盘I/O带宽Ø 网络I/O带宽 2. 程序应用级 二、系统性能评估标准影响性能因素评判标准好坏糟糕CPUuser转载 2013-08-18 14:32:00 · 825 阅读 · 0 评论 -
Reactor模式--VS--Proactor模式
一、 Reactor and ProactorIO读写时,多路复用机制都会依赖对一个事件多路分离器,负责把源事件的IO 事件分离出来,分别到相应的read/write事件分离器。涉及到事件分离器的两种模式分别就是 Reactor和Proactor,Reactor是基于同步IO的,Proactor是基于异步IO的。在Reactor模式中,事件分离者等待某个事件或者可应用或个操作的状态原创 2013-08-10 16:54:34 · 3227 阅读 · 0 评论 -
IO模型及select、poll、epoll和kqueue的区别
先说下本文框架,先是问题引出,然后概括两个机制的区别和联系,最后介绍每个接口的用法一、问题引出 联系区别问题的引出,当需要读两个以上的I/O的时候,如果使用阻塞式的I/O,那么可能长时间的阻塞在一个描述符上面,另外的描述符虽然有数据但是不能读出来,这样实时性不能满足要求,大概的解决方案有以下几种:1.使用多进程或者多线程,但是这种方法会造成程序的复杂,而且对与进程与线程的创转载 2013-06-01 16:00:07 · 5862 阅读 · 2 评论 -
基于Java技术的大型网站架构方案
1、Web层主体架构可以基于 Struts 1.X/2.X,当然有很多更好的控制层框架供选择,以快速敏捷为准则吧。 抽象出核心库封装 控制器和中间层的操作。 在大规模集群环境下,session复制会引起严重的性能问题。考虑用 集群缓存 + cookie验证 代替session实现权限控制吧。 2、Cache层配置 Memcache 组成集群缓存 对 Memcache 客户端转载 2013-09-07 20:19:16 · 892 阅读 · 0 评论 -
Windows下Resin的配置与部署(可用版)
一 Resin简介Resin是CAUCHO公司的产品,是一个非常流行的application server,对servlet和JSP提供了良好的支持,性能也比较优良,resin自身采用JAVA语言开发。Resin本身包含了一个支持HTTP/1.1的WEB服务器。虽然它可以显示动态内容,但是它显示静态内容的能力也非常强,速度直逼APACHE SERVER。许多站点都是使用该WEB服务器构建的原创 2013-09-11 20:46:43 · 6246 阅读 · 0 评论 -
MVC与三层模型探讨
我认为mvc设计模式,关键在于构建model,model就是mvc模式的灵魂,他包含了三层架构里面的 “实体规范层”、“行为规则层”、“数据访问层”;控制器(Controller)用来收集view提供的用户数据,传递给model,同时返回model处理后的数据给view。model的设计可以参考三层架构的设计方法,将实体、行为规则(业务逻辑)和数据访问分开,在数据访问上可以应用orm框架。三层架构转载 2013-11-03 23:46:50 · 1416 阅读 · 1 评论 -
大型高并发高负载web应用系统架构-数据库架构策略
在WEB网站的规模从小到大不断扩展的过程中,数据库的访问压力也不断的增加,数据库的架构也需要动态扩展,在数据库的扩展过程基本上包含如下几步,每一个扩展都可以比上一步骤的部署方式的性能得到数量级的提升。 1、WEB应用和数据库部署在同一台服务器上 一般的小规模的网站采用这种方式,用户量、数据量、并发访问量都比较小,否则单台服务器无法承受,并且在遇到性能瓶颈的时候升转载 2013-11-03 21:43:04 · 1132 阅读 · 0 评论 -
大型高并发高负载网站的系统架构
大型网站,比如门户网站。在面对大量用户访问、高并发请求方面,基本的解决方案集中在这样几个环节:使用高性能的服务器、高性能的数据库、高效率的编程语言、还有高性能的Web容器。但是除了这几个方面,还没法根本解决大型网站面临的高负载和高并发问题。上面提供的几个解决思路在一定程度上也意味着更大的投入,并且这样的解决思路具备瓶颈,没有很好的扩展性,下面我从低成本、高性能和高扩张性的角度来说说我的一些转载 2013-11-03 21:57:16 · 1150 阅读 · 0 评论 -
Java分布式应用简介------I/O模型:阻塞与非阻塞、同步与异步
背景: 按照《Unix网络编程》的划分,IO模型可以分为:阻塞IO、非阻塞IO、IO复用、信号驱动IO和异步IO,按照POSIX标准来划分只分为两类:同步IO和异步IO。如何区分呢?首先一个IO操作其实分成了两个步骤:发起IO请求和实际的IO操作,同步IO和异步IO的区别就在于第二个步骤是否阻塞,如果实际的IO读写阻塞请求进程,那么就是同步IO,因此阻塞IO、非阻塞IO、IO服原创 2013-07-02 23:43:50 · 2381 阅读 · 0 评论