首页 > 大型网站自动化建设解决方案 >

大型网站自动化建设解决方案

发布时间:2018-10-20 作者:博纳网络

网站建设自动化的意义
  在无人值守的隋况下网站可以正常运行,一切都可以自动化是网站的理想状态。目前大型问站的自动化架构设计主要集中在发布运维方面
  发布对网站都是头等大事许多网站故障出在发布环节,网站工程师经常加班也是因为发布不顺利。通过减少人为干预使发布过程自动化可有效减少故障。发布过程包括诸多环节。自动纯代码管理,代码版本控制、代码分支创建合并等过程自动化开发工程师只要提交自己参与开发的产品代号,系统就会自动为其创建开发分支,后期会自动进行代码合并;自动纯测试,代码开发完成提交;则试后,系统自动将代码部署到测试环境,启动自动化测试用侧进行测试向相关人员发送测试报告,同系统反馈测试结果;自动纯安全检测,安全检测工具通过对代
码进行静态安全扫描及部署到安全;则试环境进行安全攻击测试,评估其安全性;最后进行自动纯部署,将工程代码自动部署到线上生产环境。
  此外,网站在运行过程中可能会遇到各种问题:服务器宕机、程序Bug、存储空间不足、突然爆发的访问高峰。网站需要对线上生产环境进行自动化监控,对服务器进行心跳检测,并监控其各项性能指标和应用程序的关键数据指标。如果发现异常、超出预设的阀值,就进行自动化报警.向相关人员发送报警信息,警告故障可能会发生。在检测到故障发生后,系统会进行自动优先效转移,将失效的服务器从集群中隔离出去,不再处理系统中的应用请求。待故障消除后,系统进行自动化失效恢复,重新启动服务,同步数据保证数据的敛眭。在网站遇到访问高峰,超出网站最大处理能力时,为了保证整个网站的安全可用,还会进行自动化降级,通过拒绝部分请求硬关闭部分不重要的服务将系统负载降至一个全的水平,必要时,还需要自动化分配资源,将空闲资源分配给重要的服务,扩大其部署规模。
网站建设自动化之安全
  互联网的开放特日使得其从诞生起就面对巨大的安全挑战,网站在安全架构方面也积累了许多模式:通过密码和手机校验码进行身份认证;登录、交易等操作需要对网络通信进行加密,硎站服务器上存储的敏感数据如用户信息等电进行加密处理;为了防止机器人程序滥用网络资源攻击网站,网站使用验证码进行识别;对于常见的用于攻击网站的xss攻击、SQL注入、进行编码转换等相应处理;对于垃圾信息、敏感信息进行过滤;对交易转账等重要操作根据交易模式和交易信息进行风险控制。
