自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(69)
  • 收藏
  • 关注

原创 HashMap面试题

当HashMap中的元素数量超过负载因子与当前容量的乘积时,HashMap将会扩容,以保持哈希表的平均填充程度不超过负载因子。较高的负载因子会减少空间开销但增加查找成本,较低的负载因子会增加空间开销但减少查找成本。当需要查找或插入键值对时,HashMap首先计算键的哈希码,然后找到对应的桶,然后在桶中查找或插入。是的,HashMap可以包含重复的值,但不能包含重复的键。当HashMap中的元素数量超过负载因子与当前容量的乘积时,HashMap会进行扩容。HashMap的负载因子是什么,它的作用是什么?

2023-10-10 18:26:53 240

原创 python读取excel文件中的所有Sheet的所有单元格函数,并把结果写到文件

这段代码会打开XLSX文件,然后遍历所有Sheet,逐行逐单元格查找包含函数的单元格,并将其公式写入名为’output.txt’的文本文件中。请将your_xlsx_file.xlsx替换为您要处理的XLSX文件的路径。要读取一个XLSX文件中的所有Sheet的所有单元格函数,您可以使用Python的openpyxl库。

2023-10-10 18:15:40 1432

原创 XSS详细介绍

它允许攻击者在网页上注入恶意脚本代码,当其他用户访问包含这些恶意脚本的网页时,这些脚本将在他们的浏览器中执行。攻击者将恶意脚本代码存储在服务器上,通常在用户提交的评论、留言板或其他用户生成内容中。当其他用户访问包含这些恶意脚本的页面时,脚本会从服务器上加载并在他们的浏览器中执行。XSS攻击的主要目标是在用户的浏览器中执行恶意脚本,以获取用户的敏感信息,如Cookie、会话令牌、用户名和密码等。在将用户输入的数据呈现到网页上之前,确保对其进行适当的HTML编码,以防止浏览器解释为脚本。

2023-10-09 09:51:59 216

原创 CSRF详细介绍

它是一种攻击方式,攻击者通过伪装成合法用户的请求来执行未经授权的操作,这些请求可能会导致用户的账户被滥用或数据被篡改。总之,CSRF是一种常见的网络攻击,但可以通过一系列的安全措施来有效地减轻风险。对于一些敏感操作,例如修改密码、进行支付等,需要用户再次输入密码或进行双因素身份验证,以确保用户的确认。设置Cookie的SameSite属性可以限制第三方网站对Cookie的访问,减少CSRF攻击的可能性。开发人员应该编写安全的代码,避免在请求中执行敏感操作,尤其是使用GET请求来执行修改操作。

2023-10-09 09:50:44 336 1

原创 ShardingSphere面试题

客户端层负责接收应用程序的数据库请求,中间层是 ShardingSphere 的核心组件,负责路由、分片、事务协调等功能,数据源层包含多个数据库实例,用于存储和处理数据。在分布式事务中,ShardingSphere 会协调各个参与者数据库的事务,包括提交、回滚和异常处理。分库分表是将数据库中的数据按照某个规则分散存储在不同的数据库实例或表中的过程。ShardingSphere 的读写分离是通过配置数据源和路由规则来实现的。不同的分片策略适用于不同的场景,可以根据需求选择合适的策略。

2023-10-08 10:45:06 530

原创 MyCat面试题

通过配置多个后端数据库服务器和合适的负载均衡策略,当一个数据库服务器发生故障时,MyCat 可以自动切换到另一个可用的服务器,确保服务的连续性。MyCat 是一个开源的数据库中间件,它可以作为数据库代理,为应用程序提供数据库访问和负载均衡功能。MyCat 主要支持 MySQL 数据库引擎,但它也支持兼容 MySQL 协议的其他数据库引擎,如 MariaDB。它可以将读操作(如查询)路由到只读的后端数据库服务器,而将写操作(如插入、更新、删除)路由到主服务器,以分担主服务器的负载并提高性能。

2023-10-08 10:41:45 383

原创 XXL-Job面试题

任务在Admin配置后,被分配给Executor节点,Executor节点根据任务的调度策略和执行时间来执行任务。XXL-Job的任务分片是通过分配不同的分片参数来实现的。定时任务是指任务在指定的时间点执行一次,而周期性任务是指任务按照固定的时间间隔反复执行。XXL-Job支持配置定时任务和周期性任务,用户可以根据实际需求选择合适的任务类型。XXL-Job使用数据库来存储任务执行日志,管理员可以在Admin后台查看任务的执行日志。可以在任务配置中设置任务的依赖关系,确保某个任务在其他任务执行成功后才执行。

