分布式与微服务
文章平均质量分 83
简而言之,微服务架构风格是一种将单个应用程序开发为“一套小型服务”的方法,每个服务“运行在自己的进程中”,并通过轻量级机制(通常是HTTP资源API)进行通信。这些服务“围绕业务功能构建”,并通过全自动部署机制“独立部署”。
missterzy
世界上没有做不到的事
只有不想去完成的事
可惜我比较懒
展开
-
分布式微服务之Hystrix熔断降级
Hystrix 断路器是一种开关装置,当某个服务单元发生故障之后,通过断路器的故障监控,向调用方返回一个符合预期的、可处理的备选响应(FallBack)。接下来,你可以在需要使用Hystrix的方法上加上@HystrixCommand注解,该注解标识了一个使用Hystrix的方法。在上述配置中,设置了默认的超时时间为5秒,当请求达到10个时,熔断器打开,并在10秒的时间窗口后尝试恢复服务。Hystrix可以设置调用的超时时间,这样可以防止长时间的等待,避免资源的浪费和系统的阻塞。原创 2024-06-09 09:30:00 · 1095 阅读 · 0 评论 -
Spring Cloud Feign:简化微服务的 HTTP 客户端
在微服务架构中,服务之间的通信至关重要。Spring Cloud Feign 是一个声明式的 HTTP 客户端,它简化了在 Spring 应用中创建 HTTP 客户端的过程。Spring Cloud Feign 通过声明式的方式简化了 HTTP 客户端的创建和管理,特别适合微服务架构中的服务调用。Spring Cloud Feign 是一种声明式的 HTTP 客户端,它通过注解和接口定义来简化 HTTP 调用。开发者只需定义接口,并用注解指定 HTTP 请求细节,Feign 就会在后台生成相应的实现代码。原创 2024-06-08 09:45:00 · 353 阅读 · 0 评论 -
OpenFeign高级用法:这些强大的功能你用过吗?
如果方法参数传递的是映射,则 @MatrixVariable 路径段是通过用 = 连接映射中的键值对创建的。如果传递的是不同的对象,则使用 = 将 @MatrixVariable 注解(如果已定义)中提供的名称或注解的变量名称与提供的方法参数连接起来。可以通过传递所需的 feign.CollectionFormat 作为注解值,为 Feign 客户端方法(或整个类的所有方法)添加注解。以上是一个比较完整的OpenFeign接口的配置。如果你需要使用的是基于Redis的缓存管理,那么你是可以配置有效期的。原创 2024-06-06 10:00:00 · 645 阅读 · 0 评论 -
Spring Boot集成RocketMQ实现分布式事务
创建一个类,继承`org.apache.rocketmq.spring.core.RocketMQTemplate`或者使用`@RocketMQMessageListener`注解来创建一个具有事务处理能力的生产者。在需要发送事务消息的方法中,使用RocketMQ提供的事务消息API `executeTransaction` 方法。@Autowired// (1) 发送半消息(prepare message)"transaction-topic", // 消息主题。原创 2024-06-03 09:45:00 · 742 阅读 · 0 评论 -
Spring Cloud OpenFeign中的请求头、参数和响应处理技巧
在实际开发中,我们经常需要在请求头中添加自定义的参数,以满足不同的业务需求。Spring Cloud OpenFeign提供了多种方式来添加自定义的请求头,包括使用注解、编写请求拦截器等。@Override// 自定义响应解析逻辑在上面的示例中,我们编写了一个自定义的响应解析器,并重写了decode方法,在该方法中可以自定义响应的解析逻辑。原创 2024-06-02 18:00:00 · 656 阅读 · 0 评论 -
Spring Boot 3:使用自定义注解、拦截器和Redis实现高并发接口限流
通过限制每秒的请求次数,可以保护服务器资源,防止因瞬时大量请求导致的崩溃或性能下降。通过结合自定义注解、拦截器和Redis,我们可以实现灵活且高效的限流机制,适应不同场景的需求。在高并发系统中,接口限流是一种重要的手段,可以有效防止系统过载。我们将使用SpringBoot 3来实现这一功能,通过自定义注解和拦截器,结合Redis来存储和管理请求数据,从而实现动态的限流控制。通过本文的介绍,我们学习了如何在SpringBoot 3中使用自定义注解、拦截器和Redis来实现高并发接口限流。原创 2024-05-30 13:52:37 · 328 阅读 · 0 评论 -
基于Spring Cloud Gateway,实现路由和负载均衡
Spring Cloud Gateway是非阻塞式的,即它的设计、编写方式绝不会阻塞主线程。相反,这些线程始终可以为请求提供服务,并在后台异步处理请求,一旦处理完成就返回响应。Spring Cloud Gateway提供以下几个功能:将应用程序中所有服务的路由映射到单个URL。构建过滤器,可以检查并处理通过网关发出的请求和响应。构建谓词,这些对象允许我们在执行或处理请求之前检查请求是否满足一组给定的条件。Spring Cloud Gateway是一个反向代理。原创 2024-05-28 10:53:36 · 1392 阅读 · 0 评论 -
SpringBoot整合minio
能否通过ip访问文件 http://ip:9000/存储桶名/文件名访问文件。在application.yml文件中编写相关配置。此时我们的存储桶也存在该文件说明成功了。# 查看拉取的镜像是否正常运行。1、访问地址:ip:9090。5、创建服务账户并下载文件。将桶名设置为public。通过以上路径查看文件。原创 2024-03-01 19:43:22 · 331 阅读 · 0 评论 -
SpringBoot验证码之hutool-captcha
在数字化日益普及的今天,互联网安全已经成为人们不可忽视的重要问题。特别是在用户注册、登录、重置密码等关键操作中,如何确保用户的身份真实性和操作安全性,就显得尤为重要。验证码作为一种简单而有效的身份验证手段,被广泛应用于各种在线服务中。SpringBoot作为一款优秀的Java框架,其简单易用、功能强大的特性,深受开发者喜爱。在SpringBoot项目中集成验证码功能,可以进一步提升系统的安全性和用户体验。原创 2024-05-21 10:35:06 · 1027 阅读 · 0 评论 -
部署一套完整的架构系统有哪些步骤
如果以java、Jenkins(自动化部署)、docker(容器化部署)、k8s(兼容前两个)如果搭建一个商业系统,我们需要准备哪些?原创 2024-05-24 02:00:00 · 792 阅读 · 0 评论 -
分布式之Gateway 网关
微服务架构中,单个应用会被划分成多个子服务,客户端访问这些服务时,需要考虑每个服务的访问地址,这个过程会比较复杂。而Gateway将这些微服务进行统一管理,对外提供一个「统一的访问地址」,并将请求由网关路由到对应的子服务上去,从而提高系统的效率和可维护性。Gateway提供了一个「单一的入口点」,用于管理所有的服务请求。在实际项目部署中,用户的请求在外网(公网)通过nginx转发到内网网关gateway,然后gateway会去调用具体的服务处理请求。原创 2024-05-24 20:53:21 · 481 阅读 · 0 评论 -
Spring Cloud Alibaba 学习指南
Spring Cloud Alibaba 提供微服务开发的一站式解决方案,包含开发分布式应用服务的必需组件,方便开发者轻松使用这些组件来开发分布式应用服务。原创 2024-05-23 10:21:57 · 823 阅读 · 0 评论 -
SpringCloud Gateway+Nacos,1000+路由规则如何动态实现?
同时,Spring Cloud Gateway还支持多种过滤器,包括预置的全局过滤器和自定义的局部过滤器,用于实现请求转发、请求修改、请求日志、请求验证、请求缓存等功能。作为一个服务基础设施,Nacos 支持多种核心特性,包括服务发现、服务健康监测、动态配置服务、动态 DNS 服务以及服务及其元数据管理。它是为了帮助用户发现、配置和管理微服务而设计的,并且提供了简单易用的特性集,以帮助用户快速实现动态服务发现、服务配置、服务元数据及流量管理。配置内容是json数组,这里我们就可以任意的配置路由信息。原创 2023-11-02 14:06:34 · 377 阅读 · 0 评论 -
OpenFeign 服务调用
微服务架构中使用OpenFeign进行服务调用,OpenFeign提供了一种简洁的方式来定义和处理服务间的调用。❝OpenFeign作为一个声明式的、模块化的HTTP客户端,通过「接口」的定义和「注解」的使用,简化了微服务之间的通信调用。❞这里创建了和两个模块,也就是服务提供者和服务消费者两个服务,每个服务都可以运行多个实例,实例运行后都会向nacos中心注册,服务消费者调用服务提供者的服务。原创 2023-11-02 14:02:29 · 53 阅读 · 0 评论