亲和性:将多个东西尽量放在一起。 反亲和性:将多个东西尽量分开。
【说人话的通俗描述】
春季流感高峰期,感冒的小朋友会被劝回家休息,避免传染给其他小朋友。这个隔离动作在IT行业叫反亲和性。
【行业术语】
在应用没有容器化之前,原先一个虚机上会装多个组件,进程间会有通信。但在做容器化拆分的时候,往往直接按进程拆分容器,比如业务进程一个容器,监控日志处理或者本地数据放在另一个容器,并且有独立的生命周期。这时如果他们分布在网络中两个较远的点,请求经过多次转发,性能会很差。
1、亲和性可以实现就近部署,增强网络能力实现通信上的就近路由,减少网络的损耗。
2、反亲和性主要是出于高可靠性考虑,尽量分散实例,某个节点故障的时候,对应用的影响只是 N 分之一或者只是一个实例。
物理服务器上部署的虚拟机主机也符合这个原理。
【举例子】
初衷:阿里云、华为云等云服务器在创建时是不能指定从哪台物理服务器上分配的,那么就又可能我本来想创建一个5台云服务器来搭建一个集群,目的是提高可靠性,单台云服务器宕机后也不影响整体业务功能。
问题:在批量创建云服务器时,云厂商后台可能会在同一台物理服务器上分配出5台虚拟机,那么当物理服务器出现宕机后,这5台云服务器也跟着宕机了,达不到高可靠的要求。
解决办法:云服务厂商允许用户创建主机组,将这5台服务器加入主机组后,云服务厂商就会开启反亲和性,将这5台云服务器部署在不同的物理服务器上。
为什么需要主机组:因为云厂商需要一个手段来判断这些云主机是否需要物理隔离,因此通过加入主机组就可以打上互相隔离的标志了。
————————————————
版权声明:本文为CSDN博主「工匠小能手」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_39295735/article/details/88565425