2023-10-07 11:52:55 2459

原创 RocketMQ面试题

RocketMQ的集群模式是一种高可用性的部署方式,通常包括多个Broker节点和多个Namesrv节点。Broker节点分为主节点和从节点,主节点负责消息写入,从节点用于备份。这种集群模式提供了容错能力,如果主节点故障,从节点可以接管服务,确保消息传递的可靠性。RocketMQ使用消息ID来防止消息的重复传递。每个消息都有一个唯一的消息ID,当消息被消费后,RocketMQ会记录消费位置,以确保同一消息不会被重复消费。此外,RocketMQ还支持消费者提交偏移量,以记录已成功消费的消息位置。

2023-10-07 11:48:15 226

原创 Java注解教程

要创建自定义注解,需要使用@interface关键字,并可以在注解中定义元素。元素类似于接口方法,可以有默认值。在上面的示例中,我们创建了一个名为value和number。@Retention注解指定了注解的保留策略。表示注解在运行时可用,可以通过反射来访问。@Target注解指定了可以应用注解的程序元素类型。在此示例中,我们只能将注解应用于方法。@Override:用于标记方法覆盖父类的方法。:用于标记已过时的方法或类。:用于禁止编译器产生警告。

2023-10-04 12:09:12 34

原创 Java反射教程

Java反射是一种强大的工具,它允许您在运行时检查类、方法、字段等,并进行动态操作。

2023-10-04 12:07:09 101

原创 Apache SkyWalking面试题

Agent 收集应用程序的性能数据并发送到 Collector,Collector 负责收集和存储数据,Storage 用于持久化数据,UI 提供用户界面,OAP 用于数据分析和处理。SkyWalking 的核心监测原理是通过代理方式,对应用程序进行字节码注入,以捕获应用程序的方法调用信息,并将这些信息发送到后端的 SkyWalking 分析服务。Apache SkyWalking 是一个开源的分布式系统性能监测工具,用于监测、跟踪和诊断分布式系统和微服务架构中的性能问题。

2023-10-01 22:09:30 178

原创 PostgreSQL面试题

PostgreSQL 允许用户创建自定义触发器,以在数据更改时执行自定义逻辑,例如日志记录、验证和数据一致性维护。JSONB 是 PostgreSQL 中的 JSON 数据类型的一种变体,它以二进制格式存储 JSON 数据,提供了更高的性能和更好的查询支持。表空间是 PostgreSQL 中的一个概念,它用于管理数据库中表和索引的物理存储位置。常见的连接池库包括 Apache Commons DBCP、C3P0 和 HikariCP,它们可以与 PostgreSQL 数据库一起使用。

2023-10-01 22:03:19 946

原创 ReentrantLock底层原理

在公平锁模式下,等待队列中的线程按照先进先出(FIFO)的顺序获取锁。在非公平锁模式下,等待队列中的线程有可能被插队,即新来的线程可以在等待队列中的某个线程之前获取锁。当一个线程获取锁时,锁状态会递增,允许同一个线程多次获取锁(重入性)。一旦锁被释放,等待队列中的线程将被唤醒,并尝试再次获取锁。它允许线程获取锁的顺序和公平性的配置,提供了更多的控制选项,适用于各种并发场景。AQS 提供了一个基本的框架,用于实现不同类型的同步器,包括独占锁和共享锁。时,需要小心处理锁的获取和释放,以避免死锁和性能问题。

2023-09-30 10:24:58 157

原创 synchronized底层原理

是一种基于对象监视器的锁机制,用于实现线程之间的同步。在 Java 中,每个对象都有一个对象头信息,它包含了对象的标识、哈希码以及锁状态。是 Java 中用于实现同步的关键字,它的底层原理涉及到 Java 对象头和对象监视器的概念。使用的是内置锁,也称为监视器锁。每个对象都有一个关联的对象监视器(也称为锁),用于控制对该对象的访问。当线程执行完同步块中的代码或者抛出了异常时,它会释放对象监视器,允许其他线程获取锁并执行同步块。会引入一定的性能开销,因为线程需要竞争锁,而且会存在一定的线程阻塞。

