前提
最近由于业务发展,需要调研一套完善和主流的基础架构,进行中台化(微服务)的实施,考虑到技术栈切换到SOFAStack
。既然整个体系都切换到蚂蚁金服的技术栈,那么自然考虑一些基础组件如服务注册发现、配置管理等都切换为阿里的技术栈。考虑到目前比较热的服务发现组件是Nacos
,需要调研SpringBoot
服务接入Nacos
的可行性,为以后强制要求新服务使用SOFAStack
+ Nacos
的技术栈进行服务开发打下基础。
Nacos简介#
下面的简介来源于Nacos
的官网:
Nacos
致力于帮助您发现、配置和管理微服务。Nacos
提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。
Nacos
帮助您更敏捷和容易地构建、交付和管理微服务平台。Nacos
是构建以服务为中心的现代应用架构(例如微服务范式、云原生范式)的服务基础设施。
Nacos
地图:
Nacos
生态图:
从Nacos
提供的发展地图来看,它基本提供了目前微服务实施中一些核心问题:监控、服务发现注册、配置灰度发布、配置回滚等等。另外,它在生态上能够融入目前主流的K8S
、Docker
、SpringCloud
、Consul
、Zookeeper
等等(有点像屏蔽底层细节,只需少量配置就可以切换底层架构的实现),这一点十分重要。目前Nacos
在阿里云上提供了商用版本(记得有前辈说过开源的终极目标就是商用,大概如此)。如果在项目中使用的是SpringCloud
全家桶,引入Nacos
以及它和SpringCloud
之间的胶水层,可以完全替代Eureka
组件的功能,替代和强化部分Spring Cloud Config
的功能。
Nacos服务部署
Nacos-Server
部署相对简单,它的发布版本见Github的Releases页面。下载完成后进行解压,Windows
系下启动Nacos-Server
只需进入解