由某CDN故障引发的思考2:业务方如何应对那些坑爹的第三方故障 推荐 原创 双鱼座小龙 2014-06-05 10:27:31 博主文章分类:Linux ©著作权 文章标签 第三方服务 高可用 文章分类 代码人生 ©著作权归作者所有:来自51CTO博客作者双鱼座小龙的原创作品,请联系作者获取转载授权,否则将追究法律责任 大部分公司的业务规模应该还没有达到所有服务都能够自给自足的程度,而且就算是BAT这些巨头们,很多服务也完全没有必要所有东西都自己做,一是效率问题,二是成本问题。喜欢喝牛奶未必就要自己养头奶牛,所以大部分公司的业务或多或少都会依赖一些第三方公司的服务,尤其是需要和第三方合作的业务,这种依赖就比较普遍,与业务的关联度也比较大了。 CDN服务算是第三方服务的一种,还有很多其他服务,比如短信发送服务,声讯服务,关键词过滤服务,第三方合作数据接口,酒店ota服务,运营数据统计服务,DNS解析服务 ,安全防范平台服务等。如果要给这些第三方服务分个类的话可以将其分为三大类:基础类,比如CDN服务,DNS解析,安全防范服务,这一类第三方服务属于基础服务,与具体的业务没有关系,也不直接与用户产生关联,但是一旦基础服务出现异常往往会导致整个业务完全不可用;业务类,比如酒店ota服务,短信发送服务,,声讯服务,第三方数据合作接口(比如点评信息的引用,第三方登录),业务类的服务会与业务紧密联系在一起,必要的时候还是会业务密不可分的一部分,这一类服务出现异常,只会导致部分业务功能异常或者逻辑异常,将此类异常做好降级工作,业务的其余功能理论上是不受影响,继续能够为用户提供服务的;第三类服务,运营辅助类服务,其实也可以归为基础类,但是第三类服务的重要性对于大部分网站远远没有其他基础类服务的重要性高,一旦出现异常顶多是运营数据的异常,对于用户而言,这部分的异常是无感知的。很多公司在能力所及的范围下都会将这一部分作为自身的运营工具来开发,对于一些业务规模还比较小的网站而言,这部分还是需要依赖一些专业的第三方数据运营平台的,比如GA,站长工具,还有一些点击统计的工具。 在实际的工作场景中,想必大家多数人和我一样,多多少少都会遇到这三类服务中某些或者全部服务出现过异常从而影响到自身业务的可用性。 对此,我们也想过很多方法来规避这些第三方服务发生故障时对我们的业务造成不必要的影响,很多时候,对于基础或者非常重要的服务,要做好备份,容错,降级等准备工作,而且要定期对这些异常备用方案进行演练,切实验证这些准备工作的可用性以及切换效率,避免出现关键时刻准备工作完全不起作用的情况。 针对基础类的第三方服务,我们应该从系统架构着手去支持服务的冗余与高可用,尽量将基础类的服务冗余散列在多个服务商处,就算是其中部分的服务商出现问题,我们也可以及时屏蔽掉这些有问题的服务,从而有效的保证业务的高可用。同时,最好相应基础服务的监控也是非常有必要的,因为基础服务一旦出问题,对整个业务的影响那是非常严重的,基础服务与业务的关系更像冰面上行走的人,一旦冰面破了,人就会掉到冰窟里面去了。比如DNS解析异常,那就会导致用户完全无法访问我们的站点,当然也就无法完成其他业务的处理了;CDN服务出现异常,那放在CDN服务上的静态文件,影音文件无法正常访问的话,就会导致用户看不到正常的内容或者无法完成相关的交互操作,比如登录,比如购买,整个业务站点基本上就处于全部瘫痪状态了。基础服务很多后尾效应比较严重,比如DNS服务出现异常后,我们自身是切换到正常的服务方了,但是有可能局部地区的DNS会很长时间出现异常;比如CDN服务异常,很多时候这些异常会被用户或者一些小的运营商的内部代理服务器缓存掉。及时发现,处理基础服务的异常,就是给我们的业务争取可用的时间。 针对业务类的第三方服务,我们应该从业务设计出发,去掉强依赖,做好服务的降级和容错,以便当部分第三方服务异常的时候可以保证业务的其他部分是可用的。业务类第三方服务往往存在着类似“握手”的关系,所以很少能够做备份冗余的工作,而且这种备份冗余也最好是第三方服务来做的,对于业务方而言,出现握手失败的话就只能自己处理相关异常并做适当的降级,做到异常部分功能隐藏,同时其他部分的功能不受异常影响能够继续为用户提供服务。 针对运营辅助类的第三方服务,我们首要要做的是,不要让这类异常影响到任何业务功能,同时不要让用户感知到。对于运营工具服务的异常,完全可以临时将此类服务关闭,相关数据可以用过往的数据进行填充,毕竟运营数据一时的异常不会对长远的运营工作造成任何大的影响,但是如果影响到业务的可用性就得不偿失了。 尽量找靠谱,质量有保证的第三方服务提供商,成本不是这么省的,有的时候为了节省成本而选择了一家质量无保证的服务商最后损失的也许比我们节省的要多得多。 第三方服务商的责任心与沟通渠道也很重要,需要我们关注的,除了服务商服务质量保证外,我们也需要关注服务商的责任心,出问题后是否会主动,及时通知以及迅速降低第三方服务异常对客户造成的影响。另外,沟通渠道是否顺畅,客服与技术人员是否可以及时有效处理用户的问题也是非常重要的。服务商的改进是不是灵活可变的,对于客户提出的需求,能否尽可能地去实现,很多第三方服务商要么需要花钱定制,要么直接告诉你我们系统就是这个样子的,没的改,虽然他也知道自己系统存在着诸多的不合理之处。 不要把鸡蛋放在一个篮子里,对于大多数的网站,如果成本压力不是很大的话,非常建议不要把所有的服务放在一家服务商身上,必要的时候要做好冗余备份,而且尽可能的在平时就利用其这些备份措施,以保证其可用性。 赞 收藏 评论 分享 举报 上一篇:由某CDN故障引发的思考:不容忽视的CDN服务容灾与快速切换 下一篇:闲谈高可用与负载均衡 提问和评论都可以,用心的回复会被更多人看到 评论 发布评论 全部评论 () 最热 最新 相关文章 第三方应用如何获取WPS端内文档 在项目开发中碰到这种情况,我们需要利用WPS的文档管理能力,比如需要调用WPS的文件选择器,来选择文档,同时需要得到WPS选择的文档结果返回给我们的应用 选择器 初始化 API Web应用接入OAuth2(第三方授权登录) 项目又要接入 Google\Apple\Facebook 三方授权登录的需求,做的时候发现交互细节的修改,文档藏的比较深,所以整理汇总了下文档资料,方便后面给团队同事参考用。 客户端 Apple 重定向 记录利用泛型实现第三方接口数据快速对接 泛型,第三方接口数据同步 数据 List json 坑爹的微信第三方登录 经过研究了一些网站和互动吧关于微信登录的实现微信登录如果是网页版,需要微信认证,但只能二维码形式扫描登录,这时认证300大洋飞了然而在微信浏览器打开的授权页面是一键登录,看了所有资料文档并测试后发现原来是微信公众号的作用,然后接口地址参数完全一样,唯独appid与网站不同,于是乎还要做微信公众号认证... 微信公众号 微信 微信登录 二维码 资料文档 第三方 q 第三方支付java 第三方支付的概念 第三方支付是指通过一个中介机构,使得交易双方能够进行在线支付的方式。这种支付方式的出现,为消费者和商家提供了一种便捷、安全的支付方式,逐渐成为现代支付领域的重要一环。以下是第三方支付发展历程的简要介绍:早期的第三方支付:1990年代初期,互联网出现并开始普及,第一批在线商家开始接受信用卡支付。然而,信用卡支付存在支付风险和欺诈问题,许多商家希望找到更安全的支付方式,于是第三方支付机构开始崛起。电子 第三方支付java 区块链 前端 微信 金融 ios 如何使用第三方库 apple的第三方软件 并非只有App Store一般Mac上安装App都是从App Store,但很多时候并不能满足需求,原因很多:Apple ID密码问题(现在写博客这个Mac的Apple ID就是别人的。。。解绑又需要密码。。。)Mac已经不支持最新的OS X系统,而App Store的软件安装对系统有最低要求,如:不喜欢想换回App的某一版本想用的软件App Store中没有提供原因千奇百怪,但需求只有一个:能不 ios 如何使用第三方库 Mac安装第三方软件 Mac使用技巧 Mac安装 Mac安装dmg python 第三方 python第三方模块 Pillowrequestschardetpsutil1.PillowPIL:Python Imaging Library,已经是Python平台事实上的图像处理标准库。PIL功能非常强大,但API却非常简单易用。由于PIL仅支持到Python 2.7,加上年久失修,于是一群志愿者在PIL的基础上创建了兼容的版本,名字叫Pillow,支持最新Python 3.x,又加入了许多新特性,因此,我们可以 python 第三方 Python 运维 第三方库 proAxios 第三方api appstore第三方 10月22日消息,迫于监管压力,谷歌已宣布,谷歌应用商店内的App抽成从原先的30%,统一降低至15%,电子书和音乐流媒体服务的抽成降低至10%。 国内Android用户可能不太清楚,在海外市场,谷歌应用商店基本处于垄断地位,与苹果App Store相同。前段时间韩国签署并颁发了反谷歌法,意在打破谷歌和苹果在应用市场方面的垄断地位。苹果表示,会允许用户开放第三方支付渠道,但为了用户使用App时的安 proAxios 第三方api android ios java App 第三方 ios 第三方ios主题 这里开始译文。乍看上去,“为iOS7重设计”无非就是新的应用图标、无边框按钮、与导航栏配色相匹配的状态栏等等。不过如果你再深入挖掘一些,便会发现很多耀眼的地方都体现着iOS7的三大设计主题,即“依从、清晰、纵深”。 对于某些应用来说,这些改变带来了设计上的极大改善,而另外一些则甚至比从前还要糟糕,不仅可用性被破坏,而且品牌识别效应也大打折扣。本文会围绕着iOS7 UI过渡指南当中提出的一些关键性 第三方 ios 控件 状态栏 UI ios 第三方toast iphone第三方 Cocoapodscocoapoda 是ios最早![]( 的第三方库管理工具了, CocoaPods是一个用来帮助我们管理第三方依赖库的工具。它可以解决库与库之间的依赖关系,下载库的源代码,同时通过创建一个Xcode的workspace来将这些第三方库和我们的工程连接起来,供我们开发使用。 使用CocoaPods的目的是让我们能自动化的、集中的、直观的管理第三方开源库。 使用cocapoda会生 ios 第三方toast 第三方库 iOS 静态库 Nuc第三方bios nuc第三方 如果你正在考虑购买英特尔 NUC,你需要买一些配件,以便开始使用它。-- Abhishek Prakash(作者)几周前,我买了一台 英特尔 NUC 迷你 PC 。我 在上面安装了 Linux ,我非常喜欢它。这个小巧的无风扇机器取代了台式机那庞大的 CPU。英特尔 NUC 通常采用准系统形式,这意味着它没有任何内存、硬盘,也显然没有操作系统。许多 基于 Linux 的微型 PC 定制化 Nuc第三方bios linux nuc 吗 支持 插槽 终端用户 ci ios推送第三方 iphone第三方 好长时间以来,苹果作为反对第三方维修的坚决拥护者,一直推崇消费者走官方渠道进行维修售后,第三方也很难买到苹果的官方配件。而其官方维修步骤也较为繁琐,消费者必须先到 Apple Store 商店和 Apple 授权服务提供商进行维修,然后经过Apple 维修中心专业诊断并确定相应的维修方案。此外用户一旦在非 Apple 授权进行维修,可能会失去维修资格。但现在它的立场正在发生改变。就在前不久,苹果宣 ios推送第三方 microsoft java 开发语言 Apple 第三方支付公司 业务域架构图 第三方支付业务模式 目前,无论是学术界、产业界还是监管部门,对第三方支付的分类都不尽相同,主要的分类方式主要有三种:一是央行《办法》中对第三方支付的分类;二是根据提供第三方支付服务的主体性质进行的分类;三是根据支付服务的不同业务属性进行的分类。这三种分类分别是从现行监管的便利、支付业务不同属性特点出发对主流的支付业务进行分类。这其中,《办法》的分类方式是将第三方支付按业务类型划分为网络支付、预付卡的发行与受理、银行卡 第三方支付公司 业务域架构图 第三方支付 支付宝 支付接口 java第三方支付业务怎么写 第三方支付平台接口 一、网关支付 这是在线支付的最普遍形式。 大致支付过程:第三方支付公司作为代理(网关),接入一堆银行。用户在网关页面(可以在商户端,也可以第三方支付平台端)选择银行,页面跳转到第三方支付平台,然后重定向到对应的银行,用户在银行电子银行官网,采用网银(个人网银或企业网银)完成支付。网关支付分为:B2C、B2B两类。 涉及的概念:网银支付、银行卡支付。 涉及的企业:银联支付、网银在线等 我们一般说的网 java第三方支付业务怎么写 网关 c# php 服务器 android c 第三方库 第三方库如何调用 库是共享程序代码的方式,主要有静态库(.lib),动态库(.dll)静态库:链接时完整地拷贝至可执行文件中,被多次使用就有多份冗余拷贝。动态库:链接时不复制,程序运行时由系统动态加载到内存,供程序调用,系统只加载一次,多个程序共用,节省内存。QT调用DLL的方式:显式调用和隐式调用。没有导入库文件(,lib文件),只有头文件(.h)与动态链接库(.dll)时,显式调用,如果三个文件都全,使用隐式调 android c 第三方库 #include 显式 头文件 android 引用第三方库 如何调用第三方库 简述在 Qt 中经常会用到第三方库,例如:FFmpeg、OpenCV 等。第三方库的使用比较简单,只需要一些基本的配置就可以搞定,一起来看看吧!第三方库假设你需要依赖一个跨平台的库 - MyLibrary,并且有几个文件作为库的一部分。我们的项目 MyQtApp 将这些文件存储在名为 3rdparty 的文件夹中:MyQtApp/MyQtApp.prosrc/main.cpp3rdparty/My android 引用第三方库 qt 开发语言 库文件 第三方库 android如何集成第三方sdk 第三方sdk收集 花了几天时间分析了700+的apk,人工收集整理出来的…蛋疼。 数据收集于互联网公开资料与各大开放平台开发文档 还有大部分查不到资料但是有多家不同apk使用,所以直接用包名当做特征…不保证数据的准确性 有命名错误或重复的还望大佬提醒。。import java.util.HashMap;public class Sdk{ /*** by:默小坑 2020.07.07 数据收集于互 android如何集成第三方sdk java android 百度 推送 java 的第三方工具的源码 java第三方组件 CKEditor:网页中实现所见即所得的编辑器第三方组件:第三方组织提供的组件,会用就行要求:会用就行,知道步骤就可以,不用管怎么开发的,不需要理解不需要记住,因为可能会有更好的使用CKEditor步骤:下载CKEditor解压到项目中在页面中加入CKEditor使用CKEditor编辑内容提交CKEditor编辑的内容enctype="multipart/form-data" : 这是一个多部分 java 的第三方工具的源码 第三方控件 分页查询 java web 数据 有趣的Android第三方sdk 第三方sdk名称 主流平台支持各个平台的key要在各个平台申请三家平台基本都支持以下类型:网页类型(网页链接)图片文本表情(GIF图片,即Emotion类型,只有微信支持)图文(包含一张图片和一段文本)视频(只支持视频URL、缩略图及描述)音乐(只支持音乐URL、缩略图及描述)极光:QQ、微信、新浪微博、Facebook、Twitter、趣聊友盟:平台文本图片图文Web链接视频链接音乐链接其他微信好友√√×√√√微 有趣的Android第三方sdk 经验分享 微信 新浪微博 支付宝