2023-09-30 10:24:23 121

原创 mysql面试题

这些范式的主要思想是将数据组织成不重复和无关的表,以确保每个数据项只在数据库中存储一次。MySQL复制是将一个MySQL服务器的数据复制到另一个服务器的过程,其中一个是主服务器,另一个是从服务器。SQL注入是一种恶意攻击,攻击者通过向应用程序的输入字段中插入恶意SQL代码,来执行未经授权的数据库操作。MySQL主从复制是一种数据库复制技术,它将一个MySQL数据库的数据复制到一个或多个从服务器上,以实现数据的冗余和负载均衡。一旦设置完成,主服务器上的更改将自动复制到从服务器上,实现数据的冗余和负载均衡。

2023-09-29 10:40:28 130

原创 Seata面试题

Seata使用全局事务协调器(TC)来协调跨多个微服务的分支事务,以确保全局事务的一致性。微服务之间的通信通常通过RPC调用来实现,Seata可以在RPC调用中传播全局事务上下文,从而实现跨服务的事务一致性。否则,全局事务会回滚。此外,Seata提供了多种事务模式和灵活的配置选项,使开发人员能够根据应用程序的需求选择合适的事务策略。在Seata中,全局事务是一个跨多个分支事务的顶级事务,它包括一个或多个分支事务。每个全局事务都有一个唯一的全局事务ID,用于标识该事务的所有分支事务。

2023-09-29 10:36:40 2009

原创 Shiro面试题

在Shiro中,Salt是一个随机的、唯一的值,用于增加密码的安全性。在验证用户密码时,系统会使用相同的Salt值来计算密码的哈希值,以确保相同的密码在不同用户之间具有不同的哈希值。当用户尝试登录时,Shiro会按顺序遍历每个配置的Realm,并使用第一个成功认证的Realm来完成登录。Apache Shiro是一个开源的Java安全框架,用于提供身份验证(Authentication)、授权(Authorization)、会话管理和密码加密等安全功能。Shiro提供了用于处理主体身份验证和授权的API。

2023-09-28 11:54:08 257

原创 SpringSecurity面试题

它提供了一套强大的安全性功能,用于保护应用程序的资源,如URL、方法调用、页面等。Spring Security OAuth2是Spring Security的扩展,用于实现OAuth2协议的身份验证和授权。当用户提交表单时,Spring Security会验证令牌的有效性,只有有效令牌的请求才会被处理。当用户尝试登录时,Spring Security会选择合适的提供者来验证用户的身份。Spring Security允许在方法级别对方法进行安全性控制,以确保只有具有特定角色或权限的用户可以调用这些方法。

2023-09-28 11:50:40 275

原创 Memcached面试题

当应用程序需要数据时,它首先在Memcached缓存中查找,如果找到则返回数据,否则从数据库或其他数据源中检索数据,并将数据存储到缓存中以供以后使用。部署Memcached集群通常涉及在多台服务器上安装和配置Memcached服务,并通过一些客户端库将请求分发到这些服务器。Memcached使用一个简单的缓存策略,称为LRU(Least Recently Used,最近最少使用)策略。Memcached是一个开源的、高性能的分布式内存缓存系统,用于存储键/值对数据。

2023-09-28 11:43:53 185

原创 CAS并发控制

需要注意的是,CAS 操作虽然是一种强大的并发控制手段,但也存在一些问题,如ABA问题(即在操作期间共享变量的值经历了多次变化,但最终回到了原始值的情况)。“cas” 通常是指 “Compare and Swap” 或 “Compare and Set”,是一种用于多线程编程的原子操作。CAS 操作是一种并发控制手段,用于解决多线程同时访问共享资源时的竞争问题。它是一种非阻塞算法,与传统的互斥锁相比,CAS 具有更轻量级的性能开销。CAS 操作的一个常见用例是实现乐观锁,用于解决数据库并发控制问题。

2023-09-28 11:40:07 43

原创 Spring源码学习

以上是一些可以作为Spring源码学习的入口点的类和包。你可以根据自己的兴趣和需求选择一个合适的入口点开始学习,并逐渐深入研究相关的源码。同时,建议使用IDE工具来进行源码的导航和查看,以便更容易地理解代码逻辑和调用关系。在学习过程中,阅读注释、文档和示例代码也会非常有帮助。Spring框架的源码非常庞大,因此需要有一个合理的入口点来开始学习。

