- 博客(39)
- 收藏
- 关注
原创 Spring Cloud 常用组件——Zuul(下)
Override@Override@Bean通过这两篇文章的详细介绍,我们了解了 Zuul 的基本概念、配置方法、进阶配置和高级功能。Zuul 是一个功能强大且灵活的 API 网关解决方案,能够帮助你在微服务架构中实现高效的请求路由、负载均衡、安全控制和监控。希望这些内容能帮助你更好地理解和使用 Zuul 构建高效、可扩展的分布式系统。如果你有任何问题或建议,欢迎在评论区留言讨论。
2024-06-25 15:54:59 454
原创 Spring Cloud 常用组件——Zuul(上)
Zuul 是 Netflix 开源的一个边缘服务,主要用于动态路由、监控、弹性、安全等。它在微服务架构中充当 API 网关的角色,能够处理所有的外部请求,并将它们路由到内部的微服务。路由:根据请求路径、请求头、请求参数等条件,将请求转发到指定的微服务。过滤:在请求被转发到目标服务之前或响应返回给客户端之前,对请求和响应进行处理。监控:监控和统计所有请求的数据,便于分析和优化系统。
2024-06-25 15:54:27 479
原创 Spring Cloud 常用组件——Hystrix(下)
Hystrix 提供了多种指标收集功能,允许你自定义指标并进行监控。你可以实现接口来自定义指标收集。@Override@Override@Override通过这两篇文章的详细介绍,我们了解了 Hystrix 的基本概念、配置方法、进阶配置以及监控功能。Hystrix 是一个功能强大且灵活的容错库,能够帮助你在微服务架构中实现高效的故障隔离和恢复机制。希望这些内容能帮助你更好地理解和使用 Hystrix 构建高效、可扩展的分布式系统。如果你有任何问题或建议,欢迎在评论区留言讨论。
2024-06-24 21:35:06 240
原创 Spring Cloud 常用组件——Hystrix(上)
Hystrix 旨在通过隔离服务之间的访问点、添加延迟容忍和容错逻辑来提高系统的弹性和容错能力。断路器:在请求失败时快速返回,避免无限期等待。资源隔离:通过线程池或信号量隔离,防止资源耗尽。回退机制:在请求失败或超时时,提供回退逻辑以保证系统的稳定性。监控:提供实时监控和指标收集功能。
2024-06-24 21:33:13 379
原创 Spring Cloud 常用组件——Ribbon(下)
除了内置的负载均衡策略外,Ribbon 还允许你定义自定义的负载均衡策略,以满足特定的业务需求。要创建自定义的负载均衡规则,你需要实现IRule接口。@Override// 实现自定义负载均衡逻辑// 返回选择的服务器实例@Override// 初始化配置在myService:ribbon:通过这两篇文章的详细介绍,我们了解了 Ribbon 的基本概念、配置方法、进阶配置以及与其他组件的集成。
2024-06-20 23:27:05 465
原创 Spring Cloud 常用组件——Ribbon(上)
Ribbon 是 Netflix 开源的一个负载均衡客户端,可以在客户端实现负载均衡,避免了单点故障问题。它支持多种负载均衡策略,如轮询、随机、加权等,能够灵活地将请求分发到多个服务实例。
2024-06-20 23:25:16 377
原创 Spring Cloud Bus——进阶配置与事件传播
Spring Cloud Bus 不仅可以用于配置刷新,还可以在微服务之间传播自定义事件。// 必须有一个默认构造函数@Component@Autowired@Autowired@ComponentSpring Cloud Bus 支持自定义消息通道,你可以通过实现BusBridge接口来自定义消息通道。@Component@Override// 自定义消息处理逻辑你可以通过实现接口来自定义事件处理逻辑。@Component。
2024-06-19 14:39:52 381
原创 Spring Cloud Bus——概述与基本配置
Spring Cloud Bus 是一个基于消息代理的轻量级事件总线,主要用于在分布式系统中传播事件和状态变化。它可以与多种消息中间件(如 RabbitMQ、Kafka)集成,将配置变化或其他事件广播到所有相关的服务实例,从而实现分布式系统的协同工作。
2024-06-19 14:38:14 506
原创 Spring Cloud Gateway 概述与基本配置(下)
除了内置的断言工厂外,Spring Cloud Gateway 还允许你定义自定义断言工厂,以满足特定的路由匹配需求。import org.springframework.cloud.gateway.handler.predicate.RoutePredicateFactory;
2024-06-18 23:02:42 822
原创 Spring Cloud Gateway 概述与基本配置(上)
Spring Cloud Gateway 是一个反应式的 API 网关,旨在为微服务架构中的服务提供动态路由、监控、弹性、限流和安全等功能。路由:根据请求路径、请求头、请求参数等条件,将请求转发到指定的微服务。过滤器:在请求被转发到目标服务之前或响应返回给客户端之前,对请求和响应进行处理。断言工厂:用于定义路由的匹配条件。
2024-06-18 23:00:12 1364
原创 Eureka Client 配置与高级功能
可以在 Eureka Client 的配置中添加自定义元数据,以便其他服务在发现此服务时能够获取这些元数据。例如,可以在eureka:instance:这些元数据可以在服务发现时通过 Eureka Client 获取,并用于负载均衡策略或其他自定义逻辑。
2024-06-17 15:42:29 681
原创 Eureka 概述与 Eureka Server 配置
Eureka 是 Netflix 开源的一个服务注册与发现组件,分为 Eureka Server 和 Eureka Client 两部分。Eureka Server 作为服务注册中心,负责维护所有注册的服务实例信息;Eureka Client 是注册的服务实例,负责向 Eureka Server 注册和获取其他服务实例的信息。
2024-06-17 15:40:56 876
原创 Spring Cloud 常用组件(下)
Spring Cloud 提供了丰富的组件来解决微服务架构中的常见问题,如服务注册和发现、客户端负载均衡、配置管理、API 网关、分布式追踪等。通过合理使用这些组件,可以构建高效、可扩展的分布式系统。希望这两篇文章能帮助你更好地理解和使用 Spring Cloud。如果你有任何问题或建议,欢迎在评论区留言讨论。
2024-06-16 11:51:52 926
原创 Spring Cloud 常用组件(上)
Spring Cloud 是一个构建分布式系统的框架,它提供了许多解决微服务架构常见问题的工具和组件。Spring Cloud Netflix 是其中的一个子项目,集成了 Netflix 的开源软件来构建分布式系统。在这篇文章中,我们将详细介绍 Spring Cloud Netflix 的一些常用组件,帮助你更好地理解和使用这些工具来构建高效、可扩展的微服务架构。
2024-06-16 11:49:33 394
原创 深入解析Spring Cloud:微服务架构的利器(下)
在上一篇文章中,我们介绍了Spring Cloud的基本概念、核心组件以及如何在Java项目中使用Spring Cloud进行服务注册与发现。本文将继续探讨Spring Cloud的负载均衡、配置管理、服务熔断和API网关等高级特性。
2024-06-15 14:45:25 510
原创 深入解析Spring Cloud:微服务架构的利器(上)
Spring Cloud是基于Spring Boot构建的一系列工具集合,用于快速构建分布式系统中的常见模式(如配置管理、服务发现、断路器、智能路由、微代理、控制总线等)。Spring Cloud通过简单的注解和配置,即可实现复杂的分布式系统功能。
2024-06-15 14:44:47 1040
原创 深入解析Feign:Java中的声明式HTTP客户端(下)
在上一篇文章中,我们介绍了Feign的基本概念、核心组件以及如何在Java项目中使用Feign客户端。本文将继续探讨Feign的高级特性和在微服务架构中的应用。Feign提供了详细的日志记录功能,可以帮助开发者调试HTTP请求:4.2 重试机制通过Feign的接口可以自定义请求重试逻辑:4.3 Hystrix集成通过集成Hystrix实现熔断器功能,提高系统的容错能力:5. Feign在微服务中的应用在Spring Cloud中,Feign与Spring Boot无缝集成,通过注解和配置即可轻松
2024-06-14 12:00:13 356
原创 深入解析Feign:Java中的声明式HTTP客户端(上)
Feign 是一个声明式的Web服务客户端。它使得编写Web服务客户端变得非常简单,只需创建一个接口并在上面添加注解,即可实现对外部HTTP API的调用。Feign的设计灵感来源于Retrofit和JAX-RS-2.0。
2024-06-14 11:59:04 931
原创 深入解析:线程与进程的区别与应用
在计算机科学中,线程与进程是两个重要的概念,它们在并发编程中扮演着至关重要的角色。理解线程与进程之间的区别及其各自的优缺点,对于编写高效且稳定的应用程序至关重要。本文将深入探讨线程与进程的概念、区别、优缺点及其应用场景。
2024-06-13 13:42:26 348
原创 Spring Boot 面试热点(三)
本文介绍了 Spring Boot 的测试方法、高级话题以及一些实践经验。通过掌握这些内容,你将能够在面试中展示出对 Spring Boot 的全面理解和实际应用能力。不断学习和实践是提升技能的关键,希望这些内容能帮助你在面试中取得成功。
2024-06-13 13:37:23 295
原创 Spring 启动顺序
加载配置文件: 读取或等配置文件。创建 Spring 容器: 初始化。Bean 定义加载: 通过扫描和配置文件加载 Bean 定义。Bean 实例化: 根据 Bean 定义创建 Bean 实例。依赖注入: 将所需的依赖注入到 Bean 中。Bean 初始化: 调用初始化方法。完成启动: 应用完全启动并准备好处理请求。Spring 容器会根据配置文件和注解扫描路径加载 Bean 定义。在这个阶段,Spring 解析配置文件中的 Bean 定义和注解(如@Component@Service等)。
2024-06-12 13:24:28 2130 2
原创 Spring Boot 面试热点(三)
本文介绍了 Spring Boot 的测试方法、高级话题以及一些实践经验。通过掌握这些内容,你将能够在面试中展示出对 Spring Boot 的全面理解和实际应用能力。不断学习和实践是提升技能的关键,希望这些内容能帮助你在面试中取得成功。
2024-06-12 13:17:01 555 1
原创 Spring Boot 面试热点(二)
创建模块: 创建一个新的 Maven/Gradle 模块。添加依赖: 在模块的pom.xml或中添加依赖。自动配置: 创建自动配置类,并在文件中注册。发布: 将模块发布到 Maven 中央仓库或内部仓库。扩展 WebSecurityConfigurerAdapter: 自定义安全配置类,重写configure方法。java复制代码import org.springframework.context.annotation.Configuration;
2024-06-11 15:43:28 433
原创 Spring Boot 面试热点(一)
创建配置类: 创建一个带有注解的类。条件注解: 使用等注解控制配置的生效条件。注册到 SpringFactories: 在文件中注册自定义配置类。掌握 Spring Boot 的基本原理和项目结构,可以帮助你在面试中展示出对该框架的基础理解。通过实践自动配置和自定义配置,你将能够更加熟练地使用 Spring Boot 构建高效、可靠的应用程序。
2024-06-11 15:42:02 993
原创 Redis 面试热点(二)
热 Key 是指某个键被频繁访问,导致 Redis 集群中该键所在节点的负载过高。本文介绍了 Redis 面试中的一些高级话题,包括事务、Lua 脚本、缓存一致性、热 Key 问题以及与其他数据库的对比。掌握这些知识点可以帮助你在面试中展示对 Redis 的深入理解和实践经验,希望对你有所帮助。通过不断学习和实践,你将能够更加熟练地使用 Redis,并应对各种复杂的应用场景。
2024-06-10 13:53:36 822
原创 Redis 面试热点(一)
本文介绍了 5 个 Redis 面试热点,包括 Redis 的数据类型及应用场景、持久化机制、集群架构、缓存策略和性能优化。这些内容覆盖了 Redis 的核心知识点和高级用法,希望对你在面试中有所帮助。通过深入理解和实践这些知识,你可以更好地应对面试中的挑战,展示出你对 Redis 的全面掌握。Redis 面试热点(二)
2024-06-10 13:52:00 1942
原创 Redis 实用命令大全
Redis 提供了丰富的命令来操作各种数据结构,这些命令覆盖了大多数常见的使用场景。熟练掌握这些命令可以帮助你更高效地使用 Redis。在实际应用中,可以根据具体需求选择合适的命令和数据结构,以充分发挥 Redis 的性能优势。
2024-06-09 12:24:28 742
原创 Maven 下载、安装、配置与使用教程
通过本文,你应该掌握了如何下载、安装、配置和使用 Maven。Maven 是一个强大的工具,可以极大地简化 Java 项目的管理和构建。希望本文对你有所帮助,祝你在使用 Maven 的过程中一切顺利!!
2024-06-09 12:23:12 516
原创 MyBatis-Plus 面试热点问题详解(下)
条件构造器是 MyBatis-Plus 提供的一种方便构造复杂 SQL 查询条件的工具,主要有 QueryWrapper 和两种。// 使用 QueryWrapper 构造查询条件// 使用 UpdateWrapper 构造更新条件在本文中,我们详细介绍了 MyBatis-Plus 的分页功能、乐观锁机制和逻辑删除实现。这些功能是 MyBatis-Plus 提供的高级特性,能够极大地方便开发者处理常见的业务需求。掌握这些知识可以帮助你在面试中表现出色,并在实际项目开发中提高效率。
2024-06-08 22:18:50 201
原创 MyBatis-Plus 面试热点问题详解(上)
MyBatis-Plus 是 MyBatis 的增强工具,核心是对 MyBatis 的无侵入增强。它提供了 CRUD 操作的自动实现、条件构造器、分页插件、性能分析插件等功能,使得开发者可以专注于业务逻辑,而不用花费大量时间编写重复的 SQL 代码。掌握 MyBatis-Plus 的基本使用和常见功能对于 Java 开发者来说非常重要。在面试中,了解 MyBatis-Plus 的核心功能和条件构造器等内容,可以帮助你在面试中脱颖而出。请继续阅读下一篇,了解更多关于分页、乐观锁和逻辑删除等热点问题的内容。
2024-06-08 22:17:11 569
原创 Cocos Creator绕远做圆周运动,且变换运动物体的角度
需求:绕远做圆周运动 并且精灵的角度要随着位置的改变而改变网上有很多做圆周运动的代码,但是要不然就是角度不变 要不然就是cocos版本老旧摘了一段3.x的圆周运动,自己加了角度变换圆周运动,已知,圆点坐标为(0,0)固定不变和圆周上任意一点的坐标。只需要求 圆周上这个点 所在的切线 与x周的角度就行。Math.atan2(y:number,x:number) 这个函数刚好符合需求ex...
2022-04-08 20:13:00 105
原创 【SpringCloud】consul注册中心注册的服务为内网(局域网)IP
一、前因最近在做公司的一个微服务项目,技术架构为spring cloud + consul + SSM。当我写完一个功能要在本地测试时,发现服务运行成功,但是前后端联调报500错误。当时的第一个想法就是gateway服务的问题,但是其他同事却说gateway服务没毛病。最后想到可能是注册中心的问题,于是访问consul的管理页面。服务是注册上了,但是一眼就能看到毛病:居然是内网IP!...
2020-11-21 20:02:00 130
原创 Java入门到实践系列(2)——Java环境搭建
一、上集回顾在《Java入门到实践系列(1)——Java简介》中提到过,Java程序是运行在Java虚拟机的,也展示过下面这张图。JDK:Java程序开发工具包。JRE:Java运行时环境。JVM:Java虚拟机。从这张图可以看出,JDK包含JRE,JRE包含JVM。而我们作为Java开发人员,肯定是要安装JDK的啦。二、JDK的安装JDK1.8官网下载地址:https://w...
2020-08-09 18:30:00 37
原创 Java入门到实践系列(1)——Java简介
## 一、Java的发展历史Java是由SUN公司的开发人员James Gosling及其领导的一个开发小组与1995年开发并推出的一门高级编程语言。经过二十几年的发展已经成为最受程序员欢迎、使用最为普遍的编程语言之一。2004年J2SE 5.0版本问世,更新力度大,Java从此进入了发展的快车道。并将J2SE 5.0改名为Java SE 5.0。2009年Oracle公司(甲骨文)收购S...
2020-08-04 16:56:00 38
原创 本地连接虚拟机db2V10.5遇到的问题
在连接虚拟机数据库时发现自己不知道db2的端口号是多少,百度上说50000,60000的都有,所以还是决定自己试一下,并记录下这个过程# 首先切换到db2inst1的用户su - db2inst1# 查询db2配置中 (SVCENAME)= 的值db2 get dbm cfg | grep -i service通过上面这个命令,查出来的(SVCENAME)=为空,按其他博客的教程是拿...
2020-07-04 23:13:00 66
原创 Linux下db2V10.5命令行安装超详细图文教程(附下载地址)
下载地址:https://pan.baidu.com/s/1GtF03x1FMF3IsGdSiBJu-g 提取码:8vfj失效了发邮件:wells974@163.com一、db2prereqcheck预检查首先进入到压缩包所在的目录,执行tar命令对.tar.gz压缩文件进行解压# 解压到当前目录 tar -zxvf v10.5_linuxx64_expc.tar.gz# 后面加 -...
2020-05-30 12:17:00 56
原创 mysql相关面试题(一)
1、主键自增,姓名字段重复。删除重复的姓名数据,只留一条-- Every derived table must have its own alias 子查询要起别名-- 思路:分组后只会显示一条,然后根据这一条的id 去not in 删除DELETE FROM test WHERE id NOT IN (SELECT id FROM (SELECT * FROM test GROUP ...
2020-04-22 21:16:00 35
原创 不使用第三方变量交换变量遇到的思考
记一次在不使用第三方变量的情况下交换变量遇到的思考今天百度了一下在不使用第三方变量的情况下交换变量的几种方法对其中的一种交换变量的方法特别感兴趣,看起来比较简单,但是琢磨了半天没有想明白他是按什么顺序去运行的 :1 public static void main(String[] args) {2 int a = 1000,b=2000;3 4 a= b + ( b = ...
2019-10-23 10:57:00 44
原创 Java前台传值至后台中文乱码
记一次常见问题今天导入了一个网上下载的项目,运行后发现,前台传值 到Servlet,Servlet保存至数据库,数据库保存的中文数据出现乱码,检查了一下表中的编码是utf8没错。输出测试了一下原来和数据库编码无关,传值过来的时候就已经是一堆乱码了在网上了解到:当你的传参是get传参数时如果是有中文,如果你的传参形式是iso8859-1(默认是这个)如果你页面显示是utf-8或gbk...
2018-07-10 21:16:00 29
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人