diff --git a/spring-cloud/spring-cloud-eureka-self-preservation/pom.xml b/spring-cloud/spring-cloud-eureka-self-preservation/pom.xml
new file mode 100644
index 0000000000..ce9272ed59
--- /dev/null
+++ b/spring-cloud/spring-cloud-eureka-self-preservation/pom.xml
@@ -0,0 +1,37 @@
+
+
+ 4.0.0
+ com.baeldung.spring.cloud.eureka
+ spring-cloud-eureka-self-preservation
+ spring-cloud-eureka-self-preservation
+ Spring Cloud Eureka Server Self Preservation
+ pom
+
+
+ com.baeldung.spring.cloud
+ spring-cloud
+ 1.0.0-SNAPSHOT
+ ..
+
+
+
+ spring-cloud-eureka-server
+ spring-cloud-eureka-client
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-test
+ ${spring-boot.version}
+ test
+
+
+
+
+ 2.1.3.RELEASE
+ Greenwich.SR3
+
+
+
diff --git a/spring-cloud/spring-cloud-eureka-self-preservation/spring-cloud-eureka-client/pom.xml b/spring-cloud/spring-cloud-eureka-self-preservation/spring-cloud-eureka-client/pom.xml
new file mode 100644
index 0000000000..2c522a8d9d
--- /dev/null
+++ b/spring-cloud/spring-cloud-eureka-self-preservation/spring-cloud-eureka-client/pom.xml
@@ -0,0 +1,40 @@
+
+
+ 4.0.0
+ spring-cloud-eureka-client
+ spring-cloud-eureka-client
+ Spring Cloud Eureka Sample Client
+ jar
+
+
+ com.baeldung.spring.cloud.eureka
+ spring-cloud-eureka-self-preservation
+ 1.0.0-SNAPSHOT
+ ..
+
+
+
+
+ org.springframework.cloud
+ spring-cloud-starter-netflix-eureka-client
+
+
+ org.springframework.boot
+ spring-boot-starter-web
+
+
+
+
+
+
+ org.springframework.cloud
+ spring-cloud-starter-parent
+ ${spring-cloud-dependencies.version}
+ pom
+ import
+
+
+
+
+
diff --git a/spring-cloud/spring-cloud-eureka-self-preservation/spring-cloud-eureka-client/src/main/java/com/baeldung/spring/cloud/eureka/client/EurekaClientApplication.java b/spring-cloud/spring-cloud-eureka-self-preservation/spring-cloud-eureka-client/src/main/java/com/baeldung/spring/cloud/eureka/client/EurekaClientApplication.java
new file mode 100644
index 0000000000..c76af4d75e
--- /dev/null
+++ b/spring-cloud/spring-cloud-eureka-self-preservation/spring-cloud-eureka-client/src/main/java/com/baeldung/spring/cloud/eureka/client/EurekaClientApplication.java
@@ -0,0 +1,15 @@
+package com.baeldung.spring.cloud.eureka.client;
+
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.cloud.netflix.eureka.EnableEurekaClient;
+
+@SpringBootApplication
+@EnableEurekaClient
+public class EurekaClientApplication {
+
+ public static void main(String[] args) {
+ SpringApplication.run(EurekaClientApplication.class, args);
+ }
+
+}
diff --git a/spring-cloud/spring-cloud-eureka-self-preservation/spring-cloud-eureka-client/src/main/resources/application.properties b/spring-cloud/spring-cloud-eureka-self-preservation/spring-cloud-eureka-client/src/main/resources/application.properties
new file mode 100644
index 0000000000..5b3040e465
--- /dev/null
+++ b/spring-cloud/spring-cloud-eureka-self-preservation/spring-cloud-eureka-client/src/main/resources/application.properties
@@ -0,0 +1,6 @@
+spring.application.name=Eurekaclient
+server.port=${PORT:0}
+eureka.client.serviceUrl.defaultZone=http://localhost:8761/eureka
+eureka.instance.preferIpAddress = true
+eureka.client.should-unregister-on-shutdown=false
+eureka.instance.lease-renewal-interval-in-seconds=30
\ No newline at end of file
diff --git a/spring-cloud/spring-cloud-eureka-self-preservation/spring-cloud-eureka-server/pom.xml b/spring-cloud/spring-cloud-eureka-self-preservation/spring-cloud-eureka-server/pom.xml
new file mode 100644
index 0000000000..7d9d9d33a8
--- /dev/null
+++ b/spring-cloud/spring-cloud-eureka-self-preservation/spring-cloud-eureka-server/pom.xml
@@ -0,0 +1,36 @@
+
+
+ 4.0.0
+ spring-cloud-eureka-server
+ spring-cloud-eureka-server
+ Spring Cloud Eureka Server
+ jar
+
+
+ com.baeldung.spring.cloud.eureka
+ spring-cloud-eureka-self-preservation
+ 1.0.0-SNAPSHOT
+ ..
+
+
+
+
+ org.springframework.cloud
+ spring-cloud-starter-netflix-eureka-server
+
+
+
+
+
+
+ org.springframework.cloud
+ spring-cloud-starter-parent
+ ${spring-cloud-dependencies.version}
+ pom
+ import
+
+
+
+
+
diff --git a/spring-cloud/spring-cloud-eureka-self-preservation/spring-cloud-eureka-server/src/main/java/com/baeldung/spring/cloud/eureka/server/EurekaServerApplication.java b/spring-cloud/spring-cloud-eureka-self-preservation/spring-cloud-eureka-server/src/main/java/com/baeldung/spring/cloud/eureka/server/EurekaServerApplication.java
new file mode 100644
index 0000000000..d55145448d
--- /dev/null
+++ b/spring-cloud/spring-cloud-eureka-self-preservation/spring-cloud-eureka-server/src/main/java/com/baeldung/spring/cloud/eureka/server/EurekaServerApplication.java
@@ -0,0 +1,13 @@
+package com.baeldung.spring.cloud.eureka.server;
+
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;
+
+@SpringBootApplication
+@EnableEurekaServer
+public class EurekaServerApplication {
+ public static void main(String[] args) {
+ SpringApplication.run(EurekaServerApplication.class, args);
+ }
+}
diff --git a/spring-cloud/spring-cloud-eureka-self-preservation/spring-cloud-eureka-server/src/main/resources/application.properties b/spring-cloud/spring-cloud-eureka-self-preservation/spring-cloud-eureka-server/src/main/resources/application.properties
new file mode 100644
index 0000000000..ae0bc52c5b
--- /dev/null
+++ b/spring-cloud/spring-cloud-eureka-self-preservation/spring-cloud-eureka-server/src/main/resources/application.properties
@@ -0,0 +1,11 @@
+spring.application.name=Eurekaserver
+eureka.client.registerWithEureka=false
+eureka.client.fetchRegistry=false
+server.port=8761
+eureka.instance.hostname=localhost
+eureka.server.expected-client-renewal-interval-seconds=30
+eureka.instance.lease-expiration-duration-in-seconds=90
+eureka.server.eviction-interval-timer-in-ms=60000
+eureka.server.renewal-percent-threshold=0.85
+eureka.server.renewal-threshold-update-interval-ms=900000
+eureka.server.enable-self-preservation=true
\ No newline at end of file