当前位置: 首页 > news >正文

网站权重7怎么做网站建设所需材料

网站权重7怎么做,网站建设所需材料,网站开发软件要求,自己做网站百度能收录码背景 所谓高可用性指的是系统如何保证比较高的服务可用率#xff0c;在出现故障时如何应对#xff0c;包括及时发现、故障转移、尽快从故障中恢复等等。本文主要以点评的交易系统的演进为主来描述如何做到高可用#xff0c;并结合了一些自己的经验。需要强调的是#xff0c… 背景 所谓高可用性指的是系统如何保证比较高的服务可用率在出现故障时如何应对包括及时发现、故障转移、尽快从故障中恢复等等。本文主要以点评的交易系统的演进为主来描述如何做到高可用并结合了一些自己的经验。需要强调的是高可用性只是一个结果应该更多地关注迭代过程关注业务发展。 理解目标 业界高可用的目标是几个9对于每一个系统要求是不一样的。研发人员对所设计或者开发的系统要知道用户规模及使用场景知道可用性的目标。 比如5个9的目标对应的是全年故障5分钟。 拆解目标 几个9的目标比较抽象需要对目标进行合理的分解可以分解成如下两个子目标。 频率要低减少出故障的次数 不出问题一定是高可用的但这是不可能的。系统越大、越复杂只能尽量避免问题通过系统设计、流程机制来减少出问题的概率。但如果经常出问题后面恢复再快也是没有用的。 时间要快缩短故障的恢复时间 故障出现时不是解决或者定位到具体问题而是快速恢复是第一要务的防止次生灾害问题扩大。这里就要求要站在业务角度思考而不仅是技术角度思考。 下面我们就按这两个子目标来分别阐述。 设计根据业务变化不断进行迭代 以点评交易系统的演进过程为例。 幼儿时期2012年前 使命满足业务要求快速上线。 因为2011年要快速地把团购产品推向市场临时从各个团队抽取的人才大部分对.NET更熟悉所以使用.NET进行了第一代的团购系统设计。毕竟满足业务要求是第一的还没有机会遇到可用性等质量问题。考虑比较简单即使都挂了量也比较小出现问题重启、扩容、回滚就解决问题了。 系统架构如下图所示。 少年时期垂直拆分2012-2013 使命研发效率故障隔离。 当2012年在团单量从千到万量级变化用户每日的下单量也到了万级时候需要考虑的是迭代速度、研发效率。垂直拆分有助于保持小而美的团队研发效率才能更高。另外一方面也需要将各个业务相互隔离比如商品首页的展示、商品详情页的展示订单、支付流程的稳定性要求不一样。前面可以缓存可以做静态化来保证可用性提供一些柔性体验。后面支付系统做异地容灾比如我们除了南汇机房支付系统在宝山机房也部署了只是后来发现这个系统演进太快没有工具和机制保证双机房更新所以后来也不好使用了。 系统演进如下图所示。服务垂直化了但是数据没有完整隔离开服务之间还需要互相访问非自己的数据。 青年时期服务做小不共享数据2014-2015 使命支撑业务快速发展提供高效、高可用的技术能力。 从2013年开始Dealservice 商品系统偶尔会因为某一次大流量大促或者常规活动而挂掉每几个月总有那么一次基本上可用性就在3个9徘徊。这里订单和支付系统很稳定因为流量在商品详情页到订单有一个转化率流量大了详情页就挂了订单也就没有流量了。后来详情页的静态化比较好了能减少恢复的速度能降级但是Deal-service的各个系统依赖太深了还是不能保证整体端到端的可用性。 所以2014年对Deal-service做了很大的重构大系统做小把商品详情系统拆成了无数小服务比如库存服务、价格服务、基础数据服务等等。这下商品详情页的问题解决了后面压力就来了订单系统的压力增大。2014年10月起订单系统、支付系统也启动了全面微服务化经过大约1年的实践订单系统、促销系统、支付系统这3个领域后面的服务总和都快上百个了后面对应的数据库20多个这样能支撑到每日订单量百万级。 业务的增长在应用服务层面是可以扩容的但是最大的单点——数据库是集中式的这个阶段我们主要是把应用的数据访问在读写上分离数据库提供更多的从库来解决读的问题但是写入仍然是最大的瓶颈MySQL的读可以扩展而写入QPS也就小2万。 这时系统演变成如下图所示。这个架构大约能支撑QPS 3000左右的订单量。 成年时期水平拆分2015至今 使命系统要能支撑大规模的促销活动订单系统能支撑每秒几万的QPS每日上千万的订单量。 2015年的917吃货节流量最高峰如果我们仍然是前面的技术架构必然会挂掉。所以在917这个大促的前几个月我们就在订单系统进行了架构升级和水平拆分核心就是解决数据单点把订单表拆分成了1024张表分布在32个数据库每个库32张表。这样在可见的未来都不用太担心了。 虽然数据层的问题解决了但是我们还是有些单点比如我们用的消息队列、网络、机房等。举几个我过去曾经遇到的不容易碰到的可用性问题 服务的网卡有一个坏了没有被监测到后来发现另一个网卡也坏了这样服务就挂了。 我们使用 cache的时候发现可用性在高峰期非常低后来发现这个cache服务器跟公司监控系统CAT服务器在一个机柜高峰期的流量被CAT占了一大半业务的网络流量不够了。 917大促的时候我们对消息队列这个依赖的通道能力评估出现了偏差也没有备份方案所以造成了一小部分的延迟。 这个时期系统演进为下图这样 未来思路仍然是大系统做小基础通道做大流量分块 大系统做小就是把复杂系统拆成单一职责系统并从单机、主备、集群、异地等架构方向扩展。 基础通道做大就是把基础通信框架、带宽等高速路做大。 流量分块就是把用户流量按照某种模型拆分让他们聚合在某一个服务集群完成闭环解决。 系统可能会演进为下图这样 上面点评交易系统的发展几个阶段只以业务系统的演进为例。除了这些还有CDN、DNS、网络、机房等各个时期遇到的不同的可用性问题真实遇到过的就有联通的网络挂了需要切换到电信数据库的电源被人踢掉了等等。 易运营 高可用性的系统一定是可运营的。听到运营大家更多想到的是产品运营其实技术也有运营——线上的质量、流程的运营比如整个系统上线后是否方便切换流量是否方便开关是否方便扩展。这里有几个基本要求 可限流 线上的流量永远有想不到的情况在这种情况下系统的稳定吞吐能力就非常重要了高并发的系统一般采取的策略是快速失败机制比如系统QPS能支撑5000但是1万的流量过来我能保证持续的5000其他5000我快速失败这样很快1万的流量就被消化掉了。比如917的支付系统就是采取了流量限制如果超过某一个流量峰值我们就自动返回“请稍后再试”等。 无状态 应用系统要完全无状态运维才能随便扩容、分配流量。 降级能力 降级能力是跟产品一起来看的需要看降级后对用户体验的影响。简单的比如提示语是什么。比如支付渠道如果支付宝渠道挂了我们挂了50% 支付宝旁边会自动出现一个提示表示这个渠道可能不稳定但是可以点击当支付宝渠道挂了100% 我们的按钮变成灰色的不能点击但也会有提示比如换其他支付渠道刚刚微信支付还挂了就又起作用了。另一个案例我们在917大促的时候对某些依赖方比如诚信的校验这种如果判断比较耗资源又可控的情况下可以通过开关直接关闭或者启用。 可测试 无论架构多么完美验证这一步必不可少系统的可测试性就非常重要。 测试的目的要先预估流量的大小比如某次大促要跟产品、运营讨论流量的来源、活动的力度每一张页面的每一个按钮的位置都要进行较准确的预估。 此外还要测试集群的能力。有很多同学在实施的时候总喜欢测试单台然后水平放大给一个结论但这不是很准确要分析所有的流量在系统间流转时候的比例。尤其对流量模型的测试要注意高峰流量模型跟平常流量模型可能不一致系统架构的容量测试比如我们某一次大促的测试方法 从上到下评估流量从下至上评估能力发现一次订单提交有20次数据库访问读写比例高峰期是1:1然后就跟进数据库的能力倒推系统应该放入的流量然后做好前端的异步下单让整个流量平缓地下放到数据库。 严格的发布流程 目前点评的发布都是开发自己负责通过平台自己完成的。上线的流程发布的常规流程模板如下 灰度机制 服务器发布是分批的按照10%、30%、50%、100%的发布开发人员通过观察监控系统的曲线及系统的日志确定业务是否正常。 线上的流量灰度机制重要功能上线能有按照某种流量灰度上线能力。 可回滚是标配最好有最坏情况的预案。 如果目标就要保证全年不出故障或者出了故障在5分钟之内能解决要对5分钟进行充分的使用。5分钟应该这样拆解1分钟发现故障3分钟定位故障出现在哪个服务再加上后面的恢复时间。就是整个时间的分解目前我们系统大致能做到前面2步离整体5个9的目标还有差距因为恢复的速度跟架构的设计信息在开发、运维、DBA之间的沟通速度及工具能力及处理问题人员的本身能力有关。 生命值 持续关注线上运行情况 熟悉并感知系统变化要快就要熟熟能生巧所以要关注线上运营情况。 了解应用所在的网络、服务器性能、存储、数据库等系统指标。 能监控应用的执行状态熟悉应用自己的QPS、响应时间、可用性指标并对依赖的上下游的流量情况同样熟悉。 保证系统稳定吞吐 系统如果能做好流量控制、容错保证稳定的吞吐能保证大部分场景的可用也能很快地消化高峰流量避免出现故障产生流量的多次高峰。 故障时 快速的发现机制 告警的移动化 系统可用性的告警应该全部用微信、短信这种能保证找到人的通信机制。 告警的实时化 目前我们只能做到1分钟左右告警。 监控的可视化 我们系统目前的要求是1分钟发现故障3分钟定位故障。这就需要做好监控的可视化在所有关键service里面的方法层面打点然后做成监控曲线不然3分钟定位到具体是哪个地方出问题比较困难。点评的监控系统CAT能很好的提供这些指标变化我们系统在这些基础上也做了一些更实时的能力比如订单系统QPS就是秒级的监控曲线。 有效的恢复机制 比如运维的四板斧回滚、重启、扩容、下服务器。在系统不是很复杂、流量不是很高的情况下这能解决问题但大流量的时候就很难了所以要更多地从流量控制、降级体验方面下功夫。 珍惜每次真实高峰流量建立高峰期流量模型。 因为平常的压力测试很难覆盖到各种情况而线上的真实流量能如实地反映出系统的瓶颈能较真实地评估出应用、数据库等在高峰期的表现。 珍惜每次线上故障复盘上一层楼看问题下一层楼解决问题。 线上出问题后要有一套方法论来分析比如常见的“5W”连续多问几个为什么然后系统思考解决方案再逐渐落地。 可用性不只是技术问题。 系统初期以开发为主 系统中期开发DBA运维为主 系统后期技术产品运维DBA。 系统较简单、量较小时开发同学能比较容易地定位问题并较容易解决问题。 当系统进入较复杂的中期时就需要跟运维、数据库的同学一起来看系统的瓶颈。 当系统进入复杂的后期时系统在任何时候都要考虑不可用的时候如何提供柔性体验这就需要从产品角度来思考。 单点和发布是可用性最大的敌人。 可用性要解决的核心问题就是单点比如常见的手段垂直拆分、水平拆分、灰度发布单机到主备、集群、异地容灾等等。 另外系统发布也是引起系统故障的关键点比如常见的系统发布、数据库维护等其他引起系统结构变化的操作。
http://www.pierceye.com/news/867213/

