注册中心之Nacos

注册中心之Nacos

Springcloud + nacos – 版本选择

在一切开始之前需要确认所有的版本,因为如果版本不匹配可能会导致很多稀奇古怪的问题。

1、前置

  • 先从spring官网确认Spring Cloud Alibaba的版本
  • 通过Spring Cloud Alibaba的版本确认Spring Boot的版本 和 Nacos的版本

官网确认版本
地址: https://spring.io/projects/spring-cloud-alibaba

确认 Spring Cloud Alibaba: 2.2.1.RELEASE

2、选择Spring Boot Version

官网确认版本
地址: https://start.spring.io/actuator/info

在这里插入图片描述

现在我们可以知道, Spring Boot 版本: >=2.2.0.RELEASE and <2.3.0.M1

我们在看下nacos推荐版本

官网确认版本
地址: https://github.com/alibaba/spring-cloud-alibaba/wiki/版本说明

在这里插入图片描述

确认 Spring Boot: 2.2.5.RELEASE

3、选择 Nacos Version

在这里插入图片描述

确认 Nacos: 1.2.1

4、选择 Spring Cloud

在这里插入图片描述

确认 Spring Cloud: Hoxton.SR3

注册中心

注册中心在微服务项目中扮演着非常重要的角色,是微服务架构中的纽带,类似于”通讯录“,它记录了服务和服务地址的映射关系。在分布式架构中,服务会注册到这里,当服务需要调用其它服务时,就到这里找到服务的地址,进行调用。

在分布式系统中,我们面临着以下几个问题

如何管理庞大的网状服务结构?

服务宕机后,如何及时下线?

流量高峰时,服务如何有效的水平扩展?

1599288008852

除了基本的服务注册与发现机制,从开发和运维角度,至少还要考虑如下五个方面:

  • 测活:服务注册之后,如何对服务进行测活以保证服务的可用性?
  • 负载均衡:当存在多个服务提供者时,如何均衡各个提供者的负载?
  • 集成:在服务提供端或者调用端,如何集成注册中心?
  • 运行时依赖:引入注册中心之后,对应用的运行时环境有何影响?
  • 可用性:如何保证注册中心本身的可用性,特别是消除单点故障?

Nacos注册中心

快速上手

Nacos 是阿里巴巴开源的一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。中文文档非常齐全,文档地址戳

img

下载与启动
  • 源码下载
$ git clone https://github.com/alibaba/nacos.git
$ cd nacos/
$ mvn -Prelease-nacos -Dmaven.test.skip=true clean install -U  
$ ls -al distribution/target/

// change the $version to your actual path
$ cd distribution/target/nacos-server-$version/nacos/bin
  • 安装包下载

可以从 最新稳定版本 下载 nacos-server-$version.zip 包。

Windows 下载解压后(.zip),直接点击 bin/startup.cmd 就可以了。

1598628932638

如果不小心报了如下错:

java.io.IOException: java.lang.IllegalArgumentException: db.num is null
org.springframework.boot.web.embedded.tomcat.TomcatStarter.onStartup
work.boot.web.server.WebServerException: Unable to start embedded Tomcat

那说明你的Nacos默认是集群模式,需要改为单机模式

  • 找到startup.cmd文件,并编辑

  • 把集群模式改为单机模式

set MODE="cluster"
改为:
set MODE="standalone"

1599298365620

  • Linux/Unix/Mac
$ unzip nacos-server-$version.zip 或者 tar -xvf nacos-server-$version.tar.gz
$ cd nacos/bin

启动命令(standalone代表着单机模式运行,非集群模式):

$ sh startup.sh -m standalone

如果您使用的是ubuntu系统,或者运行脚本报错提示[[符号找不到,可尝试如下运行:

$ bash startup.sh -m standalone
  • 打开控制台:

Nacos提供了一个可视化的操作平台,安装好之后,在浏览器中输入http://localhost:8848就可以访问了,默认的用户名和密码都是nacos(我使用的是1.3.0版本)

构建服务

它和Eureka不一样,并不需要创建新的web项目,而是和ZookeeperConsul一样,只需要下载安装启动后,将我们的微服务注册进去就可以了。 创建两个微服务,一个客户端(调用者)和一个服务端(提供者)

这里我先创建一个名为xianshishehui-nacos-parent的聚合模块父项目,后续所有模块均在该父项目中完成。

父项目 pom.xml 文件

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.xianshishehui.nacos</groupId>
    <artifactId>xianshishehui-nacos-parent</artifactId>
    <version>1.0-SNAPSHOT</version>


    <!--声明相关依赖版本-->
    <properties>
        <java.version>1.8</java.version>
        <spring-cloud.version>Hoxton.SR3</spring-cloud.version>
        <spring-boot.version>2.2.5.RELEASE</spring-boot.version>
        <spring-cloud-alibaba.version>2.2.1.RELEASE</spring-cloud-alibaba.version>
        <nacos.version>1.2.1</nacos.version>
    </properties>

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>${spring-cloud.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>

            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-dependencies</artifactId>
                <
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值