`
agevs
  • 浏览: 71169 次
  • 来自: 北京
博客专栏
924aba1e-229a-352e-b6d4-f15f3159a438
各种Web前端技巧经验分享...
浏览量:0
文章分类
社区版块
存档分类
最新评论

我的架构经验系列文章 - 后端架构 - 系统层面

阅读更多

系统层面:
高可用性

所谓高可用性也就是通过避免单独故障加上快速故障转移实现一旦某台物理服务器出现故障能实现故障快速恢复。一般来说,可以采用两种方式,如果可以做业务可以做负载均衡则通过负载均衡实现集群,然后针对每一台服务器进行监控,一旦发生故障则从集群中移除;如果业务只能有单点入口那么可以通过实现Standby机加上虚拟IP机制,实现Active机在出现故障之后虚拟IP转移到Standby的快速故障转移。一般可以使用KeepAlived或HeartBeat实现高可用(当然,硬件手段实现也可以,这里不展开讨论)。
 

高伸缩性

所谓高伸缩性也就是横向伸缩性,通过扩展机器数量而不是增加机器配置来实现系统处理能力的扩容。负载均衡就是典型的高伸缩性的架构,此外还可以把业务进行拆分由不同的服务器实现不同的业务也是一种伸缩性的方案。一般来说对于没有状态的Web服务比较容易实现负载均衡,而数据库层面,特别是数据库的写操作比较难以实现横向伸缩。一般可以使用LVS或HAPROXY实现负载均衡(当然,硬件手段实现也可以,这里不展开讨论)。

 

反向代理

对于网站前端一般会使用反向代理来为服务器实现缓存和负载均衡的工作。这个缓存不同数据缓存,是把用于输出的HTML或HTML片段进行内存或磁盘的缓存,以减少Web服务器的压力。一般可以使用SQUID或VARNISH实现反向代理。资源示例 
 

CDN

为了进一步增加网站页面的访问速度,可以为静态资源、图片甚至动态资源进行CDN。CDN供应商在全国的骨干节点都设有服务器,可以让全国各地的用户都可以高速访问到这些静态资源,当然静态资源第一次访问是需要通过我们的静态资源服务器的,之后就会在CDN的服务器上进行一段时间的缓存。CDN不但可以加速客户端的访问速度还可以减少服务器的压力。如果网站的页面又实现了CDN,又通过反向代理缓存,那么更新起来就会比较麻烦,因为这样的话可能会在客户端、CDN服务端以及反向代理端都有缓存,此时需要通过一些工具来判断到底是哪个环节有缓存。资源示例
 

操作系统参数

在拿到服务器之后,操作系统的配置可能是默认的,此时应该检查操作系统是否修改了诸如TCP连接数量、最大文件句柄数量等系统参数,避免因为操作系统的限制不能发挥程序的最佳性能。

 

服务器优化

不管是诸如Nginx或Apache的Web服务器还是诸如Tomcat或JBoss的Java服务器,都有一些参数设置,需要根据服务器的配置结合网上的一些最佳实践进行一些参数的修改,往往默认配置是不适合配置比较高的服务器的。比如,Java是一种基于垃圾回收的语言,过大的堆可能会导致垃圾回收的时间过长,因此往往会针对大内存的服务器配置多个32bit的JVM而不是统一使用一个64bit的JVM并分配16GB以上的内存给它。我们需要明白服务器中相关参数的意义,有理有据进行参数设置。
最后分享关于这个主题的一个小的精美组件:组件下载

分享到:
评论
4 楼 agevs 2014-07-28  
james_lover 写道
什么网站?地址是什么?

http://www.quickui.net 上面有我扣扣
3 楼 james_lover 2014-07-28  
什么网站?地址是什么?
2 楼 agevs 2014-07-28  
james_lover 写道
这里我提一个问题:由于没有具体的操作系统参数,appServer参数优化经验, 这些参数的优化是否是可复制的:极端一点,是否可以“一键优化”

这个不是一句话就能说完的,你可以从网站上加我扣扣,我们交流下
1 楼 james_lover 2014-07-28  
这里我提一个问题:由于没有具体的操作系统参数,appServer参数优化经验, 这些参数的优化是否是可复制的:极端一点,是否可以“一键优化”

相关推荐

    计算机-后端-基于CS架构的商品管理系统的研究与实现.pdf

    【标题】: "计算机-后端-基于CS架构的商品管理系统的研究与实现" 【描述】: 该文档讨论了基于客户端/服务器(Client/Server,CS)架构的商品管理系统的设计与实现,重点关注在信息化时代如何帮助企业提升管理效率和...

    计算机-后端-架构的教师档案管理系统设计与开发.pdf

    《教师档案管理系统设计与开发》是一份详细阐述计算机后端架构在教育领域应用的文档,主要探讨了如何构建一个高效、安全且易于管理的教师档案管理系统。系统设计中,不仅涵盖了数据仓库的设计分析,还涉及到了系统...

    计算机-后端-基于ARM架构的操纵器子系统的研究.pdf

    操纵器子系统是航空相机系统中的关键组成部分,允许飞机上的操作员通过一系列指令来控制操纵器,从而实现对整个航空相机主系统的全面控制和管理,并能实时接收反馈信息并在LCD屏幕上显示,确保与航空相机的通讯功能...

    计算机-后端-公钥密码的并行处理算法与架构研究.pdf

    总结来说,这篇文档深入探讨了公钥密码算法的并行处理技术,结合了理论算法、并行计算架构和硬件实现,旨在提升后端计算效率,保障无线通信的安全性和可靠性。通过并行化处理,不仅能够增强密码系统的安全性,还能...

    计算机-后端-模型驱动架构在HLA仿真系统中的应用研究.pdf

    高层面架构(HLA)是美国国防建模与仿真办公室(DMSO)提出的一种用于分布式仿真系统的设计基础,旨在促进不同模拟器之间的互操作性和重用性。HLA的基础理念是,没有一个单一的模拟器能满足所有需求和用户,因此,...

    计算机-后端-PCC架构下分层内容计费的研究与应用.pdf

    通过对这些层次的结构特性的深入分析,可以更好地理解如何在每个层面上实施计费策略,以满足不同用户的个性化需求。 PCC架构是实现计费策略和控制的关键。它允许网络运营商灵活地定义和执行计费政策,以适应不断...

    计算机-后端-基于J2EE架构的SSH组合框架的研究.pdf

    总结来说,这篇论文详细探讨了基于J2EE架构的SSH组合框架,分析了其设计思想、技术特点以及在实际应用中的优势,为Java后端开发提供了有价值的理论指导和技术支持。通过SSH框架,开发者可以更加高效地构建可扩展、易...

    计算机-后端-基于企业架构的数字博物馆参考模型构建研究.pdf

    企业架构是指对企业的业务流程、组织结构、技术架构等进行设计和规划,以提高企业的效率和效益。在数字博物馆建设中,企业架构可以用于规划和设计数字博物馆的总体架构、业务架构、应用架构、数据架构和信息技术架构...

    计算机-后端-基于RIA+REST架构的房产管理WebGIS平台研究.pdf

    1. REST风格的Web服务系统:该系统提供了房产管理WebGIS的REST风格的Web服务接口,包括业务数据服务、地图服务和地理处理服务,实现了房产数据的共享和交互。 2. 基于RIA的数据Mashup机制:该机制能够将相关数据源...

    计算机-后端-基于SOC架构的可测试性设计策略的研究.pdf

    本篇内容将深入探讨基于SOC架构的可测试性设计策略,包括基本测试结构、测试访问机制(TAM)设计以及测试调度等关键方面。 #### 基本测试结构 在SOC设计中,IP核心(Intellectual Property Core)被嵌入到芯片内部,...

    阿里后端技术分享 大型系统架构优化与设计-天猫后端技术架构优化实践 共28页.pdf

    总的来说,天猫后端技术架构的优化实践是一系列深度技术探索和实践经验的结晶,涵盖了系统设计、性能优化、并发处理等多个关键领域,为大型电商系统的稳定运行提供了有力的技术保障。这些经验对于其他大型系统的设计...

    毕业设计-基于uni-app的学科竞赛系统小程序-后端.zip

    总的来说,这个项目涵盖了前端开发、后端开发、数据库设计、安全策略、系统架构等多个方面,对于学习和实践全栈开发具有很高的价值。通过深入研究和实践,你可以提升自己的综合技术能力,并对整个软件开发流程有更...

    第一节课,用户管理-后端测试通过

    在IT行业中,用户管理是系统开发中的核心部分,特别是在后端测试阶段,确保用户管理功能的完善性至关重要。本节课程我们将聚焦“第一节课,用户管理-后端测试通过”,主要涉及Java编程语言的实现。Java作为广泛使用...

    NothingLeft:一个基于GTD的时间管理应用平台。NothingLeft经典系统-后端.zip

    本篇文章将深入探讨NothingLeft经典系统后端的实现,涉及的技术栈包括Web系统开发、数据库管理和服务器端编程。 首先,Web系统开发是NothingLeft平台的基础。在这个项目中,前端和后端的分离是关键,前端主要负责...

    JAVA后端架构师.pdf

    JAVA后端架构师是指具有深入理解操作系统、网络、并发等技术底层知识的高级技术专家。他们能够熟练应对常见的并发编程问题,掌握至少一个常见中间件的源码,能够运用设计模式、OOA/D进行软件设计,并在微服务层面...

    Poke-Battlez-后端

    以上是Poke-Battlez-后端项目的核心知识点,涵盖了从基础架构到具体实现的多个层面,体现了Java在现代Web开发中的重要地位。通过深入理解和实践这些技术,开发者能够构建出功能丰富、性能优秀的在线对战游戏平台。

    TeamWork-后端API

    在数据库层面,可能使用了MongoDB或者PostgreSQL这样的NoSQL或SQL数据库系统。对于社交网络类应用,MongoDB因其灵活的数据模型和强大的文档处理能力而常见,适合存储用户信息、动态、评论等非结构化数据。而...

    WX-CMS-API:Java CMS后端管理系统-后端api开发

    【WX-CMS-API: Java CMS后端管理系统-后端API开发】 在当今互联网时代,内容管理系统(CMS)已经成为企业及个人网站管理的重要工具。WX-CMS-API 是一个基于Java技术开发的后台管理系统,专为后端API开发设计,提供...

    三次架构典范项目-图书管理系统

    三次架构,也称为三层架构,是软件工程中常见的设计模式,将应用程序分为三个逻辑层面:表现层(Presentation Layer)、业务逻辑层(Business Logic Layer)和数据访问层(Data Access Layer)。这种架构有助于分离...

Global site tag (gtag.js) - Google Analytics