通用研发提效问题之配置的若干场景下若干方案的变化该如何解决

简介: 通用研发提效问题之配置的若干场景下若干方案的变化该如何解决

问题一:插件预加载与编排的流程是怎样的?


插件预加载与编排的流程是怎样的?


参考回答:

首先,创建配置监听器,这是通用逻辑,无需额外代码,diamond会进行统一监听,并生成一个ConfigHolder。其次,进行插件Handler构建,这也是通用逻辑,无需额外代码,MethodAspectHandlerRegistry.modifyHandler会将插件Handler插入到对应的链表位置中,这个过程中会涉及到精确切点和模糊切点。最后,进行方案Executor构建,这也是通用逻辑,无需额外代码。


关于本问题的更多回答可点击原文查看:

https://developer.aliyun.com/ask/620371



问题二:配置的若干场景下若干方案的变化是如何被处理的?


配置的若干场景下若干方案的变化是如何被处理的?


参考回答:

配置的若干场景下若干方案的变化,会由女娲的配置模块进行监听处理。具体过程包括创建配置监听器来监听diamond中的配置变化,并生成ConfigHolder来保存配置信息。然后,通过插件Handler构建和方案Executor构建来处理和编排这些变化。


关于本问题的更多回答可点击原文查看:

https://developer.aliyun.com/ask/620372



问题三:代理处理流程(AOP)有没有什么示例图?


代理处理流程(AOP)有没有什么示例图?


参考回答:

看看这个呢?应该是能帮到你的


关于本问题的更多回答可点击原文查看:

https://developer.aliyun.com/ask/620373



问题四:代理处理流程(AOP)有没有具体说明?


代理处理流程(AOP)有没有具体说明?


参考回答:

1. 流量入口:ConfigurationAspect 初始化(Spring Aspect)

女娲统一提供ConfigurationAspect进行流量拦截,在女娲引入时,进行手动注册;

2. 代理执行:ConfigurationAspect调用

调用插件处理链进行业务方案执行,即调用MethodAspectHandlerRegistry.getHandler(methodReference);找到插件处理链;

3. 插件执行:NvWaPlugin;

4. 方案Executor执行:比如GraySolutionExecutor;

5. 元件Executor执行:比如LimitAndRateExecutor。


关于本问题的更多回答可点击原文查看:

https://developer.aliyun.com/ask/620374



问题五:泛化调用流程(SPI流程)有没有具体说明?


泛化调用流程(SPI流程)有没有具体说明?


参考回答:

面向控制台使用的SPI服务:只需要控制台应用初始化才需要配置(com.alsc.content.sdk.nvwa.service.NvWaOpsSpiService)

面向切点的泛化调用SPI服务:通过泛化调用,可以任何一个切到的内部方法进行开箱供外部调用:(com.alsc.content.sdk.outer.user.service.**)具体实现略


关于本问题的更多回答可点击原文查看:

https://developer.aliyun.com/ask/620375

相关文章
|
7月前
|
测试技术 编译器 持续交付
持续部署的内涵和实施路径问题之集成尽早进行每次集成很小的问题如何解决
持续部署的内涵和实施路径问题之集成尽早进行每次集成很小的问题如何解决
|
8月前
|
存储 调度 数据库
软件研发核心问题之数据从哪里来,主要包括哪些类型的数据的问题如何解决
软件研发核心问题之数据从哪里来,主要包括哪些类型的数据的问题如何解决
|
8月前
|
UED
通用研发提效问题之层级较深表达复杂的问题在配置模型中如何解决
通用研发提效问题之层级较深表达复杂的问题在配置模型中如何解决
|
8月前
|
存储 前端开发
通用研发提效问题之需要统一的消息模型,如何解决
通用研发提效问题之需要统一的消息模型,如何解决
|
8月前
|
存储 缓存 监控
通用研发提效问题之动态调整干预能力,如何解决
通用研发提效问题之动态调整干预能力,如何解决
|
8月前
|
开发者 Windows
三类代码协同模式问题之判断项目的协同规模决定采用集成分支问题如何解决
三类代码协同模式问题之判断项目的协同规模决定采用集成分支问题如何解决
|
8月前
|
数据库
业务系统架构实践问题之当一个模型既有独立性又有与其他模型的关联时,判断它是否为聚合根问题如何解决
业务系统架构实践问题之当一个模型既有独立性又有与其他模型的关联时,判断它是否为聚合根问题如何解决
|
10月前
|
设计模式 安全 Java
老系统重构系列--如何用一套流程接入所有业务线
**摘要:** 本文介绍了老系统改造的过程,作者提出,ToB业务的挑战在于需要支持多种差异化的业务需求,而模板模式在处理这种需求时可能会导致继承关系复杂和粒度过粗。为了解决这些问题,文章提出了以下步骤: 1. **梳理流程差异点**:识别不同业务流程的差异,以便确定扩展点。 2. **领域模型梳理**:区分核心域和支撑域,确保核心域的稳定性。 3. **二次抽象隔离层**:创建隔离层,避免核心域因新业务接入而变得不稳定。 4. **基于SPI的扩展体系建设**:选择了COLA-SPI实现扩展点,允许业务域定义接口并实现差异化的流程逻辑。
215 0
|
负载均衡 NoSQL Java
任务调度系统就该这么设计(万能通用),稳的一批! 上
任务调度系统就该这么设计(万能通用),稳的一批!上
|
消息中间件 资源调度 分布式计算
任务调度系统就该这么设计(万能通用),稳的一批! 下
任务调度系统就该这么设计(万能通用),稳的一批! 下

热门文章

最新文章