- Bill Kable - bkable@pivotal.io
- Eitan Suez - esuez@pivotal.io
- Alexey Nesterov: anesterov@pivotal.io
- Bella Bai: ybai@pivotal.io
Spring Cloud Services Config Server Demo
Hystrix Request Collapsing - If you are doing a number of concurrent requests you may be performance benefit of batching. Hystrix provides this feature:
Hystrix Caching:
Enterprise Integration Patterns
Reactive Messaging Patterns with Actor Model (Thanks Danny)
Spring Cloud on Kubernetes Tuesday 11:30am–12:40pm, 19AB
Reactive Architectures with RSocket and Spring Cloud Gateway Wednesday, 4:20pm, 19AB
Spring Cloud Gateway for Stateless Microservice Authorization Thursday, 12:30pm, Ballroom G
How to Live in a Post - Spring Cloud Netflix World Tuesday, 2:00pm, 19AB
What's New in Spring Cloud Services 3 Tuesday, 3:20pm, 19AB
Building Robust and Resilient Apps Using Spring Boot and Resilience4j Thursday 12:30pm–1:30pm, 16AB
Question: Will @RefreshScope
work with Native file Spring Cloud Config backend?
Answer: Yes
Question: Does spring-cloud-bus use Eureka directly, or does it use an abstract discovery client? The context of the question is from the reference with following statement: "The bus currently supports sending messages to all nodes listening or all nodes for a particular service (as defined by Eureka)".
Answer: Spring Cloud Bus does not have any direct or dependencies on Eureka. It uses pub/sub model with AMQP and Kafka, not service discovery. This is likely for example use in a Microservices architecture using Eureka as service registry.
Question: Does Sleuth support instrumenting AMQP headers?
Answer: Yes (Thanks Matthew for the followup). See the Spring Cloud Sleuth docs Messaging for more broad discussion of which messaging providers are supported.
Question: I asked a question about using retry for ensuring cross service transactional integrity. The issue we have is 1 microservice is processing an order and making a request to a financial microservice. Occasionally the 2 services lose connectivity but only after the debit has been requested (and most of the time succeeds after the socket is severed). We are using retry with idempotent ids to have the order service re-request and see if the transaction completed. Is there a better way to approach this transient error?
Answer: The short form answer to that has a few options. Notice they are beyond the scope of the current Spring Cloud course, and require different architecture patterns:
-
Check out the Saga Pattern for a coarse grained overview, and this blog.
-
For traditional service transaction approach (which might be REST/SOAP over HTTP, or other RPC integration), consider an Orchestration Saga. From a Domain-driven-design (DDD) perspective, the Saga might be considered its own bounded context if the complexity of coordination is complex.
-
For event-based approach, consider using Choreographed Saga. Event-based and event-sourcing architectures are gaining a lot of attention to solve these types of problems, but would introduce significant change to an existing, exclusive RPC architecture.
Question: I asked a question about Hystrix exception handling for specific types of exceptions vs just run time. Can you please provide the link to the documentation.
Answer: I was incorrect in stating this is (externally) configurable. If you want to modify, this would need to be done in code. See How to use Hystrix for more info how the error and fallback propagation works.