I can even imagine setup with static routing only. Therefore you can use masquerading (if needed) and loadbalancing with PCC at village AP stations without complications. I imagine it this way:
-prepare two L2 semi-rings (bridged vlans or bridged eoip tunnels or switched vlans or mpls solutions - simply any kind of L2 connectivity). Connect every village AP with RB1100AH double way. One way in first L2 connection clockwise. Second way in second L2 connection anticlockwise,
-connect every semi-ring with RB1100AH only one way. First semi-ring from north (clockwise), the second semi-ring from south (anticlockwise),
-prepare two /29 subnets. One subnet for every L2 semi-ring. Add one ip for every AP in every semi-ring. Add one ip for RB1100AH in every semi-ring.
Suppose these are suggested subnets for semi-rings:
10.0.0.0/29
10.0.0.8/29
Suppose these are subnets used behind village AP's:
192.168.0.0/24
192.168.1.0/24
192.168.2.0/24
192.168.3.0/24
Suppose L2 rings are connected to AP's and RB1100AH via bridge interfaces:
bridge1
bridge2
Suppose you put addresses like this:
RB1100AH:
/ip address
add address=10.0.0.6/29 interface=bridge1
add address=10.0.0.14/29 interface=bridge2
1 AP:
/ip address
add address=10.0.0.1/29 interface=bridge1
add address=10.0.0.9/29 interface=bridge2
2 AP:
/ip address
add address=10.0.0.2/29 interface=bridge1
add address=10.0.0.10/29 interface=bridge2
And so on...
Now you can use simple trick with static routing (but still adapting second gateway in case of connection problems):
1 AP, 2 AP, 3 AP, 4 AP:
/ip route
add gateway=10.0.0.6 check-gateway=arp distance=1
add gateway=10.0.0.14 check-gateway=arp distance=2
RB1100AH:
/ip route
add dst-address=192.168.0.0/24 gateway=10.0.0.1 check-gateway=arp distance=1
add dst-address=192.168.1.0/24 gateway=10.0.0.2 check-gateway=arp distance=1
add dst-address=192.168.2.0/24 gateway=10.0.0.3 check-gateway=arp distance=2
add dst-address=192.168.3.0/24 gateway=10.0.0.4 check-gateway=arp distance=2
add dst-address=192.168.0.0/24 gateway=10.0.0.9 check-gateway=arp distance=2
add dst-address=192.168.1.0/24 gateway=10.0.0.10 check-gateway=arp distance=2
add dst-address=192.168.2.0/24 gateway=10.0.0.11 check-gateway=arp distance=1
add dst-address=192.168.3.0/24 gateway=10.0.0.12 check-gateway=arp distance=1
You can play with distance parameter on every AP and on RB1100.
You can use two way static routing (loadbalancing) like this:
/ip route
add dst-address=192.168.0.0/24 gateway=10.0.0.1,10.0.0.9 check-gateway=arp distance=1
So a little bit advanced STATIC routing is sometimes better solution than dynamic routing. I do think so.
The only missing functionality with this kind of setup is BFD protocol. You can use BFD with dynamic routing only. The question is to Mikrotik. Is it possible to implement BFD for static routes?
For instance this way:
/ip route
add gateway=1.2.3.4 check-gateway=bfd
Maybe only for PtP links... but still for static routing?