My node is looking like this, when it has around 32 ports each with straight links
After dragging separately,
Snippet:
myDiagram.nodeTemplate =
  $(go.Node, "Auto",
    { locationSpot: go.Spot.Center, background: "lightgray", maxSize: new go.Size(300, NaN) },
    new go.Binding("location", "loc", go.Point.parse).makeTwoWay(go.Point.stringify),
    $(go.Shape, "Rectangle",
      {
        fill: "white", background: "lightgray", stroke: "transparent", strokeWidth: 3,
        portId: "",
        fromSpot: go.Spot.AllSides, toSpot: go.Spot.AllSides
      }),
    $(go.Panel, "Horizontal",
      { background: "lightgray", defaultAlignment: go.Spot.Bottom, margin: new go.Margin(3, 3) },
      $(go.TextBlock, { background: "lightgray", text: 'AXOS', font: "10px sans-serif", stroke: "blue", alignment: go.Spot.Left, angle: -90 }),
      $(go.Panel, "Horizontal",
        $(go.TextBlock, { font: "16px sans-serif", width: 25, height: 25, text: 'e9', stroke: "white", background: 'orange' }),
        $(go.TextBlock, { font: "16px sans-serif", text: '2', stroke: "blue", alignment: go.Spot.Right })
      ),
    ),
    $(go.TextBlock,
      new go.Binding("text"))
  );
myDiagram.linkTemplate =
  $(go.Link,
    {
      routing: go.Link.AvoidsNodes, corner: 1, curve: go.Link.JumpOver,
      toolTip:  // define a tooltip for each node that displays the color as text
        $("ToolTip",
          $(go.TextBlock, { margin: 4 },
            new go.Binding("text", "", (data) => { return `(From port : ${data?.fromPort}, To Port : ${data?.toPort})` })),
        )  // end of Adornment
    },
    //new go.Binding("routing", "straight", s => s ? go.Link.Normal : go.Link.AvoidsNodes),
    $(go.Shape, "Rectangle", { stroke: "red", strokeWidth: 2 }),
    $(go.Shape, 
      {
        margin: 10, width: 7, height: 7, segmentIndex: 0, segmentOffset: new go.Point(0, 0), fill: "#672056", stroke: "#672056",
        toolTip:  // define a tooltip for each node that displays the color as text
          $("ToolTip",
            $(go.TextBlock, { margin: 4 },
              new go.Binding("text", "fromPort"))
          )  // end of Adornment
      }),
    $(go.Shape,       {
        width: 7, height: 7, segmentIndex: -1, segmentOffset: new go.Point(0, 0), fill: "blue", stroke: "blue",
        toolTip:  // define a tooltip for each node that displays the color as text
          $("ToolTip",
            $(go.TextBlock, { margin: 4 },
              new go.Binding("text", "toPort"))
          )  // end of Adornment
      })
  );



