作者:手机用户2502916423 | 来源:互联网 | 2023-09-15 17:35
篇首语:本文由编程笔记#小编为大家整理,主要介绍了漫谈服务高可用相关的知识,希望对你有一定的参考价值。
总是说着高可用,负载均衡,异地双活,各种各样的高端技术层出不穷。。。
服务高可用,挂了一个服务依旧能提供服务,想想每个人也是提供的服务,暴露不同的API接口,只要别人能调用就可以了。
服务能提供7*24小时不间断服务,人呢?一群垃圾。。。来之不能战,战之不能胜,胜之不能舞。。。。
最近都在流行微服务和容器。。。。所谓的微服务就是拆拆拆,拆到不能再次拆分,提供极致极简的服务。。。将一个系统拆分为各个应用,各个应用提供多少个服务,一个服务提供多少个API接口。。。而容器又是天生与微服务结合的架构,容器主张一个容器运行一个服务或者一组服务,提供restful接口进行调用。。。。
看看集群,一个物理机宕机,不影响服务。。。看看一个团队,一个人离职或者送火葬场了,依旧不影响服务。。。这其中的管控系统是最主要核心部分,在其中要注意服务的调度,调度的策略。。。考虑到各种CPU,内存,IO等压力,然后进行不同的策略分配。。。
一个集群没做好,是因为管控系统没做好,没有服务发现的功能,没有强一致性策略。。。一个团队没做好,都TM是人的问题。。。。
集群的中的服务一般都推荐无状态的服务,不需要持久化存储,不依赖于其他的组件,然而现实并不会这样,有各种各样的依赖,缓存啊,数据库啊,需要持久化存储的日志啊,那么对于这些有状态的,就需要考虑到基础设施提供的服务了。而在一个团队中,都是有状态的。。。说一句话,没准这个人就崩溃了。。。那么有状态的服务怎么来管理?对于持久化的存储,我们可以提供统一的一致性存储,对于各种网络,可以提供跨主机的网络,而这些服务,则是最基础最核心的服务。。。
集群中的服务,需要做到各种各样的监控指标,然后告警,然后进行处理,。。。而在一个团队中,是否有各个纬度的指标监控,还是说。。。只是玩玩?提供的高可用服务,到底能达到一个什么样的SLA水平???
集群中的服务出了问题,重启一下就好,释放以下内存,缓解一下CPU的压力,那么团队中的人呢?放几天假就好了?还是给多点薪水?提供更多的资源。。。。还是。。。。杀了然后换一个。。。对于垃圾服务,最好的方式就是直接下线,这种SLA水平和质量不能达到3个9的直接PASS,直接kill -9
集群中的服务可以随时更换调度策略,性能好的机器可以提供更多的计算能力,而在一个团队中,每个人是否能根据性能的好坏来分配不同的权重,能做到提供更大的计算的能力,能提供更好的性能接口?may be。。。。
集群中的服务在网络出现中断的时候,偶尔会出现脑裂。。。split brain。。。。哦,no。。。。数据不一致怎么办,么关系,第三方公正就好了,选举出一个leader就好了。。。。那么在团队中,如果出现了脑裂该怎么办?甲方爸爸认为你闲如狗,乙方爸爸也认为你闲如狗。。。也出现了脑裂,HOW to do?HOW to solve this problem。。。。也能选举出一个leader来解决脑裂问题么?I dont care。。。。just fuck it。。。。。
有人在我面前说别人坏话,FUCK。。。。联系一下上下文,别人也没错。。。
你在我面前说别人坏话,那我是否就能判定你在别人面前也会说我的坏话呢。。。。是不是脑子里有shi。。。谁TM给你的权利。。。FUCK。。。
人心不可测。。。。我就喜欢公事公办,掺入太多的因素,那么这个变量就变得不可控,那么如果一切不带变量,那么就so easy了。。。
这只不过一场压力测试而已。。。maybe waste time。。。
在别人的塔下,能浪几个回合。。。。
一个团队始终只为一个目标,不为了一个目标前行,只会自乱阵脚。。。所以就有了古时的将在外军令有所不受。。。。
在提出问题的时候,最好已经有了初步的建议,如果单纯的是抛出问题,那么每个人都能抛出问题,这个时候应该是体现你价值的最好时机。。。别TM一碰到事,你就变成了怂逼。。。。
就事论事,我可以支持你的观点,我也可以捍卫你的观点,只要有理即可,但是如果无理,要想得到支持,请先说服。。。。
一个问题一个问题的来,不要把所有的问题杂糅在一起,然后慢慢的解,浪费时间,太损耗CPU的性能,为什么要引入集群,引入更多的服务,为啥要分解依赖关系,说到底。。。。就是为了解决更复杂的问题,让上层的调用更加简单。。。
一个问题千百种解决方案,而我。。。就喜欢难的那种。。。。JUST FUCK IT。。。
来点有难度的问题,来点有技巧的问题,来点新颖的问题。。。要不然都不好玩,要不然都没啥乐趣,要不然都不能体现战斗力。。。