前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Nacos源码分析系列之Naming模块-如何运行篇

Nacos源码分析系列之Naming模块-如何运行篇

作者头像
35岁程序员那些事
发布2020-05-27 11:08:32
1.6K0
发布2020-05-27 11:08:32
举报
文章被收录于专栏:35岁程序员那些事

Nacos源码分析系列之Naming模块-如何运行篇

Naming模块其实Nacos框架实现服务治理功能的核心模块,这个模块具备很多核心功能,本次先从如何运行开始剖析。

1 Naming服务如何启动

  • 首先Naming是一个独立的SpringBoot应用服务,通过@SpringBootApplicationmain函数启动,关于SpringBoot原理这里就不剖析了,默认大家否知道。
代码语言:javascript
复制
/**
* Hello world!
*
* @author xxc
*/
@EnableScheduling
@SpringBootApplication
public class NamingApp {

   public static void main(String[] args) {
       SpringApplication.run(NamingApp.class, args);
  }
}
  • @EnableSchedulingSpring框架的注解,用过这个注解的人都知道,这个是框架自带的一个单机模式的定时任务
  • @SpringBootApplication注解会启动整个应用具体逻辑请查阅SpringBoot源码框架

那么我们这里就知道,Naming模块就是一个独立的SpringBoot服务,可以单独启动。

2 启动资源

启动过程中,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
  • 上下文和运行配置,比如RunningConfigSpringContext
  • 集群管理核心功能,比如订阅管理、实例管理以及服务管理等,包路径如下:com.alibaba.nacos.naming.core
  • 健康检查,包路径:com.alibaba.nacos.naming.healthcheck
  • 全局异常响应异常处理:ResponseExceptionHandler
  • 度量监控以及性能指标监控,比如:MetricsMonitorPerformanceLoggerThread
  • 推送服务:PushService

当然这里并没有列全所有启动的资源,还有一些资源,这里就不一一列举了,感兴趣的同学可以自己去查阅。

3 总结

  • Naming模块靠SpringBoot框架启动
  • 启动一个web服务,会启动很多资源,完成服务治理功能。
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-05-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 架构随笔录 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Nacos源码分析系列之Naming模块-如何运行篇
    • 1 Naming服务如何启动
      • 2 启动资源
        • 3 总结
        相关产品与服务
        对象存储
        对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档