springCloud Alibaba 与 nacos

springCloud官网

nacos中文官网

地址一是一篇比较不错的文章,请先阅读。

借个图

nacos是springCloud Alibaba 的一个组件,可以用它来开发分布式服务系统。

Spring Cloud Alibaba 致力于提供微服务开发的一站式解决方案。此项目包含开发分布式应用微服务的必需组件,方便开发者通过 Spring Cloud 编程模型轻松使用这些组件来开发分布式应用服务。

依托 Spring Cloud Alibaba,您只需要添加一些注解和少量配置,就可以将 Spring Cloud 应用接入阿里微服务解决方案,通过阿里中间件来迅速搭建分布式应用系统。

对比springCloud也是一站式解决方案,同样有Eureka提供服务注册,Config Server提供配置中心,nacos同时可以提供服务注册与发现以及配置中心,二者都是一站式开发。nacos与Eureka同级,是基于springCloud进一步封装。

一个nacos项目怎么实现

1.依赖

一般进行分布式系统开发,存在多个独立服务,会定义一个父项目,对版本进行统一管理

<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <spring-cloud-dependencies.version>Hoxton.SR8</spring-cloud-dependencies.version>
    <spring-boot-dependencies.version>2.3.2.RELEASE</spring-boot-dependencies.version>
    <spring-cloud-alibaba-dependencies.version>2.2.5.RELEASE</spring-cloud-alibaba-dependencies.version>
  </properties>
  
  <dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-dependencies</artifactId>
            <version>${spring-cloud-dependencies.version}</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
         <dependency>
			<!-- Import dependency management from Spring Boot -->
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-dependencies</artifactId>
			<version>${spring-boot-dependencies.version}</version>
			<type>pom</type>
			<scope>import</scope>
		</dependency>
	        <dependency>
	            <groupId>com.alibaba.cloud</groupId>
	            <artifactId>spring-cloud-alibaba-dependencies</artifactId>
	            <version>${spring-cloud-alibaba-dependencies.version}</version>
	            <type>pom</type>
	            <scope>import</scope>
	        </dependency>
    </dependencies>
</dependencyManagement>

版本关系

依赖作用

1.<artifactId>spring-cloud-dependencies</artifactId>,包含openfeign,实现服务间调用,同时各独立子项目需要加入openfeign依赖
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>
2.<artifactId>spring-boot-dependencies</artifactId>,包含springboot相关依赖
3.<artifactId>spring-cloud-alibaba-dependencies</artifactId>,包含nacos依赖,同时各子项目需要引入naocos依赖
<dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
        </dependency>

        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
        </dependency>

2.nacos-server

注册与配置中心,

1.这个一般也是集群部署

2.需要配置数据库,nacos配置数据存放在数据库中,也可以使用默认数据库

经验分享 程序员 微信小程序 职场和发展