本篇文章为大家展示了Naming模块该如何运行,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。
Naming模块其实Nacos框架实现服务治理功能的核心模块,这个模块具备很多核心功能,本次先从如何运行开始剖析。
首先Naming是一个独立的SpringBoot应用服务,通过@SpringBootApplication及main函数启动,关于SpringBoot原理这里就不剖析了,默认大家否知道。
/**
* Hello world!
*
* @author xxc
*/
@EnableScheduling
@SpringBootApplication
public class NamingApp {
public static void main(String[] args) {
SpringApplication.run(NamingApp.class, args);
}
}
@EnableScheduling是Spring框架的注解,用过这个注解的人都知道,这个是框架自带的一个单机模式的定时任务
@SpringBootApplication注解会启动整个应用具体逻辑请查阅SpringBoot源码框架
那么我们这里就知道,Naming模块就是一个独立的SpringBoot服务,可以单独启动。
启动过程中,Naming模块加载了哪些资源呢?
加载RestfulAPI,比如CatalogController、ClusterController、DistroController、HealthController、InstanceController、OperatorController、RaftController、ServiceController和ApiController,包路径:com.alibaba.nacos.naming.controllers,那么这里就可以看到,Naming模块的通信机制是HTTP。
服务集群的一致性性算法Raft(CP模式)以及基于内存的AP模式,包路径:com.alibaba.nacos.naming.consistency
上下文和运行配置,比如RunningConfig和SpringContext
集群管理核心功能,比如订阅管理、实例管理以及服务管理等,包路径如下:com.alibaba.nacos.naming.core
健康检查,包路径:com.alibaba.nacos.naming.healthcheck
全局异常响应异常处理:ResponseExceptionHandler
度量监控以及性能指标监控,比如:MetricsMonitor和PerformanceLoggerThread
推送服务:PushService
当然这里并没有列全所有启动的资源,还有一些资源,这里就不一一列举了。
上述内容就是Naming模块该如何运行,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注亿速云行业资讯频道。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。