厂商为什么喜欢使用堆叠?

作者:车小胖
链接:https://www.zhihu.com/question/264188247/answer/281626808

堆叠大量使用最深层的原因:为了排挤竞争对手!无论是Cisco 、华为、还是别的厂商,没有例外,详细阐述参考下文。第一次使用堆叠是2008年,一个500人左右公司企业网,Cisco 29xx,公司位于同一楼层,机房就一个,4个堆叠成一个逻辑交换机(逻辑整体),一共创建了3个这样的逻辑交换机,用了12台交换机。如果不是系统对堆叠成员个数的限制、堆叠线长度的限制、以及一个机架容纳交换机个数的空间限制,完全可以将12台交换机堆叠成一个交换机。

堆叠好处主要有:
1)管理负担小管理1台交换机自然比管理多台交换机的负担小,还可以避免配置成员交换机之间port channel等配置。
2)节省交换机互联端口的数目成员交换机之间的数据传输,使用堆叠线,堆叠线可以看作交换机内部数据总线的外部延伸,这样可以节省互联端口的需求。
3)外在表现为一台交换机,可以使用常规的LACP协议与服务器协商Port Channel,而无需使用VPC或MLAG等私有协议,让服务器与跨交换机的端口协商Port Channel。
4)由于是私有实现,具有排他性,可以更好地排挤竞争对手。

堆叠的局限性上文说过,堆叠成员交换机之间的数据同步、用户流量传输,通常使用堆叠线,而堆叠线是内部数据总线的延伸,所以数据是如何同步的、流量如何传输的,完全是厂商的自我实现,这就好比一台交换机内部的流量如何传输,什么格式传输都是私有实现,一旦出问题,用户看到奇奇怪怪的trace log报警输出,会一脸懵逼。记得J家某个新品交换机的思路是,一个机房(数据中心)就一台交换机,尽管成员交换机可能有几百台,但只有一台交换机会充当配置管理的角色,其他交换机只是作为扩展板卡的角色存在,交换机下发配置使用接口函数,数据同步、用户流量传输则使用私有实现,这其实也是一种SDN(Sao De Network)。

`pandas`中的`concat`函数用于沿着一个或多个轴(行或列)合并两个或更多的 pandas 数据结构,例如 DataFrame 或 Series。如果你想进行数据堆栈(stacking),你需要将数据沿某一轴方向按照特定键或标签进行堆叠。 以下是如何使用`concat`函数进行数据堆叠的基本步骤: 1. **基本用法**: 假设你有两个DataFrame `df1` 和 `df2`,并且你想根据一个共享的索引列(比如`'Index'`)将它们堆叠到一起,你可以这样做: ```python df_stacked = pd.concat([df1, df2], axis=1) ``` 如果你想堆叠的是Series,确保它们有相同的索引,否则结果可能不明确: ```python series1 = pd.Series(data1, index=index1) series2 = pd.Series(data2, index=index1) stacked_series = pd.concat([series1, series2]) ``` 2. **键参数(key)**: 如果你想基于某个列(非索引)进行堆叠,提供`keys`参数。例如,假设你想基于`'category'`列进行堆叠: ```python df_stacked = pd.concat([df1, df2], keys=['A', 'B'], axis=0) ``` 这样会创建一个新的MultiIndexed DataFrame,其中第一级索引是`'category'`的值。 3. **堆叠(stack)和展平(unstack)**: 如果想对现有的分层数据进行堆叠(将多层索引转换为单层),可以使用`stack()`方法。相反,`unstack()`方法则会反向操作,将单层索引转换回多层索引。 ```python df_stacked = df_stacked.stack() # 反之 df_original = df_stacked.unstack() ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值