2023-09-27 10:59:20 136

原创 Paxos算法

Paxos算法的设计目标是确保在分布式系统中的多个节点之间达成一致,即使节点故障或消息丢失。尽管Paxos算法是一个非常强大的共识算法,但它的复杂性和难以理解使得实现和维护成本较高。:在Paxos中,节点可以扮演以下三种角色之一:提议者(proposer)、接受者(acceptor)和学习者(learner)。接受是节点对提案的确认,表明节点接受了提案中的值。:每个提案都有一个唯一的提案编号(proposal number),通常用于标识提案的顺序和优先级。这是Paxos中的关键原则,确保一致性。

2023-09-27 09:50:37 34

原创 raft共识算法

如果没有领导者或领导者故障,跟随者可以成为候选人,并发起选举,最终选举出新的领导者。Raft是一种分布式共识算法,用于确保在分布式系统中的多个节点之间达成一致性,以便实现数据的一致性复制和容错性。Raft算法的设计目标是更容易理解和实现,与Paxos算法相比,Raft提供了更清晰的算法描述和更好的可读性。需要注意的是,Raft算法虽然相对容易理解,但在实际的分布式系统中仍需要谨慎实施,考虑到网络延迟、节点故障和性能等方面的问题。:Raft中的时间被划分为一系列连续的任期,每个任期都有一个唯一的领导者。

2023-09-27 09:49:40 49

原创 base理论

BASE理论的核心思想是在面对分布式系统的复杂性和不确定性时,可以通过牺牲强一致性来获得更高的可用性。BASE理论常常与NoSQL数据库和分布式系统的设计相关联,因为许多NoSQL数据库采用了最终一致性模型,以实现更高的可用性和扩展性。:BASE理论中的软状态指的是在一段时间内,系统的数据状态可以是不确定的,因为分布式系统中的数据复制和异步传播可能会导致数据的临时不一致。:BASE理论的最终一致性指的是尽管在一段时间内数据状态可以是不确定的,但最终系统会达到一致的状态。

2023-09-27 09:47:35 94

原创 cap理论面试题

是的,CAP理论是分布式系统领域的一个重要理论,但还有其他理论和概念,如BASE(Basically Available, Soft state, Eventually consistent)、ACID(原子性、一致性、隔离性、持久性)等,用于描述和分析分布式系统的属性和特性。在CAP理论中,一致性是指系统的所有节点在同一时间看到的数据是相同的,无论用户向系统的哪个节点发出请求,都应该获得相同的响应。可用性是指系统的每个请求都应该在有限的时间内得到响应,即系统在任何时间都应该是可用的,不会长时间无响应。

2023-09-27 09:44:56 267

原创 编程软件推荐

用于iOS和macOS开发的官方IDE,支持Swift和Objective-C。:用于C和C++开发的JetBrains IDE,提供了强大的代码分析和调试工具。:通用的轻量级代码编辑器,支持多种编程语言,具有强大的扩展生态系统。:用于Java开发的强大IDE,提供了丰富的开发工具和插件。:开源的文本编辑器,由GitHub开发,支持丰富的插件。:用于C#开发的跨平台IDE,由JetBrains开发。:用于.NET开发的强大IDE,支持多种语言和平台。:用于R语言开发的IDE,用于数据分析和统计建模。

2023-09-26 11:55:47 134

原创 idea插件推荐

该插件可以帮助您更好地掌握IntelliJ IDEA的快捷键,当您使用鼠标执行操作时,它会提示您相应的快捷键。:如果您需要在文档或注释中创建UML图表,这个插件可以帮助您将PlantUML嵌入到您的代码中。:用于自定义文件模板的插件,可以帮助您更快地创建文件,例如Java类、HTML页面等。:用于Maven项目的插件,可以帮助您解决Maven依赖的问题,查看依赖冲突等。:用于代码风格检查的插件,它可以帮助您确保代码遵循了所选的代码风格规范。

2023-09-26 11:52:06 21

原创 程序员国外接单网站

Fiverr是一个以任务为基础的平台,自由职业者在上面提供各种任务,从编程到设计再到写作等。- Toptal是一个高级开发人员和设计师的平台,它的重点是为企业提供高水平的技能。- Upwork是一个全球性的自由职业者平台,提供各种技能的自由职业者,项目需求方可以发布项目,自由职业者可以通过提供竞标来获取项目。- Stack Overflow是程序员社区的知名网站,它也有一个职位板块,项目需求方可以发布招聘信息,吸引程序员申请。- X-Team是一个面向开发人员的远程团队招聘平台,提供长期项目和机会。

