1. 循环依赖检测与缩点拓扑排序
架构师背景
项目组重构单体系统为微服务时,服务间出现了复杂的相互调用,导致无法确定部署与启动顺序。
问题
需要快速找出系统中的所有循环调用环,并将强连通模块抽象为缩点以获取正确的依赖执行顺序。
如何使用
在图输入框中粘贴服务调用边列表,勾选“有向图”,设置起点服务并运行分解。
graphInput: "a -> b\nb -> c\nc -> a\nc -> d\nd -> c\ne -> a\nf -> e\nf -> g\ng -> f"
directed: true
startNode: "a"
maxDepth: 2结果
成功分解出 3 个强连通分量(包含 {a,b,c,d} 与 {f,g} 两个环),输出缩点 DAG 拓扑排序为 2→1→0,并标出 6 个处于循环依赖中的节点。