The Internet of Medical Things (IoMT), an extension of the Internet of Things (IoT), is still in its early stages of development. Challenges that are inherent to IoT, persist in IoMT as well. The major focus is on data transmission within the healthcare domain due to its profound impact on health and public well-being. Issues such as latency, bandwidth constraints, and concerns regarding security and privacy are critical in IoMT owing to the sensitive nature of patient data, including patient identity and health status. Numerous forms of cyber-attacks pose threats to IoMT networks, making the reliable and secure transmission of critical medical data a challenging task. Several other situations, such as natural disasters, war, construction works, etc., can cause IoMT networks to become unavailable and fail to transmit the data. The first step in these situations is to recover from failure as quickly as possible, resume the data transfer, and detect the cause of faults, failures, and errors. Several solutions exist in the literature to make the IoMT resilient to failure. However, no single approach proposed in the literature can simultaneously protect the IoMT networks from various attacks, failures, and faults. This paper begins with a detailed description of IoMT and its applications. It considers the underlying requirements of resilience for IoMT networks, such as monitoring, control, diagnosis, and recovery. This paper comprehensively analyzes existing research efforts to provide IoMT network resilience against diverse causes. After investigating several research proposals, we identify that the combination of software-defined networks (SDNs), machine learning (ML), and microservices architecture (MSA) has the capabilities to fulfill the requirements for achieving resilience in the IoMT networks. It mainly focuses on the analysis of technologies, such as SDN, ML, and MSA, separately, for meeting the resilience requirements in the IoMT networks. SDN can be used for monitoring and control, and ML can be used for anomaly detection and diagnosis, whereas MSA can be used for bringing distributed functionality and recovery into the IoMT networks. This paper provides a case study that describes the remote patient monitoring (RPM) of a heart patient in IoMT networks. It covers the different failure scenarios in IoMT infrastructure. Finally, we provide a proposed methodology that elaborates how distributed functionality can be achieved during these failures using machine learning, software-defined networks, and microservices technologies.