2023-09-26 11:07:54 772

原创 OAuth2.0面试题

例如,一个作用域可以表示访问用户的基本信息,另一个作用域可以表示访问用户的电子邮件地址。授权服务器会根据客户端的请求和资源所有者的授权来确定颁发的访问令牌的作用域。刷新令牌是一种特殊的令牌,用于在访问令牌过期后获取新的访问令牌。:在此流程中,客户端先重定向用户到授权服务器,用户登录并授权客户端,授权服务器颁发授权码,然后客户端使用授权码获取访问令牌。访问令牌是OAuth 2.0中的令牌,它用于访问受保护资源。:资源服务器存储和提供受保护的资源,只有在有效的访问令牌下才能访问。

2023-09-26 10:34:56 413

原创 程序员的必掌握算法:常见而重要的算法介绍

这些算法只是程序员职业生涯中的冰山一角,但它们是构建编程技能和解决复杂问题的基础。无论是在面试中还是在实际工作中,掌握这些常见算法将为你提供强大的工具,帮助你成为一个更出色的程序员。不断学习和实践这些算法,将有助于提高你的编程技能和解决问题的能力。动态规划是一种解决最优化问题的方法,它将问题分解为子问题,通过保存子问题的解来避免重复计算。分治算法将问题分解为更小的子问题,然后将子问题的解合并成原问题的解。掌握哈希表的原理和应用是编程中的关键技能。树和图的遍历算法用于访问和处理树和图数据结构中的所有节点。

2023-09-26 09:52:48 42

原创 我的编程学习之路:从愚蠢的代码到成长的经历

这个愚蠢的错误虽然让我感到尴尬,但它也成为了我编程学习过程中的一个重要教训。通过不断的学习和改进,我逐渐克服了这些初学者时期的挫折,变得更加自信和熟练。编程是一项持续学习的艺术,每一次错误都是进步的一部分。实际上,它返回的是输入数的两倍,而不是平方。在我开始学习编程的早期阶段,我被赋予了一个简单的任务:编写一个程序来计算一个数的平方。每次遇到错误都是一个学习的机会,通过分析错误并纠正它们,我们可以不断提高自己的编程技能。在写代码之前,要仔细思考问题的本质,确保理解了问题的要求和逻辑。

2023-09-26 09:49:24 87

原创 10W订单的系统如何设计

同时,不断的性能测试和优化也是确保系统能够处理大规模订单的关键。:包含独立的服务组件,负责处理订单、库存管理、支付处理、物流跟踪等。:使用缓存来加速读取频繁的数据,例如产品信息、用户信息等。设计一个支持处理10万订单的系统需要综合考虑性能、可伸缩性、可用性和安全性等因素。:存储订单、产品信息、用户信息等数据。:用于异步处理订单相关操作,如订单支付、发货等。:负责接收来自客户端的订单请求,处理用户身份认证和授权,并将请求传递给应用服务器。:部署监控和日志系统,实时监测系统运行状态,及时发现和解决问题。

2023-09-26 09:44:11 184

原创 网络面试题

是新一代IP地址格式,使用128位地址,通常以冒号分隔的八组十六进制数字表示(例如,2001:0db8:85a3:0000:0000:8a2e:0370:7334)。IPv6提供了更广泛的地址空间,以满足不断增长的互联网连接需求,并提供了更好的安全性和性能。它是基于无状态请求/响应模型的,并使用端口80进行通信。HTTP是不安全的,因为数据在传输过程中以明文形式传输,容易受到窃听和中间人攻击的威胁。是早期和最常见的IP地址格式,使用32位地址,通常以四个点分十进制表示(例如,192.168.1.1)。

2023-09-26 09:40:08 15

原创 算法面试题

二叉树的前序遍历是一种深度优先搜索(DFS)算法,可以使用递归或迭代来实现。给定一个整数数组 nums,找到其中一个具有最大和的连续子数组(子数组最少包含一个元素)。给定一个整数数组 nums,找到其中两个数使得它们的和等于一个特定的目标数。实现一个有向图的深度优先搜索(DFS)算法,找出从指定起点到终点的路径。以下是中心扩展法的解法。实现一个二叉树的前序遍历(Preorder Traversal)。这是一个经典的深度优先搜索问题。给定一个字符串 s,找到其中最长的回文子串。实现一个单链表的反转。

