微服务相关技术
文章平均质量分 92
介绍springboot,springcloud技术栈相关内容,以及实际开发过程中组件的使用, 自定义组件的开发等
问道飞鱼
长期从事服务后端开发,擅长微服务高并发架构设计, 熟悉云原技术栈,可以提供完整后端解决方案。 如有志同道合的朋友可以一起学习,共同进步, 如果商务合作意向也可联系。
展开
-
【Springboot相关知识】Springboot结合SpringSecurity实现身份认证以及接口鉴权
通过以上步骤,我们实现了一个基于Spring Security和JWT的身份认证和接口鉴权系统,并支持Token刷新。你可以根据实际需求进一步扩展和优化这个系统。在Spring Security中,角色和权限通常通过实现类来定义。我们可以为用户分配角色或权限,然后在接口上使用注解进行鉴权。在} else {} } }} else {} } }} else {} } }} else {} } }} else {原创 2025-01-21 17:45:00 · 1583 阅读 · 0 评论 -
【Springboot知识】Springboot结合redis实现分布式锁
首先定义一个自定义注解,允许通过SpEL表达式指定锁的值。通过以上步骤,我们实现了一个基于SpringBoot和Redis的分布式锁,并通过注解和SpEL表达式灵活地指定锁的值。这个实现方案可以用于保护分布式系统中的临界资源,防止并发访问导致的数据不一致问题。原创 2025-01-21 06:00:00 · 644 阅读 · 0 评论 -
【分布式知识】Spring Cloud Gateway实现跨集群应用访问
通过上述步骤,你可以使用SpringBoot和SpringCloudGateway实现跨集群的应用访问。关键在于正确配置服务注册中心、Gateway以及路由规则,并确保服务实例能够跨集群注册和发现。同时,合理的负载均衡和容错机制也是确保系统稳定性的关键。原创 2025-01-19 18:57:29 · 1118 阅读 · 0 评论 -
【分布式技术】Springboot集成zookeeper
虽然Spring Cloud提供了与Eureka、Consul和ZooKeeper等服务发现工具的集成,但需要注意的是,Spring Cloud ZooKeeper并不是Spring Cloud官方维护的一个子项目,而是由社区维护的。应用启动后,它应该会自动注册到Zookeeper中,并且你可以使用Zookeeper的客户端工具或Spring Cloud提供的工具来查看注册的服务实例。在你的Spring Boot应用中,你需要创建一个配置类来定义Zookeeper客户端的Bean。原创 2025-01-07 06:15:00 · 1178 阅读 · 0 评论 -
【Springboot知识】Springboot集成assembly打包组件
在提及“assembly配置文件内容”时,如果这一术语是在Spring Boot或Java应用的上下文中使用,它可能指的是与应用的打包、部署或特定于assembly插件的配置相关的文件。然而,如果你需要自定义打包过程(如包含额外的文件、设置特定的打包格式等),你可以使用Maven的assembly插件,并编写相应的assembly配置文件。在Spring Boot项目中集成Assembly,通常指的是使用Maven的Assembly插件来根据不同的环境和需求,对项目进行自定义的打包。原创 2025-01-03 19:55:11 · 948 阅读 · 0 评论 -
【Springboot知识】Springboot进阶-实现CAS完整流程
验证成功后,您可以设置用户的会话信息,并重定向到前端应用的首页或其他页面。由于这些配置可能相对复杂,并且具体实现可能因CAS版本和Spring Boot版本的不同而有所差异,因此建议查阅CAS官方文档和Spring Boot相关配置指南来获取更详细的配置信息。由于CAS集成涉及到多个方面的配置和代码实现,并且具体实现可能因CAS版本、Spring Boot版本以及您的具体需求而有所不同,因此建议查阅CAS官方文档和Spring Security相关配置指南来获取更详细的配置信息和代码示例。原创 2024-12-27 20:35:20 · 1532 阅读 · 0 评论 -
【Springboot知识】Springboot进阶-优雅停机是如何实现的?
在Spring Boot应用程序中,优雅停机(Graceful Shutdown)是指应用程序在接收到停机指令后,能够有序地完成当前正在处理的任务,然后安全地关闭。这通常涉及到停止接受新的请求、等待正在处理的请求完成、释放资源等步骤。Spring Boot 2.3及更高版本提供了对优雅停机的内置支持。在Spring Boot中,自定义停机逻辑可以通过多种方式实现,以满足特定应用场景下的需求。原创 2024-12-27 06:15:00 · 1131 阅读 · 0 评论 -
【Springboot知识】Springboot进阶-Actuator深入理解
概述一、主要功能二、启用与配置三、安全性四、应用场景主要功能有哪些?自定义Actuator一、创建自定义端点类二、配置自定义端点三、测试自定义端点四、示例代码Spring Boot Actuator是Spring Boot提供的一个模块,为开发人员提供了生产级的功能,无需编写额外的代码。在Spring Boot中,自定义Actuator端点是一种扩展Actuator功能的方式,可以满足特定的监控和管理需求。使用@Endpoint注解在自定义端点类上使用@Endpoint注解进行标记,并指定端点的ID。原创 2024-12-26 11:30:00 · 1111 阅读 · 0 评论 -
【Springboot知识】Springboot基础-过滤器与拦截器开发
过滤器是Servlet API的一部分,它基于Java Servlet规范中的Filter接口实现。记录请求和响应的日志。进行身份认证与授权。输入/输出数据验证。修改请求或响应。原创 2024-12-26 06:15:00 · 1408 阅读 · 0 评论 -
【Springboot知识】springboot-data-redis模块详细介绍
Spring Boot Data Redis 是 Spring Boot 提供的一个用于简化 Redis 数据库集成的启动器(Starter)。Spring Boot Data Redis 基于 Spring Data 项目,为 Redis 提供了高层次的抽象。它简化了 Redis 数据的访问,并支持 Redis 的各种数据类型和操作。通过使用 Spring Boot Data Redis,开发者可以快速地在 Spring Boot 应用程序中集成和使用 Redis 数据库。原创 2024-12-24 06:15:00 · 672 阅读 · 0 评论 -
【Springboot知识】Springboot基础-参数校验器使用
Spring Boot提供了多种内置的校验注解,如@NotNull、@NotEmpty、@NotBlank、@Email、@Max、@Min等,这些注解可以直接用于实体类的字段上,以指定字段的校验规则。在实体类中使用上述校验注解来定义字段的校验规则。@NotNull(message = "ID不能为空") @Min(value = 1 , message = "ID必须大于0") private Integer id;原创 2024-12-23 06:15:00 · 251 阅读 · 0 评论 -
【Spring知识】Spring知识体系
定义SpringMVC(Model-View-Controller)是一个基于MVC设计模式的框架,它将应用程序分为模型(Model)、视图(View)和控制器(Controller)三部分。MVC设计模式Model:表示应用程序的数据和业务逻辑。包括实体类Bean(专门存储业务数据,如Student、User等)和业务处理Bean(指Service或Dao对象,专门用于处理业务逻辑和数据访问)。View:负责呈现数据的用户界面。通常指工程中的HTML或JSP等页面。Controller。原创 2024-12-19 06:15:00 · 899 阅读 · 0 评论 -
【Spring相关技术】Spring进阶-SpEL深入解读
SPEL是Spring Expression Language的缩写,意为Spring表达式语言。它是Spring Framework中的一个核心技术,主要用于在运行时查询和操作对象图。在Spring Expression Language(SpEL)中,自定义功能主要涉及到自定义函数、变量以及注解中使用SpEL表达式。SpEL允许你注册自定义函数,这些函数通常是静态方法。你可以通过的方法来注册自定义函数。在这个例子中,我们注册了方法作为一个自定义函数parseInt。原创 2024-12-17 06:15:00 · 1185 阅读 · 0 评论 -
【Springboot知识】Springboot进阶-如何有效防止XSS攻击
综上所述,防止XSS攻击需要采取多种措施,包括输入验证和过滤、输出编码、使用安全框架、使用模板引擎的自动转义功能以及设置安全HTTP头等。Spring Security是一个功能强大的安全框架,可以用于保护应用程序免受各种安全威胁,包括XSS攻击。可以使用一些开源的XSS过滤器,如OWASP Java Encoder,对用户输入进行过滤,防止恶意脚本注入。在Spring Boot项目中配置Spring Security通常涉及到创建一个安全配置类,并在这个类中定义相关的安全规则。到安全链中,但实际上。原创 2024-11-27 20:25:47 · 1801 阅读 · 0 评论 -
【微服务知识】开源RPC框架Dubbo入门介绍
Dubbo是一个开源的、基于Java的高性能RPC(远程过程调用)框架,最初由阿里巴巴开发,现已成为Apache顶级项目。Dubbo主要用于构建微服务架构中的分布式服务治理系统。它通过高效的远程调用、服务治理、负载均衡、服务发现等功能,帮助开发者简化分布式系统的开发和管理。在这个接口将被提供者和消费者共同使用,因此两者都需要依赖这个模块。原创 2024-11-11 17:00:46 · 842 阅读 · 0 评论 -
【SpringCloud知识】springcloud生态rpc组件openfeign详细介绍
OpenFeign 是 Spring Cloud 生态系统中的一个声明式 Web 服务客户端,它使得编写 Web 服务客户端变得更加容易。OpenFeign 是一个声明式的 Web 服务客户端,它允许开发者通过定义 Java 接口和使用注解的方式来声明 HTTP 请求,从而简化了与 HTTP 服务的交互。要自定义Feign的Encoder和Decoder,你需要实现Feign提供的Encoder和Decoder接口。实现Encoder接口:创建一个类实现接口,并重写encode方法。原创 2024-11-05 23:11:06 · 1388 阅读 · 0 评论 -
【Spring知识】Spring cloud gateway使用详解
Spring Cloud Gateway 是Spring Cloud生态系统中的一个项目,它是基于Spring Framework 5、Reactor和Spring Boot 2.0构建的。它旨在为微服务架构提供一种简单而有效的API路由管理方式,并且基于Filter的方式提供网关的基本功能,如安全认证、监控、限流等。响应式编程模型Spring Cloud Gateway是基于Spring WebFlux框架开发的,它支持响应式编程模型。原创 2024-11-01 11:00:00 · 905 阅读 · 0 评论 -
【Spring知识】Spring Starter内核spring.factories的工作机制
你也可以创建自己的自动配置模块,并通过文件将其注册到 Spring Boot 中。文件是 Spring Boot 自动配置机制的重要组成部分。通过这个文件,Spring Boot 可以在启动时自动加载和配置一系列预定义的类,从而简化了应用程序的初始化过程。希望这个详细的解释能帮助你更好地理解的工作原理。如果有任何问题或需要进一步的帮助,请随时提问!原创 2024-10-28 08:08:47 · 844 阅读 · 0 评论 -
【知识科普】简单聊聊日志脱敏技术
开发自定义的脱敏策略,例如,可以基于数据的类型(如邮箱、手机号等)来应用不同的脱敏规则。原创 2024-10-25 23:52:29 · 1082 阅读 · 0 评论 -
【Mybatis相关】好用的分页插件PageHelper
通过PageHelper,你可以非常方便地在 MyBatis 中实现分页查询。它不仅简化了分页逻辑的编写,还提供了丰富的配置选项,使得分页功能更加灵活和强大。希望这个示例和解释能帮助你更好地理解和使用PageHelper。如果有任何问题或需要进一步的帮助,请随时提问!原创 2024-10-21 23:10:55 · 556 阅读 · 0 评论 -
【springboot知识】如何提升系统并发-异步响应
Spring Boot中的异步响应是通过@Async注解实现的,它允许你以非阻塞方式执行任务,从而提高应用程序的响应性和吞吐量。原创 2024-10-20 17:19:07 · 818 阅读 · 0 评论 -
【微服务知识】springboot多维度性能监控
创建一个切面类,并使用@Aspect注解标记。在这个类中,你可以定义切入点和通知。使用@Pointcut注解来定义一个切入点,这通常是一个表达式,用于匹配你想要监控的方法。@Aspect@Component想进行更多方面的性能监测, 可以定义更多的切入点。原创 2024-10-17 16:00:17 · 914 阅读 · 0 评论 -
【后端知识】Mockito,PowerMock结合TestNG框架实现复杂单元测试
Mockito 是一个强大的工具,能够帮助开发者轻松地进行单元测试,特别是在处理复杂依赖时。通过 Mock 对象,可以有效地隔离被测试的代码,提高测试的独立性和可控性。原创 2024-10-17 06:00:00 · 126 阅读 · 0 评论 -
【spring知识】Spring Security从入门到放弃
Spring Security是一个功能强大且高度可定制的身份验证和访问控制框架。它专注于基于Spring的应用程序,并充分利用了Spring的依赖注入(DI)特性,为Java应用程序提供全面的安全服务。:这是身份验证策略的核心接口,它只有一个方法,用于验证提交的凭证。:这是一个用于检索用户特定数据(如权限)的接口。Spring Security提供了多种实现,包括基于内存的用户详细信息服务和基于数据库的服务。原创 2024-10-16 06:00:00 · 1296 阅读 · 0 评论 -
【知识科普】单元测试框架TestNG介绍
TestNG是一个开源的自动化测试框架,它在JUnit和NUnit的基础上增加了很多强大的功能,使其更加灵活和强大。TestNG的灵感来源于JUnit,但它并不是JUnit的扩展,而是一个全新的框架。TestNG的创建者是Cedric Beust,它的设计目标是消除旧框架的大部分限制,使开发人员能够编写更灵活、更强大的测试。注解驱动:TestNG使用注解来配置测试用例,使得测试代码更加简洁明了。支持多种测试类型:TestNG不仅支持单元测试,还支持集成测试、端到端测试等多种类型,满足更广泛的测试需求。原创 2024-10-15 20:30:59 · 1238 阅读 · 0 评论 -
【Spring相关技术】spring进阶-自定义请求报文转对象HttpMessageConverter
首先,我们创建一个类,继承自@Override> clazz) {@Override// 假设MyObject的构造函数接受一个字符串@Override// 假设我们要将MyObject转换成字符串进行输出接下来,我们需要在Spring MVC的配置中注册我们的自定义转换器。如果你使用的是Java配置,可以像下面这样实现@Override// 如何自定义的转换器与默认转换器冲突,可以将自己的转换器放到默认转换器前面。原创 2024-10-14 19:39:14 · 1518 阅读 · 0 评论 -
【知识科普】一篇文章讲透限流与熔断
限流,全称为流量限制,主要指的是对某一系统或网络的流量进行监控和管理,以确保其使用在预定的范围内进行。这种限制可以是针对数据流量的速率、数量或者是对特定用户的访问进行限制。在实际应用中,限流通常用于保护网络、服务器或应用免受过大流量冲击的影响,从而确保服务的稳定性和安全性。基于速率的限流:这种方式通过限制单位时间内通过的数据量或请求数来实现。例如,可以设置每秒最多允许通过一定数量的请求或数据包。基于数量的限流:这种方式通过限制在特定时间段内允许通过的总数据量或请求数来实现。原创 2024-10-08 06:00:00 · 106 阅读 · 2 评论 -
微服务(Microservices),服务网格(Service Mesh)以及无服务器运算Serverless简单介绍
微服务(Microservices)是一种软件架构设计风格,它将应用程序构建为一套小型、自治的服务单元,这些服务单元通过轻量级的通信机制相互协作。定义:微服务架构将复杂的单体应用拆分为更小、更易管理的服务单元,每个服务都专注于单一的业务功能,并且可以独立部署、升级和扩展。特点模块化设计:系统被分解为多个独立的服务单元,每个服务单元都拥有自己的数据存储、业务逻辑和用户界面。自治性:每个微服务都是自治的,可以独立开发、部署和运行,不依赖于其他服务。松耦合。原创 2024-09-29 21:21:37 · 572 阅读 · 0 评论 -
【知识科普】远程过程调用RPC知识科普
RPC(Remote Procedure Call,远程过程调用)是一种计算机通信协议,它允许一个计算机程序通过网络调用另一个计算机程序中的子程序(即远程过程),并获取返回值。RPC是分布式计算的重要基础,它极大地简化了分布式系统之间的通信和交互过程,使得开发者可以像调用本地方法一样调用远程方法,而无需关心底层的网络通信细节。原创 2024-09-28 19:03:39 · 1613 阅读 · 0 评论 -
【后端知识】服务治理组件Sentinel快速入门
Sentinel是阿里巴巴开源的一款分布式系统流量控制和容错解决方案,它以流量为切入点,从流量控制、熔断降级、系统负载保护等多个维度保护服务的稳定性。Sentinel在微服务架构和分布式系统中扮演着重要角色,帮助开发者有效应对高并发、服务故障等挑战。在Sentinel中,资源是限流、熔断等保护策略的作用对象。资源可以是任何需要被保护的代码块,如接口方法。通过代码定义资源使用来定义资源,其中是资源的名称。示例代码:@RequestMapping("/getuser")// 被保护逻辑。原创 2024-09-28 08:22:13 · 475 阅读 · 2 评论 -
springboot提升-kafka组件接入与使用
以上就是 Spring Boot 集成 Kafka 的基本步骤。当然,实际情况可能会更复杂,比如需要处理不同类型的序列化/反序列化、错误处理、事务支持等等。你可以在 Maven 中心仓库或者 Spring Kafka 的 GitHub 页面找到最新的版本号。最后,你可以通过单元测试或者集成测试来验证 Kafka 的发送和接收功能是否正常工作。接下来,你需要在 Spring Boot 的配置文件(如。如果你使用的是 Maven,可以在。你可以使用 Spring 提供的。首先,你需要在你的项目中添加。原创 2024-09-23 23:44:05 · 319 阅读 · 0 评论 -
Springboot提升-MapStruct组件使用
请确保检查MapStruct的官方文档以获取最新的版本信息和其他高级功能。此外,确保你的IDE支持MapStruct插件,以便正确识别映射接口并生成映射实现。在Spring Boot项目中使用MapStruct可以帮助你更方便地管理对象之间的映射逻辑。例如,如果MapStruct的最新版本是1.5.2,则应替换为。如果你需要对MapStruct的行为进行一些定制化配置,比如改变默认的映射策略,可以通过在。文件中添加MapStruct的依赖。接下来,你需要定义一个映射接口,这个接口将包含所有需要的映射方法。原创 2024-09-19 21:57:10 · 758 阅读 · 0 评论 -
关于接口幂等性的理解
接口的幂等性(Idempotence)是指一个操作可以被多次执行,并且无论执行多少次,结果都是相同的,不会改变最终的数据状态。简单来说,一个操作是幂等的,意味着多次执行该操作的效果与执行一次的效果相同。原创 2024-09-17 09:01:31 · 821 阅读 · 0 评论 -
springboot基础-logback组件配置使用
Logback提供了多种滚动策略,以满足不同的日志管理需求。你可以根据具体的应用场景选择合适的滚动策略,并通过配置文件进行详细的设置。这些策略可以帮助你有效地管理日志文件的大小和数量,确保日志系统的稳定性和可维护性。原创 2024-09-12 22:18:47 · 1029 阅读 · 0 评论 -
springboot基础-Druid数据库连接池使用
springboot, druid原创 2024-09-10 21:57:19 · 806 阅读 · 0 评论 -
springboot后端开发-常见注解及其用途
springboot注解,注解分类,注解作用原创 2024-09-10 06:29:40 · 1544 阅读 · 1 评论 -
【Mybatis相关】mybatis框架基础以及自定义插件开发
mybatis框架结构,自定义插件开发原创 2024-09-08 09:07:47 · 908 阅读 · 0 评论 -
【springboot技术】springboot提升-多数据源配置
springboot, 多数据源,数据源切换,切面实现原创 2024-09-05 22:35:58 · 859 阅读 · 0 评论 -
【springboot知识】springboot进阶-切面编程
springboot, aop, 切面,execution原创 2024-09-05 22:16:36 · 1597 阅读 · 0 评论 -
springboot提升-扩展接口的实现样例
springboot常见bean接口实现原创 2024-09-04 22:01:55 · 814 阅读 · 0 评论
分享