Spring cloud upgrade 2020.0.x version - 44. Design to avoid link information loss

Code address of this series: https://github.com/JoJoTec/sp...In this section, we will continue to explain the design to avoid link information loss, mainly focusing on how to ensure that each GlobalFilter can maintain link information after obtaining the existing Span. First, we customize the core Publisher of Reactor, that is, the Mono and Flu ...

Posted by DBookatay on Mon, 29 Nov 2021 18:19:05 -0800

Spring cloud upgrade 2020.0.x version - 44. Design to avoid link information loss

Code address of this series: https://github.com/JoJoTec/sp...In this section, we first analyze some other points of Spring Cloud Gateway that may lose link information, then make some designs that can avoid link information loss, and then implement some customized globalfilters we need based on this designOther points of Spring Cloud Gateway th ...

Posted by footbagger on Sun, 28 Nov 2021 19:26:12 -0800

Spring cloud upgrade 2020.0.x - 41. Explanation of the basic process of spring cloud gateway

Code address of this series: https://github.com/JoJoTec/sp...Next, we will enter another big module on our upgrade path, namely the gateway module. In the gateway module, we abandoned zuul that has entered the maintenance state and selected Spring Cloud Gateway as the internal gateway. The reasons for choosing Spring Cloud Gateway instead of ng ...

Posted by Ardivaba on Wed, 24 Nov 2021 14:57:02 -0800

Spring cloud upgrade 2020.0.x version - 40. spock unit test encapsulated WebClient

Code address of this series: https://github.com/JoJoTec/sp...Let's test the previously encapsulated WebClient. From here on, we use spock to write groovy unit tests. The written unit tests are simpler and more flexible. We can see it in the next unit test code.Write spring boot context test based on spockWe add the configuration designed earlie ...

Posted by lorewap3 on Mon, 22 Nov 2021 10:27:26 -0800

Spring cloud upgrade 2020.0.x version - 37. Significance and design of asynchronous client encapsulation configuration management

Code address of this series: https://github.com/JoJoTec/sp...Why do I need to encapsulate the asynchronous HTTP client WebClientFor synchronous requests, we use FeignClient encapsulated in spring cloud openfeign and make additional customization. For asynchronous requests, the asynchronous Http client, i.e. WebClient, is used. The use of WebCli ...

Posted by keldorn on Thu, 18 Nov 2021 18:09:47 -0800

Spring cloud upgrade 2020.0.x - 35. Verify the correctness of thread isolation

Code address of this series: https://github.com/JoJoTec/sp...In the previous section, we verified the correctness of retry through unit test. In this section, we verified the correctness of our thread isolation, mainly including:Verify that the configuration is loaded correctly: that is, the configuration of Resilience4j added in the Spring con ...

Posted by flappy_warbucks on Tue, 16 Nov 2021 08:09:57 -0800

SpringCloud upgrade 2020.0.x - 30. FeignClient implementation retry

Code address of this series: https://github.com/JoJoTec/sp...Scenarios requiring retryIn the microservice system, online publishing will be encountered. The general publishing update strategy is to start a new one. After successful startup, close an old one until all the old ones are closed. Spring Boot has the function of graceful shutdown, wh ...

Posted by Swole on Tue, 09 Nov 2021 15:33:38 -0800

Spring cloud upgrade 2020.0.x version - 29. Analysis of spring cloud openfeign

Code address of this series: https://github.com/JoJoTec/sp...In many microservices that use cloud native, relatively small-scale ones may directly rely on the load balancer in the cloud service for internal domain name and service mapping, judge the instance health status through the health check interface, and then directly use OpenFeign to ge ...

Posted by tHud on Mon, 08 Nov 2021 18:09:12 -0800