网站制动化建设架构模式在新浪微博的应用(案例)
  短短几年时间新浪做博的用户数就从零增长到数亿,明星用户的粉丝数达数千万,围绕着新浪微博正在发展个集社交、媒体、游戏、电商等多位体的生态系统。
  同大多数网站样,新浪微博也是从一个小网站发展起来的。简单的LAMP( Linux+Apache+MvSQL -l-PHP)架构,支撑起最初的新浪做博应用程序用PHP开发,所有的数据,包括微博、用户、关系部存储在MySQL数据库中。
  这样简单的架构无法支撑新浪微博快速发展的业务需求,随着访问用户的逐渐增加,系统不堪重负。新浪做博的架构在较短时间内几经重构,最后形成现在的架构,如图2.1所示。
        网站建设自动化效果分布图2.1新浪微博的系统架构
    (图片来源:http://timyang net/architecture/weibo/)
  系统分为三个层次,最下层是基础服务层,提供数据库、缓存、存储、搜索等数据服务,以及其他些基础技术服务,这些服务支撑了新浪微博的海量数据和高并发访问,是整个系统均技术基础
  中间层是平台服务和应用服务层,新浪做博的核心服务是微博、关系和用户,它们是新浪做博业务大厦的支柱。这些服务被分割为独立的服务模块,通过依赖调用和共享基础数据构成新浪微博的业务基础。
  最上层是API和新浪微博的业务层,各种客户端(包括Web网站)和第三方应用,通过阔用API集成到新浪微博的系统中,共同组成个生态系统。
  这些被分层和分割后的业务模块与基础技术模块分布式部署,每个模块都部署在组独立的服务器集群上,通过远程调用的方式进行依赖访问。新浪做博在早期还使用过种叫作MPSS(MultiPort Single Server,单服务器多端口)的分布式集群部署方案,在集群中的多台服务器上,每台都部署多个服务,每个服务使用不同的端口对外提供服务,通过这种方式使得有限的服务器可以部署更多的服务实例,改善服务的负载均衡和可用性。现在问站应用中常见的将物理机虚拟化成多个虚拟机后,在虚拟机上部署应用的方案跟新浪微博的MPSS方案异曲同工,只是更加简单,还能在不同虚拟机上使用相同的端口号。
  在新浪微博的早期架构中,微博发布使用同步推模式,用户发表微博后系统会立即特这条微博插入到数据库所有粉丝的订司列表中,当用户量比较大时,特别是明星用户发布微博时,会引起大量的数据库写操作,超出数据库负载,系统性能急剧下降,用户响应延迟加剧。后来新浪微博改用异步推拉结合的模式,用户发表微博后系统将微博写入消息队列后立即返回,用户响应迅速,消息队列消费者任务将微博推送给所有当前在线粉丝的订司列表中,非在线用户登录后再根据关注列表拉取微博订司列表。
  由于微博频繁刷新,新浪微博使用多级缓存策略,热门微博和明星用户的微博缓存在所有的微博服务器上,在线用户的微博和近期微博缓存在分布式缓存集群中,对于微博操作中最常见的“刷微博”操作,几乎全部都是缓存访问操作,可以获得很好的系统性能。
  为了提高系统的整体可用性和性能,新浪微博启用了多个数据中心。这些数据中心既是地区用户访问中心,用户可以就近访问最近的数据中心以加快访问速度,改善系统性能;同时也是数据冗余复制的灭备中心,所有的用户和微博数据通过远程消息系统在不同的数据中心之间同步,提高系统可用性。
  同时,新浪敞博还开发了系列自动化工具,包括自动化监控,自动化发布,自动化故障修复等,这些自动化工具还在持续开发中,以改善运维水平提高系统可用性。
  由于微博的开放特性,新浪微博也遇到了一系列的安全挑战,垃圾内容、僵尸粉、微博攻击从未停止,除了使用一般网站常见的安全策略新浪微博在开放平台上使用多级重全审核的策略以保护系统和用户。
深圳网站建设公司小结
  在程序设计与架构设计领域,模式正变得越来越受人关注,许多人寄希望通过模式一劳永逸地解决自己的问题。正确使用模式可以更好地利用业界和前人的思想与实践,用更少的时间开发出更好的系统使设计者的水平也达到更高的境界。但是模式受其适用场景限制,对系统的要求和约束也很多,不恰当地使用模式只会画虎不成反类犬,不但没有解决原来的老问题,反而带来了更棘手的新问题。
  好的设计绝对不是模仿,不是生搬硬套某一个模式,而是对问题深刻理解之上的创造与创新,即使是“微创新”,也是让人耳目一新的似曾相识。山寨与创新的最大区别不在于是否抄袭,是否模仿,而在于对问题和需求是否真正理解与把握。深圳网站建设公司-博纳网络关于大型网站自动化建设以及安全的解决方案就到这里,如果您有这方面的计划,需要更为详细的网站建设方案,联系我们在线客服,为您提供专业详实的文档方案。
文章标题:大型网站自动化建设解决方案
本文地址:https://www.198bona.com/solution/?id=565
如果您觉得案例还不错请帮忙分享:

网站建设

网络推广

解决方案

域名主机