zoukankan      html  css  js  c++  java
  • 《大型网站技术架构:核心原理与案例分析》----读后感

    第五章的阅读可以得到网站构成中可用性的重要程度,同时可用性能够达到5个9或者是4个9是一件非常困难的事情,如果遇到故障责任需要开发人员或者是团队去摊分故障分,目前可用性已经是最让人头疼的问题了。为了提高软件的可用性,公司可以采用昂贵的硬件设备,能够保证在使用的时候出现故障还能够进行数据库信息操作,一个典型的网站分为三层,应用层,服务层,还有数据层,每一层具有很大的独立性,应用层主要负责具体业务的逻辑处理,服务层主要负责可复用的服务,数据层负责的是是数据的存储和访问。中小型的是将服务层和应用层部署在一起的,数据层另外部署,在我们搭建河北省重大需求的时候,我们是将软件三个层次分开进行的,也就是MVC模式,能够将三个层次分开部署。大型的网站还能够将不同的业务产品分别部署在不同的服务器集群上面。而我们在搭建重大需求的时候也是将这些不同的,如登录注册,填报信息这样的业务进行分别部署,通过负载均衡进行无状态服务的失效转移,当一台服务器没有办法承受负载压力的时候,不过这需要服务器的支持,我在编写河北省重大需求征集系统的时候完全没有注意这些细节问题。提供高可用的服务,可以有以下三点 1.分级管理,能够价格每一个服务进行优先级的分割。2.超时设置,如果在宕机或者是线程死锁发生的时候,能够通过调用的超市时间,一旦超时,通过通信框架抛出异常,进行重试或者请求转移到其他服务器。3.异步调用,应用对服务的掉哦那个通过消息队列等异步方式完成那个,避免一个服务失败导致整个应用请求失败的情况。4.服务降级,大量的并发调用,性能会急剧下降,有两种手段可以进行将及服务,一个是拒绝服务,一个是关闭服务,拒绝服务是将优先级低的应用拒绝,减少并发数,关闭服务是关闭不中要的功能。5,幂等设计,又可能在调用服务失败后,会请求重新发送到其他服务器,但是可能遇到虚假的失败,如果发生在转账操作,那么就会很严重。因此必须在服务层保证服务重复调用和调用一次产生的结果相同,也就是服务具有幂等性。 第6章讲述的是网站架构的伸缩性设计,大致可以分为两类,一类是根据功能进行物理分离实现伸缩,一种是单一功能通过集群实现伸缩。前者是不同的服务器部署不同的服务,提供不同的功能。后者是集群内的多台服务器部署相同的服务,提供相同的功能。说句真的,在我搭建河北省重大需求的时候根本就没有管这么多,只是实现了功能呢个,而已。老师啊,为啥非要让我们结合那个系统说明啊,明明该结合的就没有啊。一个具有良好伸缩性架构设计的网站,其设计总是走在业务发展的前面的,在业务需要处理更多访问和服务之前,就已经做好充足准备,当业务需要时,只需要够吗或者租用服务器简单部署设施就行了,技术团队亦可高枕无忧,反之,设计和技术走在业务的后面,采集来的及其根本没办法加入集群,勉强加了禁区,却发现瓶颈不在这里,系统整体处理能力依然上不去。架构师对网站伸缩性的把握。显现之间,天堂和地狱。第七章讲述的是网站的可扩展架构。扩展性:指对现有系统影响最小的情况下,系统功能呢个可持续扩展或提升的能力,表现在系统基础设施稳定不需要经常变更,应用之间较少依赖和耦合,对无求变更可以敏捷相应,他是系统架构设计层面的开闭原则,架构设计考虑未来功能呢个扩展,当系统增加新功能的时候,不需要对现有系统的结构和代码进行修改。在编写河北省重大需求的时候,可以做到的就是扩展性,在你需要去编写的新功能的时候不需要去修改原来的代码,每一个功能都会封装在一个包里,但是如果加入新的变量还需要进行修改,可能还不够符合开闭原则吧。
  • 相关阅读:
    iframe设置背景透明
    苹果新版QuickTime X启用新图标
    css命名规则
    视觉设计前瞻实用性研究(PNVD) 第二期
    Tab(选项卡)的产品设计原则及应用 [1]
    WiFi热点认证
    自画表格,微软报表,水晶报表初用初分析.
    Winform 打印类重温
    Winform 打印DataGrid View
    Winform 常用的.记住免得以后到处找.
  • 原文地址:https://www.cnblogs.com/shenghuizhang/p/8631446.html
Copyright © 2011-2022 走看看