Distributed systems need a large amount of network resources to work at their full potential. Network environments such as data centers and across wide-area networks usually provide multiple paths for each host to mitigate outage risks. However, even with multiple paths, only one is used per connection, which limits the actual throughput. Currently, there is no comprehensive solution that accounts for all of multipathing, congestion control, and routing. Even by using transport-layer multipathing protocol such as MPTCP, it is still incomplete because this protocol cannot route itself. By providing a multipathing-aware routing system it is possible to increase useable bandwidth and provide a more stable connection by actually providing real multipathing that works as intended on all relevant layers. Previous work on routing in high-performance networks mostly consider general-purpose bandwidth maximization algorithms in routing, without optimizing for specific cases such as MPTCP and software-defined networks. On the other side, recent research on gmultipath routingh concerns more about wireless and ad hoc networks, which are not the case for data center networks or wide-area networks. A combined approach is necessary. In this work, a routing algorithm tailored for MPTCP is explored, along with other similar promising algorithms. It is expected that the proposed algorithm performs better than normal shortest-path routing when MPTCP and multiple network paths are available. This work is expected to result in a better performance for distributed systems, and outlines the possible ways to increase available throughput and increase the performance.