摘要: Hystrix 在服务端接口默认开启并支持了熔断机制,可以使用 @HystrixCommand 注解中的 commandProperties 进行熔断参数自定义配置,默认情况下对于一个接口来说,5 秒钟发生 20 次降级,或者失败率达到 50% 时,就会触发熔断机制。 所谓熔断机制,可以举一个简单的 阅读全文
posted @ 2022-09-17 20:51 乔京飞 阅读(11959) 评论(0) 推荐(0)
摘要: 前面已经介绍了 Hystrix 服务端降级的实现方案,本篇博客将介绍 Hystrix 在客户端降级的实现方案。 由于我使用最新版的 SpringCloud(版本 2021.0.3)实现客户端降级没有成功,所以就拿相对比较稳定的 SpringCloud(版本 Hoxton.SR12)和对应的 Spri 阅读全文
posted @ 2022-09-04 22:57 乔京飞 阅读(11561) 评论(0) 推荐(0)
摘要: Hystrix 是 Netflix 公司提供的一个开源免费组件,主要用于降级熔断服务调用,防止系统出现级联失败(也就是通常所说的雪崩)。我们在实际开发中,需要在服务端和客户端都有降级措施,结合后续将要介绍的熔断,最大限度的保护系统的正常运行。 SpringCloud 从 2020.0.1 版本已经移 阅读全文
posted @ 2022-09-03 23:34 乔京飞 阅读(11710) 评论(0) 推荐(0)
摘要: Feign 组件最初由 Netflix 公司提供,由于不支持 SpringMVC 注解,所以 SpringCloud 对其封装并进行支持,因此产生了 OpenFeign 组件。Feign 是一个声明式的 REST 客户端,它采用基于接口的注解方式,具有代码简洁、使用方便的优势。 本篇博客仍然使用最新 阅读全文
posted @ 2022-09-02 12:10 乔京飞 阅读(12063) 评论(0) 推荐(0)
摘要: SpringCloud 在 2020.0.1 版本之前,服务的消费者在引入 spring-cloud-starter-netflix-eureka-client 的依赖后(该依赖内置了 Ribbon 依赖),就可以使用 Ribbon 客户端负载均衡了。Ribbon 支持 10 种客户端负载均衡策略, 阅读全文
posted @ 2022-08-31 13:46 乔京飞 阅读(11910) 评论(0) 推荐(0)
摘要: SpringCloud 从 2020.0.1 版本开始,从 Eureka 中移除了 Ribbon 组件,使用 LoadBalance 组件来代替 Ribbon 实现客户端负载均衡。LoadBalance 组件相对于 Ribbon 来说,仅支持两种负载均衡策略:【轮询策略】和【随机策略】,估计后续会增 阅读全文
posted @ 2022-08-27 19:50 乔京飞 阅读(12131) 评论(0) 推荐(2)
摘要: 近年来微服务非常流行,鼎鼎大名的 SpringCloud 就是专门为微服务技术开发而提供的解决方案。 SpringCloud 是一系列框架的有序集合,它将市场上各个公司比较成熟的并且经过实战检验的服务进行组合,采用 SpringBoot 技术进行再次封装,屏蔽掉复杂的配置和底层实现细节,最终提供给开 阅读全文
posted @ 2022-08-21 23:41 乔京飞 阅读(11920) 评论(0) 推荐(0)
摘要: 我们开发好的 SpringBoot 服务发布到公网上,肯定希望能够对其状态和资源消耗情况进行监控,特别是对每个接口访问情况的统计,以便在发生问题时能够快速排查和分析并解决问题。尤其是当 SpringBoot 服务比较多时,监控工作就尤为重要。 Spring Boot Admin 组件是第三方开发的一 阅读全文
posted @ 2022-08-20 15:01 乔京飞 阅读(12679) 评论(0) 推荐(1)
摘要: 之前发布过一篇有关 Spring 采用纯注解整合 MyBatis 和 Junit 的博客,这次也拿来跟 SpringBoot 进行对比。 之前发布的博客地址为:https://www.cnblogs.com/studyjobs/p/16031344.html 本篇博客将采用 SpringBoot 实 阅读全文
posted @ 2022-08-13 22:36 乔京飞 阅读(11702) 评论(0) 推荐(0)
摘要: 之前发布过一篇有关 Spring 使用 RedisTemplate 操作 Redis 的博客,正好可以拿来跟 SpringBoot 进行对比。 之前发布的博客地址为:https://www.cnblogs.com/studyjobs/p/16084948.html 本篇博客将采用 SpringBoo 阅读全文
posted @ 2022-08-07 09:28 乔京飞 阅读(11793) 评论(0) 推荐(0)
摘要: SpringBoot 通过 profile 实现在不同环境下的配置切换,比如常见的开发环境、测试环境、生产环境。 SpringBoot 常用配置文件主要有 2 种:properties 文件和 yml 文件。对于 properties 文件来说,主要通过多 profile 配置文件的方式来实现;对于 阅读全文
posted @ 2022-08-06 10:35 乔京飞 阅读(11867) 评论(0) 推荐(0)
摘要: SpringBoot 是基于 Spring 的简化配置方案,不是对 Spring 技术的升级,本质上是提供了一种快速使用 Spring 的开发方式。 SpringBoot 基于约定优于配置的思想,提供了大量的起步依赖,能够让开发人员快速搭建 Spring 项目,减少在配置与业务之间的思维切换,从而可 阅读全文
posted @ 2022-07-27 19:59 乔京飞 阅读(16866) 评论(0) 推荐(0)
摘要: 我们如果只有一个程序,在运行时需要控制共享资源的并发访问时,只需要在程序中采用 synchronized 或者 Lock 的方式,解决多线程之间的代码同步问题即可,这时多线程都是在同一个 JVM 中运行的,不存在任何问题。但是如果我们是在分布式集群环境下运行相同的程序访问共享资源时,这就需要在多个 阅读全文
posted @ 2022-07-17 22:36 乔京飞 阅读(11739) 评论(0) 推荐(0)
摘要: Zookeeper 允许多个客户端在指定的一个或一些节点上添加监听事件,当被监听的节点发生状态变化时,Zookeeper 会把节点变化的细节通知到相应的客户端,这就是 Zookeeper 分布式协调机制的核心本质。 为了实现分布式协调功能,Zookeeper 引入了 Watcher 机制来进行事件监 阅读全文
posted @ 2022-07-11 22:20 乔京飞 阅读(11791) 评论(0) 推荐(0)
摘要: 前面已经介绍了使用命令行操作 Zookeeper,方便我们对 Zookeeper 有一个整体的认识。 Zookeeper 本质上就是一个 NoSQL 数据库,只不过其存储的数据结构是树状结构形式,理解起来很简单。 对于一个新手小白来说,面对 Zookeeer,介绍一大堆概念,没啥用处,没有什么比代码 阅读全文
posted @ 2022-07-09 12:35 乔京飞 阅读(11797) 评论(0) 推荐(1)
摘要: Zookeeper 是动物管理员,用来管理大象(Hadoop)、蜜蜂(Hive)、小猪(Pig)等大数据相关的组件。 ZooKeeper 是一个开源分布式应用程序协调服务,是 Apache Hadoop 项目下的一个子项目,以树形结构存储数据的组件服务。 Zookeeper 常用于配置管理、集群管理 阅读全文
posted @ 2022-06-26 10:14 乔京飞 阅读(11822) 评论(0) 推荐(0)
摘要: 本篇博客介绍 Dubbo 框架在实际项目中非常实用的高级技术,并对原有的 Demo 继续进行一些调整即可作为本篇博客的 Demo。同样只需要编写很少的代码或者进行一些注解配置即可实现,大大提高了开发效率。在本篇博客的最后,会提供源代码的下载,需要注意的是:在运行本 Demo 代码时,必须先启动 Zo 阅读全文
posted @ 2022-06-19 14:55 乔京飞 阅读(11795) 评论(0) 推荐(0)
摘要: 之前已经快速搭建了 Dubbo 入门 Demo,本篇博客将继续在此 Demo 的基础上,介绍一下 Dubbo 在实际项目开发中必然会用到的一些简单实用的技术点,只需要编写很少的代码或者进行一些注解配置即可实现,大大提高了开发效率。在本篇博客的最后,会提供源代码的下载,需要注意的是:在运行本 Demo 阅读全文
posted @ 2022-06-11 18:41 乔京飞 阅读(11583) 评论(0) 推荐(0)
摘要: 我们在使用 Dubbo 框架开发项目时,中间很可能会遇到各种问题,此时如果有一款 Dubbo 监控管理工具,能够方便的查看到 Dubbo 服务的提供者和消费者,以及 Dubbo 的路由、配置、接口细节等信息的话,就能够很容易发现和解决问题,极大的提高了开发效率。 Dubbo-Admin 就是这样一款 阅读全文
posted @ 2022-06-05 21:50 乔京飞 阅读(12117) 评论(0) 推荐(1)
摘要: Dubbo 是阿里巴巴公司开源的一个高性能优秀的服务框架,现在被 apache 作为顶级项目进行收录。它提供了 RPC 通信与微服务治理两大关键能力。使用 Dubbo 开发的微服务,将具备相互之间的远程发现与通信能力, 同时利用 Dubbo 提供的丰富服务治理能力,可以实现诸如服务发现、负载均衡、流 阅读全文
posted @ 2022-06-03 16:54 乔京飞 阅读(11722) 评论(0) 推荐(0)