相关文章:

  • 专门做摩托车的网站注册域名阿里云
  • 做个简单的网站建站公司费用
  • 网站建设举措网站免费建站方法
  • 遵义市双控体系建设网站wamp wordpress安装
  • 厦门的网站建设公司龙岗网站-建设深圳信科
  • 上海网站建设q.479185700強成都上界品牌设计事务所
  • 产品设计优秀网站做网站申请多少类商标
  • 中国行业网站贵州网站建设seo优化
  • 网站部兼容ie6没有防盗链的网站
  • google网站推广网站自助平台
  • 外贸自建站多久能出单wordpress的pdf阅读
  • 深圳东莞的网站建设公司网店代运营哪里好
  • 做费网站wordpress折叠代码
  • 分析海报的网站企业网站服务费怎么做记账凭证
  • 海南建设大厅网站888网创
  • aspnet网站开发实例项目河南网站建设推广
  • ppt免费模板大全网站微网站建设网站
  • 郑州网站建设七彩科技网络服务器配置设计
  • 专业企专业企业网站设计洛阳青峰网络
  • 网站开发需要多少钱如何销售管理系统需求分析
  • 西安网站建设查派9861云南网站建设
  • 做微商网站制作网站曝光率
  • 平价网站平价网站建设建设百度电话号码
  • 有哪些做拎包入住的网站中国建设银行网站会员用户名
  • 用模板搭建的网站备案吗wordpress热门文章调用
  • 有哪些电商网站中山视角做网站的公司
  • 做网站 点击跳转html菜鸟教程下载
  • 苏州做公司网站设计的公司嘉盛建设集团官方网站
  • 建设银行e路护航官方网站登陆医疗网站做药品是干嘛
  • 十堰h5响应式网站西安网站制作厂家