谷粒商城-基础篇- 笔记十一-(分布式组件-spring cloud Alibaba之nacos 作为注册中心)

微服务框架

1. spring cloud Alibaba简介

Spring Cloud Alibaba 致力于提供微服务开发的一站式解决方案。此项目包含开发分布式应用微服务的必需组件,方便开发者通过 Spring Cloud 编程模型轻松使用这些组件来开发分布式应用服务。
依托 Spring Cloud Alibaba,您只需要添加一些注解和少量配置,就可以将 Spring Cloud 应用接入阿里微服务解决方案,通过阿里中间件来迅速搭建分布式应用系统。
官方中文介绍:https://github.com/alibaba/spring-cloud-alibaba/blob/master/README-zh.md

image.png

1)为什么不用spring cloud?
spring cloud的几大痛点:
A. springcloud部分组件停止维护和更新,给开发带来不便;
B. springcloud部分环境搭建复杂,没有完善的可视化界面,需要大量的二次开发和定制;
C. spring cloud配置复杂,难以上手,部分配置差别难以区分和合理应用。
2)为什么使用springcloud Alibaba?
A. 阿里使用过的组件经历了考研,性能强悍,设计合理,现在开源出来大家用;
B.成套的产品搭配完善的可视化界面给开发带来极大的便利;
C.搭建简单,学习曲线低
image.png

image.png

2.如何使用

在我们项目的common模块pom文件中进行引入依赖

<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-alibaba-dependencies</artifactId>
            <version>2.2.3.RELEASE</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>

3.引入nacos 作为注册中心

        <!--引入nacos 作为注册中心-->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
        </dependency>

注:可能会出现IDEA中spring-cloud-starter-alibaba-nacos-discovery 无法引入问题,
解决方法:①修改IDEA中的maven配置,把下面这个属性修改为Fail Fast(原来默认为default)

image.png

4.在yml文件中配置服务名称和服务地址

image.png

5.使用 @EnableDiscoveryClient 注解开启服务注册与发现功能

可参考: https://github.com/alibaba/spring-cloud-alibaba/blob/master/spring-cloud-alibaba-examples/nacos-example/nacos-discovery-example/readme-zh.md

image.png

6.应用启动

image.png

7.测试

在浏览器中输入:http://127.0.0.1:8848/nacos,默认账号和密码都是nacos,登录进去之后就能看的我们注册的服务。
注:若工程启动成功了(或失败),但没有注册服务,请检查下springboot的版本和nacos的版本是否兼容,

image.png

其他服务按照类似的方法进行设置即可。

推荐阅读更多精彩内容