Some confusion about rebalance and allocation

I'm got confuse about cluster.routing.allocation.enable and cluster.routing.rebalance.enable
(1)if I set
cluster.routing.allocation.enable = none
cluster.routing.rebalance.enable = all
still no rebalance will happen?
(2)can I think rebalance is allocation's submodule?
I have no environment to verify ,hope somebody tell me.

That's correct, rebalancing involves allocating shards so if shard allocation is disabled then no rebalancing will occur.

thank you so much!