We recently moved from Spring Cloud Netflix Ribbon to Spring Cloud LoadBalancer and using spring-cloud-kubernetes as discovery client.
What is the equivalent property for spring.cloud.kubernetes.ribbon.mode (https://cloud.spring.io/spring-cloud-static/spring-cloud-kubernetes/1.1.2.RELEASE/reference/html/#ribbon-discovery-in-kubernetes) now? Since ribbon is no longer in the picture.
We are working on providing SC LoadBalancer support now: https://github.com/spring-cloud/spring-cloud-kubernetes/issues/516.
Related
I'm studying Spring Cloud Gateway but it seems in case of kubernetes & Istio claster stack it's useless, because everything can get from the kubernetes & Istio out of the box.
Am I right or I miss something and Spring Cloud Gateway can do something they cannot? In other word are there usecases which I cannot solve with kubernetes & Istio but rather need Spring Cloud Gateway?
From the announcement of the Spring Cloud Greenwich release, see https://spring.io/blog/2019/01/23/spring-cloud-greenwich-release-is-now-available, I noticed that is recommended to replace Netflix Ribbon with Spring Cloud Loadbalancer.
Does that mean that Spring Cloud Loadbalancer can be use by a client to connect to services registered in Netflix Eureka without using Netflix Ribbon?
I have tried to find documentation and/or examples that describes how to do that, but I haven't find any.
You can find a sample in the tests of Spring Cloud Loadbalancer.
So what you'll have to do is the following. You'll have to annotate a configuration class with #LoadBalancerClient (or wrap it in #LoadBalancerClients if you want to have multiple clients) where you specify your client's name and its config class.
In that load balancer client's config class you'll need to create a bean which will return a load balancer. In the test it's the RoundRobinLoadBalancer.
You can then use that load balancer bean to pick the next service instance, which in turn can be used to make the call to your other service.
See this test: https://github.com/spring-cloud/spring-cloud-commons/blob/master/spring-cloud-loadbalancer/src/test/java/org/springframework/cloud/loadbalancer/core/LoadBalancerTest.java#L132
In spring cloud dataflow, as per my understanding each stream is a microservice but the dataflow server is not. Am I right?
Is it possible to have multiple instances of spring cloud dataflow(SCDF) server? How to loadbalance the dataflow server? I am planning to deploy it in AWS.The official documentation didn't mention anything about loadbalancing of dataflow server. If it is possible how do Dashboard, shell works?
The SCDF-server is a regular Spring MVC + Spring Boot application that serves the REST-APIs, DSL commands, UI, and repository access for stream/task metadata persistence.
In platforms like Cloud Foundry, Kubernetes and others, upon scaling the SCDF-server, the platform automatically handles traffic routing and load-balancing.
If you were to orchestrate the deployment on your own and on AWS, you'd have to plug a load-balancer in front of the server instances. The shell, UI, and REST-APIs would hit the load-balancer instead, to interact with the SCDF-server.
We are moving our large set of eureka based microservices to consul based discovery.
There was one feature of the eureka version of spring cloud that we were used. You could register a specific hostname such as "hostname: blah".
Is a capability like that present in the spring cloud consul version?
You can set spring.cloud.consul.discovery.hostname. It's not documented, but it should show in IDE auto-complete with the note on what it is for.
See ConsulDiscoveryProperties.
I am now using spring cloud to build micro service application, and now I need to create service monitoring solution to dynamically check status for each micro-service.
I am not seeing this supported in spring cloud, but I did see NetFlix is providing Srvo, does anyone ever used it or can anyone give some good suggestions on what will be best solution to monitor status for all the micro-services?
Thanks
Spring Cloud Netflix adds servo metrics to the standard spring boot /metrics actuator endpoint. See Spring Boot Production Ready Metrics to see about a MetricRepository. Here is some documentation on using redis. See this project for an example configuration.