How to make the network more robust

At home I installed the following network
Network.PNG
I use an RB4011 as router and I would like to make the network more robust by having two core routers, now I use one CRS309 and will expand the network with an additional CRS317.

I am hoping to have no downtime when for example upgrading the software on one core router.

I wonder how can I archive this without creating loops?
Would I use a special routing protocol?

I managed to get it working enabling MSTP https://wiki.mikrotik.com/wiki/Manual:Spanning_Tree_Protocol.

  • RB4011
/interface bridge
add name=BR1 priority=0x1000 protocol-mode=mstp vlan-filtering=yes



  • CRS317
/interface bridge
add name=BR1 priority=0x2000 protocol-mode=mstp vlan-filtering=yes



  • CRS309
/interface bridge
add name=BR1 priority=0x3000 protocol-mode=mstp vlan-filtering=yes



  • CRS326_OFFICE
/interface bridge
add name=BR1 priority=0xD000 protocol-mode=mstp vlan-filtering=yes



  • CRS326_BASEMENT
/interface bridge
add name=BR1 priority=0x5000 protocol-mode=mstp vlan-filtering=yes



  • CRS326_ATTIC
/interface bridge
add name=BR1 priority=0x6000 protocol-mode=mstp vlan-filtering=yes



  • CRS305_ATTIC
/interface bridge
add name=BR1 priority=0x4000 protocol-mode=mstp vlan-filtering=yes



  • CRS305_LIVING
/interface bridge
add name=BR1 priority=0x7000 protocol-mode=mstp vlan-filtering=yes



  • Audience
/interface bridge
add name=BR1 priority=0xC000 protocol-mode=mstp vlan-filtering=yes



  • wAP_ac ATTIC
/interface bridge
add name=BR1 priority=0x9000 protocol-mode=mstp vlan-filtering=yes



  • wAP_ac BASEMENT
/interface bridge
add name=BR1 priority=0xA000 protocol-mode=mstp vlan-filtering=yes



  • hAP_ac ATTIC
/interface bridge
add name=BR1 priority=0xB000 protocol-mode=mstp vlan-filtering=yes