随笔分类 -  5 架构

摘要:什么是AOP? 通过预编译方式和运行期动态代理实现在不修改源代码的情况下给程序动态统一添加功能的一种技术。 AOP实际是GoF设计模式的延续,设计模式孜孜不倦追求的是调用者和被调用者之间的解耦, AOP可以说也是这种目标的一种实现。AOP应用范围 很明显,AOP非常适合开发J2EE容器服务器,目前JBoss 4.0正是使用AOP框架进行开发。 具体功能如下: Authentication 权限 Caching 缓存 Context passing 内容传递 Error handling 错误处理 Lazy loading 懒加载 Debugging... 阅读全文
posted @ 2012-10-07 11:53 万法自然~ 阅读(235) 评论(0) 推荐(0)
摘要:JTA,即Java Transaction API,译为Java事务API。JTA允许应用程序执行分布式事务处理——在两个或多个网络计算机资源上访问并且更新数据。JDBC驱动程序的JTA支持极大地增强了数据访问能力。Java事务API(JTA:Java Transaction API)和它的同胞Java事务服务(JTS:Java Transaction Service),为J2EE平台提供了分布式事务服务(distributed transaction)。一个分布式事务(distributed transaction)包括一个事务管理器(transaction manager)和一个或多个资源 阅读全文
posted @ 2012-02-12 22:18 万法自然~ 阅读(315) 评论(0) 推荐(0)
摘要:一、架构设计基本原则 1、关键点的分离 2、单一责任原则 3、最少知识原则 4、不要重复自己 5、避免在前期做大量的设计 6、多用组合少用继承二、设计要点 在设计软件或系统时,软件架构的目标就是通过将设计分割为不同的关注领域来降低其复杂性。 例如,用户接口、业务进程和数据访问均可视为不同的关注领域。设置应用程序的指导方针: 1、避免在前期做所有的设计 2、分割关注领域 3、每个组件或模块应有单一的责任 4、一个组件或对象不应该依赖其他组件或对象的内部细节 5、在一个应用程序内部不要复制功能 6、确定应用程序组件的组成部分 7、组织不同类型的组件到各自的逻辑层 ... 阅读全文
posted @ 2012-02-12 19:40 万法自然~ 阅读(434) 评论(0) 推荐(0)
摘要:http是高层协议,而tcp/ip是个协议集,包过许多的子协议。包括:传输层的FTP,UDP,TCP协议等,网络层的ip协议等,高层协议如http,telnet协议等,http是tcp/ip的一个子协议。 具体解释如下:1 TCP/IP协议基础 TCP/IP协议包括两个子协议: 一个是TCP协议(Transmission Control Protocol,传输控制协议),另一个是IP协议(Internet Protocol,互联网协议),它起源于20世纪60年代末。 在TCP/IP协议中,TCP协议和IP协议各有分工。 TCP协议是IP协议的高层协议,TCP在IP之上提供了一个可靠... 阅读全文
posted @ 2012-01-06 20:16 万法自然~ 阅读(745) 评论(0) 推荐(0)
摘要:1、基本概念OSI是Open System Interconnect的缩写,意为开放式系统互联。国际标准组织(国际标准化组织)制定了OSI模型。这个模型把网络通信的工作分为7层,分别是物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。2、OSI 参考模型表格具体7层数据格式功能与连接方式典型设备应用层 Application网络服务与使用者应用程序间的一个接口网关表示层 Presentation数据表示、数据安全、数据压缩会话层 Session建立、管理和终止会话传输层 Transport数据组织成数据段Segment用一个寻址机制来标识一个特定的应用程序(端口号)网络层 Netwo 阅读全文
posted @ 2012-01-06 19:28 万法自然~ 阅读(397) 评论(0) 推荐(1)
摘要:Terracotta for Spring是基于Spring应用的运行时,它为Spring 应用提供了透明的高性能集群支持,对应用代码和部署及配置流程影响都很小。 它通过在应用下面的堆级别进行集群而不是直接集群应用。这使得在需要扩展的应用开始设计时不考虑集群,而在应用需要扩展或者要保证高可用性和故障恢复时,他们只需要在Terracotta 配置文件中定义哪些Spring应用上下文中的beans需要进行集群。 Terracotta for Spring 使得应用能够被自动和透明的集群,还保证在集群间的语义和单节点一样。从宏观上看,Terracotta for Spring提供了: HTTP .. 阅读全文
posted @ 2012-01-06 11:42 万法自然~ 阅读(653) 评论(1) 推荐(0)
摘要:可扩展性高可用性fail-over性能对已有代码的最小影响简单的部署和配置可见运行时(监控)来源:http://www.infoq.com/cn/articles/spring-web-flow-terracotta(用Spring Web Flow和Terracotta搭建Web应用 -> 企业对扩展性和高可用性的需求) 阅读全文
posted @ 2012-01-06 11:38 万法自然~ 阅读(128) 评论(0) 推荐(0)
摘要:架构演变第一步:物理分离WebServer和数据库架构演变第二步:增加页面缓存 选择采用squid等类似的机制来将系统中相对静态的页面进行缓存架构演变第三步:增加页面片段缓存 采用ESI来做动态页面中相对静态的片段部分的缓存架构演变第四步:数据缓存 缓存技术,包括像Map数据结构、缓存算法、所选用的框架本身的实现机制等。架构演变第五步: 增加WebServer 1、如何让访问分配到这两台机器上,这个时候通常会考虑的方案是Apache自带的负载均衡方案,或LVS这类的软件负载均衡方案; 2、如何保持状态信息的同步,例如用户session等,这个时候会考虑的方案有写入数据库、写... 阅读全文
posted @ 2012-01-04 17:42 万法自然~ 阅读(270) 评论(0) 推荐(0)