慎用 BMC Filter

本文强调了在BMC开发过程中慎用Filter的重要性,并指出在数据库中过度依赖触发器可能导致业务逻辑混乱、多表更新引发死锁等问题,且难以进行调试。

重要的事情一定要说三遍:

请慎重使用 BMC 中的Filter!

请慎用数据库中的触发器!

请尽量不要把业务逻辑写在触发器中!

咦,为啥三句话不一样,其实这是三个场景!

BMC中的Filter非常类似数据库中的触发器,可以在一定的条件下执行某些操作,比如Update数据表的字段值,往另外的数据表中插入数据库等等。很多人在做BMC开发过程中热

衷于把核心业务逻辑写在Filter中,比如流程引擎。以前经常听到说:尽量不要使用触发器!但是确实踩坑比较少,所以也只是人云亦云,但最近确实深刻地感受到触发器的“害”之深。

大量地使用触发器,导致最后不知道业务逻辑的错乱,多层次PUSH,多表地更新数据,甚至导致死锁,更严重的是无法调试!

服务器的 BMC(Baseboard Management Controller)接口通常用于实现带外管理功能,允许管理员在服务器操作系统未运行的情况下进行远程监控和管理。BMC 接口连接的线缆类型主要取决于其通信方式和设计需求。 在大多数服务器中,BMC 接口通常使用以太网线缆进行连接,因为 BMC 本质上是一个独立的微控制器,具备网络接口功能。这种线缆类型通常是标准的 RJ45 以太网线缆(如 Cat5e、Cat6 或更高规格),以便通过局域网或远程网络访问 BMC 的管理功能。此外,一些 BMC 接口支持与主网络接口共享物理端口(称为“共享 LAN”模式),或者通过专用的 BMC 网络接口实现独立的网络连接。 如果 BMC 接口通过 NCSI(Network Controller Sideband Interface)协议与网络控制器通信,其物理连接可能不需要额外的线缆,而是通过服务器内部的边带通信通道实现管理控制器与网络控制器之间的数据传输。这种情况下,BMC 接口的通信依赖于主板内部设计,而非外部线缆[^2]。 对于某些专用的 BMC 接口,例如通过串口进行管理的场景,可能使用 RS-232 串口线缆进行连接。这种线缆类型通常用于本地调试或特定的管理需求,而非远程网络管理。 总结来看,服务器 BMC 接口主要使用以下类型的线缆进行连接: 1. 标准 RJ45 以太网线缆(如 Cat5e、Cat6)用于网络通信。 2. RS-232 串口线缆用于本地串口管理。 3. 在支持 NCSI 协议的情况下,可能不需要外部线缆,而是通过内部边带通信通道实现连接[^2]。 ```python # 示例:通过 Python 脚本模拟 BMC 接口连接类型检查 def check_bmc_cable_type(): # 模拟检测 BMC 接口使用的线缆类型 network_cable = "RJ45 Ethernet Cable (Cat6)" serial_cable = "RS-232 Serial Cable" ncsi_connection = "Internal NCSI Communication" print("BMC 接口支持的线缆类型:") print(f"1. {network_cable}") print(f"2. {serial_cable}") print(f"3. {ncsi_connection}") check_bmc_cable_type() ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值