- 博客(15)
- 收藏
- 关注
原创 重学Java设计模式-责任链模式
在软件开发中,设计模式是解决特定问题的成熟模板,它们提供了一种标准的方式来解决常见的软件设计问题。责任链模式是一种行为设计模式,允许你将请求沿着处理者链进行发送。收到请求后,每个处理者均可对请求进行处理,或将其传递给链上的下个处理者。责任链模式是一种对象行为型模式,它包含多个对象,每个对象都包含对下一个对象的引用,构成一条链。请求在这个链上传递,每个对象都可以选择处理请求或者传递给下一个处理者,甚至停止传递请求直接返回。责任链模式定义了一种使多个对象都有机会处理请求的机制,从而解耦请求的发送者和接收者。
2024-12-22 22:07:27
1003
原创 Nacos源码分析-事件驱动架构
🐳定义:事件驱动架构(Event-Driven Architecture, EDA)是一种软件架构模式,基于事件的产生、传播和响应来设计系统。它使得系统可以通过事件来解耦组件之间的关系,从而提高系统的灵活性和可扩展性。🐳核心概念事件: 事件是系统中发生的某个特定动作或状态变化的通知。例如,注册实例,发布配置等都可以视为事件事件源: 事件源是产生事件的组件或系统事件处理器: 事件处理器是响应和处理特定事件的组件或服务。它们可以根据接收到的事件执行相应的逻辑事件总线。
2024-12-04 17:45:36
1077
原创 Nacos源码分析-永久实例健康检查机制
在本文中,我们深入探讨了 Nacos 中永久实例的健康检查机制。文章重点介绍了 TCP 健康检查的实现细节,包括心跳任务的创建与处理过程。永久实例在需要长期稳定的服务中发挥了重要作用,例如数据库服务和基础设施服务。通过这种机制,Nacos确保了服务的可用性和集群的一致性,从而提升了系统的可靠性和可维护性。在实际应用中,根据不同的场景选择合适的实例类型至关重要。
2024-11-30 17:34:09
971
原创 重学Java设计模式-代理模式
亦称:proxy代理模式(Proxy Pattern)是一种结构性设计模式,主要用于提供一个替代或占位符对象,以控制对其他对象的访问。代理模式通过代理对象来间接访问真实对象,从而实现对真实对象的控制和扩展。
2024-11-30 17:32:41
393
原创 Nacos源码分析-临时实例健康检查机制
Nacos 作为注册中心不应该仅仅提供服务注册和发现功能,还应该保证对服务可用性进行监测,对不健康和过期的服务实例进行标识或剔除,维护实例的生命周期,以保证客户端尽可能的查询到可用的服务列表。官方文档对于临时实例健康检查机制是这样描述的在 Nacos 中,用户可以通过两种方式进行临时实例的注册,通过 Nacos 的 OpenAPI 进行服务注册或通过 Nacos 提供的 SDK 进行服务注册。
2024-11-26 21:00:13
1042
原创 Nacos源码分析-更新配置时服务端做了什么
在 Nacos console 修改了配置以后,服务端底层怎么存储配置?客户端怎么知道配置修改了?怎么通知集群其他节点?让我来揭开它神秘的面纱。
2024-11-25 11:45:40
1080
原创 nacos源码分析-服务注册
Nacos 是一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台目前主要关注 Nacos 服务注册与发现相关的内容服务提供者在启动时会向Nacos注册中心发送注册请求,包括服务名称、IP地址、端口号等信息。Nacos服务端接收到注册请求后,将服务实例信息存储在注册中心的数据库中,并缓存到内存中以便快速查询。注册成功后,服务提供者会定期向Nacos发送心跳请求,以表明服务实例仍在运行中。服务消费者从服务注册中心发现并调用服务。
2024-11-14 16:47:58
686
原创 重学Java设计模式-工厂方法模式
工厂方法模式(Factory Method Pattern)是一种创建型设计模式,提供了一种方法用于创建对象,但允许子类决定实例化哪一个类。工厂方法模式将类的实例化推迟到子类中。它主要解决了将对象的创建和使用解耦的问题我认为在业务中工厂方法适用于根据某个业务实体的某种类型值进行相应逻辑处理的场景。比如支付网关集成,在电子商务平台中,可能需要支持多种支付方式(如支付宝、微信支付、PayPal等)。每种支付方式的实现可能不同,但它们遵循相同的接口。
2024-11-09 12:00:00
324
原创 重学Java设计模式-抽象工厂模式
抽象工厂模式(Abstract Factory Pattern)是一种创建型设计模式,它提供了一种方式,用于创建一系列相关或相互依赖的对象,而不需要指定它们具体的类。抽象工厂模式允许系统在不指定具体类的情况下,通过配置或参数来选择需要的工厂子类,从而创建出所需的对象抽象工厂模式和工厂方法模式的区别:工厂方法模式主要用于创建一个具体类的实例,这个类有一个共同的父类或接口。它关注于处理对象的创建。抽象工厂模式用于创建一系列相关或相互依赖的对象,这些对象通常属于同一个产品族。简单选取了菜单栏,工具栏,编辑器。
2024-11-08 22:18:51
385
原创 IDEA新UI移动类路径工具栏到顶部
IDEA更新新UI后,类路径工具栏放到底部显示了,很不适应,于是提了一个issue,官方已回复,大家可以参照这个操作。
2023-09-06 13:29:26
1938
原创 初探信号量机制
1965年,荷兰学者 Edsger Dijkstra 提出了一种经典的实现进程互斥、同步的方法--信号量机制。信号量机制用于解决并发访问共享资源的同步问题。信号量机制的主要目的是确保多个进程在共享资源时不会发生冲突,并且能够正确地同步和通信。信号量机制如今在操作系统中被广泛应用,如进程间的同步和通信、资源分配、优先级调度等。信号量其实就是一个变量(可以是一个整数,也可以是更复杂的记录型变量),可以用一个信号量来表示系统中某种资源的数量,比如:系统中只有一台打印机,就可以设置一个初值为1的信号量。
2023-09-03 16:48:03
246
原创 WebLogic与Log4j:如何指定Log4j配置文件的路径
最近在维护一个运行于Weblogic上的struts2老项目,项目将Log4j升级到Log4j2,配置文件格式由properties改为了xml,所以需要修改项目中log4j配置文件路径。我尝试在Weblogic的domain目录下修改JVM启动参数,虽然这种方式可行,但手动修改脚本有风险;后面发现在Weblogic控制台可以设置JVM启动参数,下面附上方法。在 log4j2.xml 后面最好加上空格,避免和其他配置混在一起。
2023-09-01 22:23:58
888
原创 SpringBoot2 整合Swagger-UI
SpringBoot2 整合Swagger-UISwagger-UI常用注解整合Swagger-UI添加Swagger-UI的配置给Controller类添加Swagger注解启动项目,查看Swagger-UI文档参考文档Swagger-UISwagger-UI是HTML, Javascript, CSS的一个集合,可以动态地根据注解生成在线API文档。常用注解@Api:用于修饰Co...
2020-03-14 14:18:07
411
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人