- 容错系统就是为故障而构建的。如果发生故障,容错系统将不会中断,并且可以继续处理请求。
- EC2 虚拟服务器,默认情况下不是容错的。
- 单点故障(SPOF),如果一个硬件发生故障,整个服务中断。
- AWS 解决方案:自动扩展组(auto-scaling group)、ELB 和 SQS。
- 没有(单点故障)—— 在出现故障时,不能处理请求。
- 高可用性 —— 在出现故障时,需要一些时间直到像之前一样处理请求。
- 容错 —— 在出现故障时,请求会像之前一样得到处理,并且没有任何可用性问题。
- 没有(单点故障)—— 在出现故障时,不能处理请求。
- 高可用性 —— 在出现故障时,需要一些时间直到像之前一样处理请求。
- 容错 —— 在出现故障时,请求会像之前一样得到处理,并且没有任何可用性问题。
AWS 的解决方案:
objc_setAssociatedObject()
- 设置关联对象用于给对象添加关联对象,传入 nil
则可以移除已有的关联对象;
让一个对象和另一个对象关联起来,即一个对象保持对另一个对象的引用,并可以获取这个对象。关键字是一个 void 类型的指针。每个关键字必须是唯一的,通常都是会采用静态变量来作为关键字。
/**
* Sets an associated value for a given object using a given key and association policy.
*
* @param object 关联的源对象.
* @param key 关联的key.
* @param value 通过key值关联对象,通过将此个值置成nil来清除关联.
* @param policy 关联策略
*
* @see objc_setAssociatedObject
* @see objc_removeAssociatedObjects
*/
OBJC_EXPORT void
objc_setAssociatedObject(id _Nonnull object, const void * _Nonnull key,
id _Nullable value, objc_AssociationPolicy policy)
OBJC_AVAILABLE(10.6, 3.1, 9.0, 1.0, 2.0);
Deep Whois 是一款网络管理专业软件,你可以用它通过 IP 地址和 Hostname 查询 Whois 相关信息。你可以在 app 中查阅所有的 whois 数据,比如域名、TLD、网址、IDN、IP 地址(IPv4 和 IPv6)。
Deep Whois 是最完整,最先进的 WHOIS 应用程序。
该工具允许您在所有 WHOIS 数据库中查找所有主机名,域名,TLD(顶级域名),IDN(Internationalized Domain Names,国际化域名),IP 地址(IPv4 和 IPv6),IP 网络和自治系统(ASN,ISP ID)的信息。
Deep Whois 开箱即用,可以查找所有权,国家和更多有关所有内容的信息,无需混淆复杂的选项和服务器选择。
网站的扩展性架构设计:在对现有系统影响最小的情况下,系统功能可持续扩展及提升的能力。
扩展性(Extensibility)
指对现有系统影响最小的情况下,系统功能可持续扩展或提升的能力。表现在系统基础设施稳定不需要经常变更,应用之间较少依赖和耦合,对需求变更可以敏捷响应。它是系统架构设计层面的开闭原则(对扩展开放,对修改关闭),架构设计考虑未来功能扩展,当系统增加新功能时,不需要对现有系统的结构和代码进行修改。
伸缩性(Scalability)
指系统能够通过增加(减少)自身资源规模的方式增强(减少)自己计算处理事务的能力。如果这种增减是成比例的,就被称作线性伸缩性。在网站架构中,通常指利用集群的方式增加服务器数量、提高系统的整体事务吞吐能力。
网站性能优化的主要工作:改善高并发用户访问情况下的网站响应速度。
从用户的角度来说,网站的性能就是用户在浏览器上直观感受到的网站响应速度。
在实践中,使用一些前端架构优化手段,通过优化页面 HTML 式样、利用浏览器端的并发和异步特性、调整浏览器缓存策略、使用 CDN 服务、反向代理等手段,使浏览器尽快地显示用户感兴趣的内容、尽可能近地获取页面内容,即使不优化应用程序和架构,也可以很大程度地改善用户视角下的网站性能。
应用程序本身及其相关子系统的性能:响应延迟、系统吞吐量、并发处理能力、系统稳定性。
优化手段:
网站的可用性(Availablilty)描述网站可有效访问的特性。
网站的有用性(Usability),通常也被译作可用性,但是后者强调的是网站的有用性,即对最终用户的使用价值。
网站不可用时间(故障时间)= 故障修复时间点 - 故障发现(报告)时间点。
网站年度可用性指标 = (1 - 网站不可用时间 / 年度总时间)* 100%。
故障分是指对网站故障进行分类加权计算故障责任的方法。
故障分的计算公式:
故障分 = 故障时间(分钟)* 故障权重
网站故障分类 | 描述 | 权重 |
---|---|---|
事故级故障 | 严重故障,网站整体不可用 | 100 |
A 类故障 | 网站访问不顺畅或核心功能不可用 | 20 |
B 类故障 | 非核心功能不可用,或核心功能少数用户不可用 | 5 |
C 类故障 | 以上故障以外的其他故障 | 1 |