
SpringCloud
文章平均质量分 81
悠然予夏
(考研备战中)纵有疾风起,人生不言弃;风乍起,合当奋意向此生;熬过无人问津的日子,才有诗和远方。
喜欢Java,热爱编程。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Nacos + Sentinel + Dubbo 三剑合璧
改造“自动投递微服务”和“简历微服务”,删除OpenFeign 和 Ribbon,使用DubboRPC 和 Dubbo LB首先,需要删除或者注释掉父工程中的热部署依赖。原创 2022-09-03 14:29:44 · 701 阅读 · 0 评论 -
SCA Sentinel 分布式系统的流量防控(二)
注解类似于Hystrix中的@HystrixCommand注解,@SentinelResource注解中有两个属性需要我们进行区分,属性用来指定不满足Sentinel规则的降级兜底方法,fallback属性用于指定Java运行时异常兜底方法。(1)在API接口资源处配置/**value:定义资源名blockHandlerClass:指定Sentinel规则异常兜底逻辑所在class类blockHandler:指定Sentinel规则异常兜底逻辑具体哪个⽅法。原创 2022-09-03 13:24:57 · 794 阅读 · 0 评论 -
SCA Sentinel 分布式系统的流量防控(一)
Sentinel是⼀个面向云原生微服务的流量控制、熔断降级组件。替代Hystrix,针对问题:服务雪崩、服务降级、服务熔断、服务限流。Hystrix:服务消费者(自动投递微服务)—>调用服务提供者(简历微服务),在调用方引入Hystrix—> 单独搞了一个Dashboard项目—>Turbine。自己搭建监控平台 dashboard没有提供UI界面进行服务熔断、服务降级等配置(而是写代码,入侵了我们源程序环境)独立可部署Dashboard/控制台组件。原创 2022-09-03 10:57:40 · 303 阅读 · 0 评论 -
SCA Nacos 服务注册和配置中心(二)
思考:一个微服务希望从配置中心Nacos server中获取多个dataId的配置信息,可以的,扩展多个dataId。(1)安装3个或3个以上的Nacos,复制解压后的nacos文件夹,分别命名为nacos-01、nacos-02、nacos-03。Github不需要了(配置信息直接配置在Nacos server中),Bus也不需要了(依然可以完成动态刷新)。(修改的是Nacos配置文件)优先级:根据规则生成的dataId > 扩展的dataId(对于扩展的dataId,[n] n越大优先级越高)原创 2022-09-02 14:21:57 · 481 阅读 · 0 评论 -
SCA Nacos 服务注册和配置中心(一)
Nacos (Dynamic Naming and Configuration Service)是阿里巴巴开源的一个针对微服务架构中服务发现、配置管理和服务管理平台。Nacos就是注册中心+配置中心的组合(Nacos=Eureka+Config+Bus)Nacos功能特性服务发现与健康检查动态配置管理动态DNS服务服务和元数据管理(管理平台的⻆度,nacos也有一个ui页⾯,可以看到注册的服务及其实例信息(元数据信息)等),动态的服务权重调整、动态服务优雅下线,都可以去做。原创 2022-09-02 09:51:48 · 515 阅读 · 0 评论 -
Spring Cloud Oauth2 扩展
OAuth2帮我们生成的JWT令牌载荷部分信息有限,关于用户信息只有一个user_name,有些场景下我们希望放入一些扩展信息项,比如,之前我们经常向session中存入userId,或者现在我希望在JWT的载荷部分存入当时请求令牌的客户端IP,客户端携带令牌访问资源服务时,可以对比当前请求的客户端真实IP和令牌中存放的客户端IP是否匹配,不匹配拒绝请求,以此进一步提高安全性。获取到扩展信息后,就可以做其他的处理了,比如根据userId进一步处理,或者根据clientIp处理,或者其他都是可以的了。...原创 2022-09-01 14:36:04 · 996 阅读 · 0 评论 -
Spring Cloud Oauth2 与 数据库交互
运用代码演示了Spring Cloud Oauth2 与 数据库交互原创 2022-09-01 12:37:21 · 881 阅读 · 0 评论 -
JWT改造统一认证授权中心的令牌存储机制
通过上边的测试我们发现,当资源服务和授权服务不在一起时资源服务使用RemoteTokenServices 远程请求授权服务验证token,如果访问量较大将会影响系统的性能。解决上边问题: 令牌采用JWT格式即可解决上边的问题,用户认证通过会得到一个JWT令牌,JWT令牌中已经包括了用户相关的信 息,客户端只需要携带JWT访问资源服务,资源服务根据事先约定的算法自行完成令牌校验,无需每次都请求认证 服务完成授权。...原创 2022-09-01 09:34:00 · 911 阅读 · 0 评论 -
Spring Cloud OAuth2 认证服务器
Spring Cloud OAuth2 是 Spring Cloud 体系对OAuth2协议的实现,可以用来做多个微服务的统一认证(验证身份合法性)授权(验证权限)。通过向OAuth2服务(统一认证授权服务)发送某个类型的grant_type进行集中认证和授权,从而获得access_token(访问令牌),而这个token是受其他微服务信任的。............原创 2022-08-31 19:13:02 · 3243 阅读 · 0 评论 -
微服务统一认证方案
OAuth(开放授权)是一个开放协议/标准,允许用户授权第三方应用访问他们存储在另外的服务提供者上的信息,而不需要将用户名和密码提供给第三方应用或分享他们数据的所有内容。允许用户授权第三方应用访问他们存储在另外的服务提供者上的信息,而不需要将用户名和密码提供给第三方应用或分享他们数据的所有内容。用户:我们自己第三方应用:拉勾网另外的服务提供者:QQOAuth2是OAuth协议的延续版本,但不向后兼容OAuth1即完全废止了OAuth1。...原创 2022-08-30 17:09:13 · 1670 阅读 · 0 评论 -
分布式链路追踪技术 Sleuth +Zipkin
这样的日志首先不容易阅读观察,另外日志分散在各个微服务服务器上,接下来我们使用zipkin统一聚合轨迹日志并进行存储展示。请求到来时,我们在控制台可以观察到 Sleuth 输出的日志(全局 TraceId、SpanId等)。Zipkin server 页面方便我们查看服务调用依赖关系及一些性能指标和异常信息。两部分,Zipkin Server是一个单独的服务,Zipkin Client就是具体的微服务。Zipkin Client 构建(在具体微服务中修改)另外,对于log日志,依然保持开启debug状态。.原创 2022-08-30 10:40:29 · 570 阅读 · 1 评论 -
分布式链路追踪技术
那么,在微服务架构下,一次请求少则经过三四次服务调用完成,多则跨越几十个甚至是上百个服务节点。一个Trace由一个或者多个Span组成,每一个Span都有一个SpanId,Span中会记录TraceId,同时还有一个叫做ParentId,指向了另外一个Span的SpanId,表明父子关系,其实本质表达了依赖关系。上图描述了一个常见的调用场景,一个请求通过网关服务路由到下游的微服务-1,然后微服务-1调用微服务-2,拿到结果后再调用微服务-3,最后组合微服务-2和微服务-3的结果,通过网关返回给用户。...原创 2022-08-30 10:14:25 · 2767 阅读 · 0 评论 -
常见问题及解决方案
其次是Hystrix的超时配置,Hystrix的超时时间要大于Ribbon的超时时间,因为Hystrix将请求包装了起来,特别需要注意的是,如果Ribbon开启了重试机制,比如重试3 次,Ribbon 的超时为 1 秒,那么 Hystrix 的超时时间应该大于 3 秒,否则就会出现 Ribbon 还在重试中,而 Hystrix 已经超时的现象。Eureka Server 中会有定时任务去检测失效的服务,将服务实例信息从注册表中移除,也可以将这个失效检测的时间缩短,这样服务下线后就能够及时从注册表中清除。..原创 2022-08-29 13:48:56 · 821 阅读 · 0 评论 -
Spring Cloud Stream消息驱动组件
Stream 内置了两种接口Source和Sink分别定义了 binding 为 “input” 的输入流和“output” 的输出流,我们也可以自定义各种输入输出流(通道),但实际我们可以在我们的服务中使用多个binder、多个输入通道和输出通道,然而默认就带了一个input的输入通道和一个output的输出通道,怎么办?我们是可以自定义消息通道的,学着Source和Sink的样子,给你的通道定义个自己的名字,多个输入通道和输出通道是可以写在一个类中的。定义接口}如何使用?在。...原创 2022-08-29 11:55:17 · 1195 阅读 · 0 评论 -
Config配置刷新
Spring Cloud Bus(基于MQ的,支持RabbitMq/Kafka) 是Spring Cloud中的消息总线方案,Spring Cloud Config + Spring Cloud Bus 结合可以实现配置信息的自动更新。原创 2022-08-28 11:42:24 · 1328 阅读 · 0 评论 -
Spring Cloud Config 分布式配置中心
Spring Cloud Config是一个分布式配置管理方案,包含了 Server端和 Client端两个部分。Server 端:提供配置文件的存储、以接口的形式将配置文件的内容提供出去,通过使用@EnableConfigServer注解在 Spring boot 应用中非常简单的嵌⼊Client 端:通过接口获取配置数据并初始化自己的应用。...原创 2022-08-28 10:07:42 · 373 阅读 · 0 评论 -
GateWay过滤器 与 高可用
生命周期时机点作用pre这种过滤器在请求被路由之前调用。我们可利用这种过滤器实现身份验证、在集群中选择请求的微服务、记录调试信息等。post这种过滤器在路由到微服务以后执行。这种过滤器可用来为响应添加标准的 HTTP Header、收集统计信息和指标、将响应从微服务发送给客户端等。从过滤器类型的角度,Spring Cloud GateWay的过滤器分为和两种过滤器类型影响范围应用到单个路由路由上应用到所有的路由上如Gateway Filter可以去掉url中的占位后转发路由,比如。...原创 2022-08-27 19:19:52 · 651 阅读 · 0 评论 -
GateWay路由规则详解 与 GateWay动态路由详解
Spring Cloud GateWay 帮我们内置了很多 Predicates功能,实现了各种路由匹配规则(通过 Header、请求参数等作为条件)匹配到对应的路由。原创 2022-08-27 19:02:45 · 4906 阅读 · 0 评论 -
GateWay应用
使用网关对自动投递微服务进行代理(添加在它的上游,相当于隐藏了具体微服务的信息,对外暴露的是网关)原创 2022-08-27 18:47:59 · 394 阅读 · 0 评论 -
GateWay网关组件
Spring Cloud GateWay是Spring Cloud的一个全新项目,目标是取代Netflix Zuul,它基于Spring5.0+SpringBoot2.0+WebFlux(基于高性能的Reactor模式响应式通信框架Netty,异步非阻塞模型)等技术开发,性能高于Zuul,官方测试,GateWay是Zuul的1.6倍,旨在为微服务架构提供一种简单有效的统一的API路由管理方式。...原创 2022-08-27 13:55:43 · 474 阅读 · 0 评论 -
Feign核心源码剖析
对Feign核心源码进行了简略的剖析原创 2022-08-27 10:24:08 · 252 阅读 · 0 评论 -
Feign高级配置
介绍了Feign的一些常用配置。原创 2022-08-27 09:43:54 · 1389 阅读 · 0 评论 -
Feign配置应用
运用案例演示介绍了,OpenFeign在微服务中的使用方法原创 2022-08-26 11:33:25 · 363 阅读 · 0 评论 -
Hystrix核心源码剖析
对Hystrix核心源码进行了剖析原创 2022-08-26 09:49:35 · 416 阅读 · 0 评论 -
Hystrix Turbine聚合监控
介绍了Hystrix Turbine聚合监控的使用方式原创 2022-08-22 11:12:09 · 467 阅读 · 0 评论 -
Hystrix Dashboard断路监控仪表盘
介绍了Hystrix Dashboard断路监控仪表盘的使用方式原创 2022-08-21 20:45:42 · 385 阅读 · 0 评论 -
Hystrix工作流程与高级应用
介绍了Hystrix工作流程与高级应用。原创 2022-08-21 19:37:28 · 385 阅读 · 0 评论 -
Hystrix应用
介绍了Hystrix的使用方式原创 2022-08-21 17:13:54 · 374 阅读 · 0 评论 -
Hystrix熔断器简介
Hystrix(豪猪----->刺),宣言“defend your app”是由Netflix开源的一个延迟和容错库,用于隔离访问远程系统、服务或者第三方库,防止级联失败,从而提升系统的可用性与容错性。Hystrix主要通过以下几点实现延迟和容错。包裹请求:使用HystrixCommand包裹对依赖的调用逻辑。自动投递微服务方法(@HystrixCommand 添加Hystrix控制) ——调用简历微服务跳闸机制:当某服务的错误率超过一定的阈值时,Hystrix可以跳闸,停止请求该服务一段时间。原创 2022-08-20 21:39:16 · 355 阅读 · 0 评论 -
Ribbon核心源码剖析
简要的对Ribbon源码进行剖析。原创 2022-08-20 17:58:14 · 428 阅读 · 0 评论 -
Ribbon负载均衡
Eureka⼀般配合Ribbon进行使用,Ribbon利用从Eureka中读取到服务信息,在调用服务提供者提供的服务时,会根据一定的算法进行负载。,比如我们要说的Ribbon,服务消费者客户端会有一个服务器地址列表,调用方在请求前通过一定的负载均衡算法选择一个服务器进行访问,负载均衡算法的执行是在请求客户端进行。,比如Nginx、F5这些,请求到达服务器之后由这些负载均衡器根据一定的算法将请求路由到目标服务器处理。Ribbon内置了多种负载均衡策略,内部负责复杂均衡的顶级接口为。打印如下(默认策略为轮询)原创 2022-08-19 16:02:22 · 555 阅读 · 0 评论 -
Eureka细节详解
介绍了Eureka的详细细节。原创 2022-08-19 10:49:56 · 1524 阅读 · 0 评论 -
Eureka应用及高可用集群
使用代码演示了Eureka的应用及高可用集群原创 2022-08-18 17:21:23 · 447 阅读 · 0 评论 -
Eureka服务注册中心
介绍了Eureka的作用。原创 2022-08-18 13:11:00 · 430 阅读 · 0 评论 -
案例准备
其中有⼀个操作是:为企业用户开启一个定时任务,根据企业录入的用人条件,每日匹配一定数量的应聘者“投递”到企业的资源池中去,那么系统在将匹配到的应聘者投递到资源池的时候需要先检查:此时应聘者默认简历的状态(公开/隐藏),如果此时默认简历的状态已经被应聘者设置为“隐藏”,那么不再执行“投递”操作。“自动投递功能”在“自动投递微服务”中,“简历状态查询功能”在“简历微服务”中,那么就涉及到“自动投递微服务”调用“简历微服务”查询简历。本次课程数据库使⽤Mysql 5.7.x。下会存在什么问题呢?...原创 2022-08-17 11:09:08 · 224 阅读 · 0 评论 -
Spring Cloud 综述
介绍了Spring cloud基本概念原创 2022-08-17 10:33:36 · 372 阅读 · 0 评论 -
微服务架构
介绍了微服务架构概念原创 2022-08-16 10:14:06 · 550 阅读 · 1 评论 -
Eureka配置高可用
介绍了如何简单搭建Eureka的高可用原创 2022-04-14 12:18:19 · 877 阅读 · 0 评论 -
Eureka – 相关配置及特性
详细的介绍了Eureka的配置参数原创 2022-04-14 10:56:41 · 3477 阅读 · 0 评论 -
Eureka入门案例
使用一个案例介绍了如何在springcloud中使用eureka调用服务原创 2022-04-13 22:54:31 · 1415 阅读 · 0 评论