Discover how Kubernetes continues to shape the industry as developers drive innovation and prepare for the future of K8s.
Observability and performance monitoring: DZone's final 2024 Trend Report survey is open! We'd love to hear about your experience.
Principal Cloud Advocate, Java/JVM Languages at Microsoft
Mark Heckler is a software developer & Principal Cloud Developer Advocate for Java/JVM Languages at Microsoft, conference speaker, Java Champion, and Kotlin Developer Expert focused on developing innovative production-ready software at velocity for cloud and edge computing platforms. He has worked with key players in numerous industries and public sector organizations to develop and deliver critical capabilities on time and on budget. Mark is an open source contributor and author of Spring Boot: Up and Running (https://bit.ly/springbootbook) and can be found on Twitter @mkheck.
Stats
Reputation: | 285 |
Pageviews: | 80.7K |
Articles: | 3 |
Comments: | 5 |
Comments
Jul 05, 2018 · Shamik Mitra
Hi Gary,
The best place to ask questions like this is on StackOverflow...we have several team members & committers - not to mention numerous amazing community members! - monitoring things there. That said, certain versions of Spring Cloud correspond with certain versions of Spring Boot (& other libs, etc.)...and a quick summary is found down on the page here: https://projects.spring.io/spring-cloud/
Please take a look, line up versions, and give it another shot. If you still run into any issues, don't hesitate to put them out on SO and you'll very likely have a resolution pretty quickly. Best to you!
Mar 05, 2018 · Shamik Mitra
Very welcome! Btw, Spring Boot 2.0 is now out, and a new release of Spring Cloud is imminent. Be sure to check it out!
Mar 05, 2018 · Shamik Mitra
Your article states the exact opposite:
For Config: "...if it fails, then all microservices fail because it can't resolute the properties values!"
For Eureka: "Again, this is a highly available component; if the discovery service is down, microservices can't communicate with each other..."
Neither of these statements is correct.
Regarding your question, each DiscoveryClient/EurekaClient will attempt to contact Eureka periodically (default=30s) until it reconnects.
Mar 05, 2018 · Shamik Mitra
Another small correction: Updating Config Server property values doesn't result in a push to its clients; that's actually an anti-pattern that can bring your network to its knees if several instances of that particular microservice exist. You can trigger an individual instance to request updated values via Actuator and/or have all instances refresh (w/zero downtime) using Spring Cloud Bus (https://cloud.spring.io/spring-cloud-bus/). This is a pull, reducing the likelihood of a "update the world" push killing your distributed system.
Mar 05, 2018 · Shamik Mitra
Hi Shamik,
Clients of Config Server & Eureka cache the properties they obtain (from Config) & locations of services (from Eureka), so while having multiple instances of each is recommended (most current properties/service locations), a loss of either doesn't stop your microservices from working. Please refer to the Spring Cloud docs (https://projects.spring.io/spring-cloud/spring-cloud.html) for details, and try it! It demonstrates Spring Cloud components' survivability quite nicely.
Thanks,
Mark
Spring Developer Advocate