The edge computing paradigm enables mobile devices with limited memory and processing power to execute delay-sensitive, compute-intensive, and bandwidth-intensive applications on the network by bringing the computational power and storage capacity closer to end users. Edge computing comprises heterogeneous computing platforms with resource constraints that are geographically distributed all over the network. As users are mobile and applications change over time, identifying an optimal task scheduling method is a complex multi-objective optimization problem that is NP-hard, meaning the exhaustive search with a time complexity that grows exponentially can solve the problem. Therefore, various approaches are utilized to discover a good solution for scheduling the tasks within a reasonable time complexity, while achieving the most optimal solution takes exponential time. This study reviews task scheduling algorithms based on centralized and distributed methods in a three-layer computing architecture to identify their strengths and limitations in scheduling tasks to edge service nodes.