2023-09-26 09:38:08 28

原创 设计模式面试题

例如,装饰器模式允许通过创建新的装饰器类来扩展对象的行为,而不需要修改原始类的代码;装饰器模式通过创建一组装饰器类,每个装饰器类都实现了一个共同的接口,并持有一个被装饰的对象的引用。例如,依赖注入是一种常见的实现依赖倒置的方式,它通过将依赖对象注入到高层模块中,而不是高层模块自己创建依赖对象,来实现松耦合。换句话说,一旦一个软件实体被创建,它的行为应该是不可修改的,但可以通过扩展来添加新的功能。而在抽象工厂模式中,客户端通过选择不同的工厂来创建一组相关的对象,抽象工厂属于抽象工厂接口。

2023-09-25 11:45:13 372

原创 Spring Cloud Stream面试题

如果事务成功提交,则消息被确认;Spring Cloud Stream继承了Spring Integration的概念,如通道(Channel)和消息转换器(Message Converter),并在此基础上提供了更高层次的抽象,以简化消息驱动微服务的开发。Spring Cloud Stream的事务性消息支持使开发者能够编写具有原子性和一致性的消息处理逻辑,确保消息的可靠性传递。消息转换器允许应用程序在生产者和消费者之间使用不同的消息格式,同时确保消息能够正确地在消息通道和消息代理之间传递和解释。

2023-09-25 11:40:19 58

原创 Spring Cloud Sleuth面试题

它通过唯一的跟踪标识符(Trace ID)和跟踪片段标识符(Span ID)来追踪请求的流向,帮助开发者分析和解决分布式系统中的性能问题和故障。Spring Cloud Sleuth可以追踪请求在分布式系统中的执行路径,帮助开发者了解请求经过的微服务和调用链。通过与Zipkin的集成,开发者可以更容易地查看和分析分布式系统中的跟踪信息,了解请求的执行路径、时序图和性能瓶颈。如果异步操作中有新的子操作(例如,异步消息的处理),则需要在子操作内部创建新的Span,以建立跟踪链。

2023-09-25 11:37:52 88

原创 Spring Cloud Bus面试题

Spring Cloud Bus的消息广播会引入一定的性能开销,因为它涉及消息的发布和订阅,以及消息代理的处理。但影响微服务性能的程度通常取决于多个因素,包括消息代理的性能、消息体的大小、消息广播的频率等。使用消息代理的分区功能,将消息广播分成多个分区,每个分区由不同的微服务组订阅。要配置Spring Cloud Bus的消息代理后端,需要在应用程序的配置文件中指定消息代理的相关信息。这样,通过Spring Cloud Bus的帮助,可以实现配置的中心管理和动态刷新,而不需要手动触发每个微服务的配置刷新。

2023-09-25 11:34:48 27

原创 Spring Cloud Config面试题

它允许开发者将配置文件存储在一个集中的存储库中,例如Git仓库,然后在各个微服务中进行动态加载和更新配置,而无需重新部署应用程序。Spring Cloud Config和Spring Cloud Bus是两个不同的组件,但它们可以结合使用以实现配置的动态刷新。通过结合使用Spring Cloud Config和Spring Cloud Bus,可以实现配置的中心管理和动态刷新,而不需要手动触发每个微服务的配置刷新。通过这种方式,可以实现动态配置刷新,应用程序可以在不停止或重新启动的情况下获取最新的配置。

2023-09-25 11:32:33 57

原创 Spring Cloud Zuul面试题

Zuul充当了客户端和一组后端服务之间的中介,可以帮助开发者管理微服务之间的通信和请求流量。开发者可以编写前置过滤器,拦截请求并修改它们的内容,包括请求头、请求体等。通过配置路由规则和指定服务的名称,Zuul可以自动将请求分发给多个微服务实例,实现负载均衡。Zuul的过滤器是在请求进入和响应离开网关时执行的逻辑组件。Zuul允许开发者定义自定义过滤器,用于在请求进入和响应离开网关时执行额外的逻辑,如鉴权、日志记录等。在Zuul的配置文件中,配置Eureka服务的相关信息,如Eureka服务器的地址。

2023-09-25 11:28:29 287

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除