Scaling for spring boot application using spring cloud - spring-boot

I am using spring boot with Kubernetes and Eventhub. To connect with Azure Eventhub i use spring cloud stream. What is the math to determine the number of pods assuming non reactive spring boot application with apache tomcat?
Edit 1: to reframe my question, how do you factor in spring boot performance , request rate , user count, etc while scaling the pods?

In general the number of pods can be managed with a Deployment in Kubernetes. For more information you can see here kubernetes.io. In a Deployment you tell Kubernetes how many Replicas you want, which means how many Pods should be running. I don't know what you mean with non reactive spring boot application with apache tomcat. I also don't know about spring cloud stream.

Related

Can Spring Cloud Stream work with Spring Cloud Kubernetes?

I haven't seen any example of combining the two, even though it makes sense they'll work together (because of being both subprojects of Spring Cloud). I want to use Spring Cloud Stream (Reactive Processing) for reading from Kafka and writing to MongoDB with the Reactive Mongo driver. Can I use Spring Cloud Config and Spring Cloud Kubernetes for a remote git configuration server, even though the application is an event-driven application and not a requests-based API?
It's pretty unclear how to plug these Kubernetes and config projects into Spring Cloud Stream, and in general, it's unclear to me if all of the other Spring Cloud projects can work with Spring Cloud Stream reactively. For instance, I couldn't also find a reference for using Spring Cloud Sleuth & Zipkin with Spring Cloud Stream. Can someone make it clearer for me and reference code examples if exists?

Spring Cloud Data Flow - can it be used without spring boot?

Can Spring Cloud Data Flow be used in Spring5 applications - NOT Spring Boot - my current employer seems to view Spring Boot applications as insecure (I've no idea why) in anyway I'd like to try use this stack for an integration project, so is it possible to use it without Spring Boot?
With Spring Cloud Data Flow you can deploy streams, tasks and batches.
This is all based on Spring, Spring Cloud and Spring Boot. Spring Boot is nothing else as a preconfigured Spring stack.
Spring Data Flow is a runitme that usually needs a cloud infrastructure like Kubernets.
I'm not sure if you really are looking for that or more for something like https://spring.io/projects/spring-integration

Grails 2.4 application as Spring cloud microservice

We want to integrate legacy grails 2.4 and java7 application to our microservices infrastructure. We use spring cloud netflix, Camden.SR4 release and java8 in microservices setup. We use zuul, eureka, config service.
I know that with grails 3 this task is relatively easy, but currently we cant do that.
The biggest question is how can I register grails 2.4 app in Eureka.
Also, we don't want to use sidecar at the moment.
Spring Cloud requires Spring Boot. There's nothing keeping you from using the netflix eureka libraries directly.
https://github.com/Netflix/eureka/blob/master/eureka-examples/src/main/java/com/netflix/eureka/ExampleEurekaClient.java

Netflix Arcaius serving as config service for multiple Spring Boot micro-services

I'm having a problem with how to use just Netflix Archaius to work as a config server for multiple Spring Boot microservices. Previously when I applied Eureka and Spring Cloud Config Server in my multiple-services project built with Spring Boot, each microservie would get its own .properties file from the Spring Cloud Config server through the discovery function of the Eureka service. But now I need to change the Spring Cloud Config Server into a Netflix Archaius service, from which the Spring Boot microservices will get .properties file, i have no idea about how to achieve it. Is there any good idea for my reference? Thanks in advance.
Finally I gave up using Netflix Archaius to pull properties file for microservices. Instead, I wrote down required key-value-pair properties into the application.properties of each springboot microservice. Since all the springboot microservices will be deployed in the DCOS platform in the form of docker containers, some inconstant properties were configured into the marathon deployment scripts, which could be populated into the springboot applet. In this way I managed to configure the key-value-pair properties from the outside instead of being hardcoded in the program codes.

Is anyone focusing on Mule with Spring Boot?

I have been using Spring Boot for a short while and it's great for getting things up and running quickly.
Is anyone working on a template for integrating Mule ESB with Spring Boot ?
Not sure if Mule will be charge of this or not. But you can suggest this in the spring-boot project in github
An approach could be use queues , so mule expose a functionality as queue enpoint and spring boot send and receive string messages to mule queue. I have seen it work in complex scenarios.
Latency will increase but the core of integrations will remain in mule esb.
Other approaches:
Starting mule programmatically from spring boot: http://glawson6.github.io/spring/mule/2015/04/22/using-spring-boot-with-mule.html (not tested)
https://github.com/denschu/mule-spring-boot-starter(not tested)
HTH

Resources