![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
spring-cloud
老螺丝
支持中国金融数字化转型,coding爱好者
展开
-
优雅停机方案
springboot优雅停机概述线上重启面临的问题常见问题解决方案思路优雅停机相关知识Linux中断ShutdownHookSpringCloud对优雅停机的处理机制SpringBoot ApplicationContext生命周期Spring Bean生命周期服务注册生命周期Ribbon自动重试服务发现的心跳检测Ribbon负载均衡tomcat的响应机制Nginx的负载均衡策略传统架构的优雅停机...原创 2020-01-10 15:05:30 · 1533 阅读 · 1 评论 -
spring cloud实战(五)UAA
我们以spring cloud security OAuth2.0+JWT为案例分析如何搭建自己的用户认证中心(UAA: User Account and Authentication)。spring cloud security的安全体系庞大而复杂。先看看关键的依赖包的关系:以上是搭建一个UAA所需要最核心的jar包,我等凡人实在无法在有限的时间内阅读完所有spring security的源...原创 2019-09-12 09:32:17 · 3634 阅读 · 0 评论 -
spring cloud实战(四)spring cloud gateway
需求我们使用spring cloud gateway搭建一个最简单的微服务通用访问网关(General Purpose Server-side API gateway)。需求整理如下:所有资源服务通过consul agent注册到consul server,springcloud gateway直接根据service name做应用上下文转发。安全认证中心在gateway后面,sprin...原创 2019-09-11 16:22:35 · 1920 阅读 · 0 评论 -
SpringCloud源码研读(四):ribbon
Ribbon运行时Bean做了命名空间隔离,给每个服务方定义一个独立的bean上下文。这样做是为了支持对某一个服务单独配置负载。比如负载算法,是否重试等,也可以为每一个服务实例化一个服务发现逻辑,可以最大化地将自由交给实现方。核心领域对象SpringClientFactory是Ribbon全局唯一的bean工厂,只有一个实例。通过getInstances(String name, Clas...原创 2019-08-17 17:24:41 · 296 阅读 · 0 评论 -
SpringCloud源码研读(三):consul
自动配置在spring-cloud-consul-discovery.jar!/META-INF/spring.factories中,有如下配置:org.springframework.boot.autoconfigure.EnableAutoConfiguration=\org.springframework.cloud.consul.discovery.RibbonConsulAutoC...原创 2019-08-17 17:17:16 · 1998 阅读 · 1 评论 -
spring cloud实战(二)open feign
Feign是一种声明式、模板化的REST客户端。在Spring Cloud中使用Feign, 我们可以做到使用HTTP请求远程服务时能与调用本地方法一样的编码体验,开发者完全感知不到这是远程方法,省略了大量的http请求代码。开始使用FeignSpring Cloud提供了完备的Feign配置启动功能。在pom.xml中引入Feign依赖,添加如下内容:<dependency&g...原创 2019-08-12 09:13:50 · 747 阅读 · 0 评论 -
spring cloud实战(三)consul
Consul 介绍Consul 是 HashiCorp 公司推出的开源工具,用于实现分布式系统的服务发现与配置。与其它分布式服务注册与发现的方案,Consul 的方案更“一站式”,内置了服务注册与发现框 架、分布一致性协议实现、健康检查、Key/Value 存储、多数据中心方案,不再需要依赖其它工具(比如 ZooKeeper 等)。使用起来也较 为简单。Consul 使用 Go 语言编写,因此具...原创 2019-08-15 10:22:45 · 2894 阅读 · 0 评论 -
Spring Cloud源码研读(二):openFeign
Feign的工作原理openFeign为了实现高度的灵活和舒适的使用体验,使用了大量的设计模式。简直是设计模式学习的最佳范本。初始化过程@EnableFeignClients注解将类FeignClientsRegistrar注册到Spring中。当springboot应用启动时,FeignClientsRegistrar会扫描所有@FeignClients的注解的类,将这些接口bean注...原创 2019-08-08 16:47:02 · 308 阅读 · 0 评论 -
Spring Cloud源码研读(一):启动与Bean加载
SpringBoot启动核心逻辑通常最简单的springboot项目的总入口是如下写法。类上加注解@SpringBootApplication,然后直接调用静态方法SpringApplication#run(Class<?> primarySource,String… args):@SpringBootApplicationpublic class MyApplication {...原创 2019-08-07 20:05:40 · 580 阅读 · 0 评论 -
spring cloud实战(一)spring cloud config
项目模板客户端使用spring boot项目目录结构模板├ {projectRoot} ├ pom.xml ├ test │ └... └ src ├ main ├ java │ └ com... └ resources ├ bootstrap.yml ├ logback-spring.yml └ application-local.ym...原创 2019-06-03 18:13:10 · 286 阅读 · 0 评论