引言 上一篇文章我们围绕如何合理利用资源的主题做了一些最佳实践的分享,这一次我们就如何提高服务可用性的主题来展开探讨. 怎样提高我们部署服务的可用性呢?K8S 设计本身就考虑到了各种故障的可能性,并提供了一些自愈机制以提高系统的容错性,但有些情况还是可能导致较长时间不可用,拉低服务可用性的指标.本文将结合生产实践经验,为大家提供一些最佳实践来最大化的提高服务可用性. 如何避免单点故障? K8S 的设计就是假设节点是不可靠的.节点越多,发生软硬件故障导致节点不可用的几率就越高,所以我们通常需要给服…
数据一致性(consistency).服务可用性(availability).分区容错性(partition-tolerance) 分布式系统理论基础 - CAP 2016-04-04 18:27 by bangerlee, 135 阅读, 0 评论, 收藏, 编辑 引言 CAP是分布式系统.特别是分布式存储领域中被讨论最多的理论,“什么是CAP定理?”在Quora 分布式系统分类下排名 FAQ 的 No.1.CAP在程序员中也有较广的普及,它不仅仅是“C.A.P不能同时满足,最多只能3选2”,…
SLA:服务等级协议(简称:SLA,全称:service level agreement).是在一定开销下为保障服务的性能和可用性,服务提供商与用户间定义的一种双方认可的协定.通常这个开销是驱动提供服务质量的主要因素. SLA的定义来源百度,这到底是什么意思呢? 我们平常经常看到互联网公司喊口号,我们今年一定要做到3个9.4个9,即99.9%.99.99%,甚至还有5个9,即99.999%. 这么多9代表什么意思呢? 首先,SLA的概念,对互联网公司来说就是网站服务可用性的一个保证.9越多代表全…
SLA:服务等级协议(简称:SLA,全称:service level agreement).是在一定开销下为保障服务的性能和可用性,服务提供商与用户间定义的一种双方认可的协定.通常这个开销是驱动提供服务质量的主要因素. SLA的定义来源百度,这到底是什么意思呢? 我们平常经常看到互联网公司喊口号,我们今年一定要做到3个9.4个9,即99.9%.99.99%,甚至还有5个9,即99.999%. 这么多9代表什么意思呢? 首先,SLA的概念,对互联网公司来说就是网站服务可用性的一个保证.9越多代表全…
SLA:服务等级协议(简称:SLA,全称:service level agreement).是在一定开销下为保障服务的性能和可用性,服务提供商与用户间定义的一种双方认可的协定.通常这个开销是驱动提供服务质量的主要因素. SLA的定义来源百度,这到底是什么意思呢? 我们平常经常看到互联网公司喊口号,我们今年一定要做到3个9.4个9,即99.9%.99.99%,甚至还有5个9,即99.999%. 这么多9代表什么意思呢? 首先,SLA的概念,对互联网公司来说就是网站服务可用性的一个保证.9越多代表全…
netflix公司的产品hystrix(长满刺的豪猪),在高可用目标下具有一定熔断.限流.降级的作用.这里主要写一些自己在使用时的问题解决思路,原理请自行理解,包括线程池与信号量模式等. 注意三个参数的默认值: 1.commandGroup  默认为getClass().getSimpleName(); 2.commandKey  默认为getClass().getSimpleName()(继承HystrixCommand方式)/ 方法名(注解方式),可与commandGroup相同: 3.th…
Kubernetes 对 Pod 的健康状态可以通过两类探针来检查:LivenessProbe 和 ReadinessProbe,kubelet 定期执行这两类探针来针对容器的健康状况. LivenessProbe探针:用于判断容器是否存活(Running状态),如果 LivenessProbe 探针探测到容器不健康,则kubelet将杀掉该容器,并根据容器的重启策略做相应的处理.如果一个容器不包含LivenessProbe探针,那么kubelet认为该容器的LivenessProbe探针返回的…
1. 通过脚本判断线上服务是否可用 telnet 127.0.0.1 端口 #线上调用的是使用的dubbo端口 通过invoke 抓取返回的code值,脚本如下 #返回code:0则视为正常,返回其他值一概视为异常 #!/bin/sh (sleep 1;echo " ";sleep 1;echo "invoke com.dafy.letou.loan.api.service.RepayService.queryRepayByOrderNo({\"orderNo\&q…
摘要:本文通过介绍GaussDB(for MySQL)读写路径,分析其可用性. 简介 数据持久性和服务可用性是数据库服务的关键特征. 在实践中,通常认为拥有 3 份数据副本,就足以保证持久性. 但是 3 份副本,对于可用性的要求是不够的.维护 3 份一致的副本意味着,这些副本必须同时在线,系统才能保证可用.当数据库跨多个节点分片时,某些节点不可用的概率会随着节点数量的增加而呈指数增长. 在 GaussDB(for MySQL) 中,我们针对日志和数据采用不同副本策略,并采用一种新颖的恢复算法,来…
前言 这几天打算利用碎片时间读了一下"SRE Google运维解密"这本书,目前读了前几章,感觉收获颇多,结合自己的工作经历和书中的要点,写一些感悟和思考 SRE 有关SRE我就不多介绍了,中文名字叫站点可靠性工程师,它的由来是google想通过软件工程师来解决复杂运维问题. 它里面有很多有意思的点,比如: 运维工作只能占比工作时间50% 另外50%要开发工具解决问题 SRE和开发工程师会轮岗 这些相关概念网上很多都介绍了,我就不赘述了,我说下一些我感兴趣的点 谷歌神话 谷歌一直在技术…