• 服务注册中心 ------ Nacos


    一、服务的注册中心

    自己设计一个服务的注册中心

     

     (1)注册:服务启动的时候将服务信息注册到注册中心;(insert)

    (2)心跳:服务内部的定时任务 Timer1 定时发送心跳给注册中心,更新 last_heatTime 字段;(update)

    (3)服务间调用:因为 Timer2 定时从注册中心获取其他服务的信息并缓存到服务内部,所以服务1调用服务2的时候直接从服务1内存缓存中得到服务2的ip及端口号。(select)

    (4)清理无心跳的服务:Timer3 定时任务将长时间没有收到心跳的实例状态修改为 down。(update)

    (5)服务注销:服务在停止的时候注销实例信息。(delete)

    二、nacos的安装

    1、nacos的下载

    wget https://github.com/alibaba/nacos/releases/download/1.1.4/nacos-server-1.1.4.tar.gz

    2、解压nacos的包: tar -zxvf nacos-server-1.1.4.tar.gz 

     3、启动nacos

    cd nacos/bin
    sh startup.sh -m standalone

    4、检查nacos是否启动起来: lsof -i:8848 

     5、在浏览器访问 nacos 的地址:http://192.168.1.1:8848/nacos

    用户名和密码: nacos/nacos

    注意: 

    (1)虚拟机要把防火墙关闭或者将对应的端口打开;

    (2)浏览器使用 360的极速模式,兼容模式会有问题(登录页面不显示)。(坑~~~)

    三、服务注册到nacos

    nacos的官方文档:https://nacos.io/zh-cn/docs/quick-start.html

    1、父工程的maven坐标

        <parent>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-parent</artifactId>
            <version>2.1.3.RELEASE</version>
            <relativePath/>
        </parent>
    
        <dependencyManagement>
            <dependencies>
                <!--引入springcloud的版本-->
                <dependency>
                    <groupId>org.springframework.cloud</groupId>
                    <artifactId>spring-cloud-dependencies</artifactId>
                    <version>Greenwich.SR3</version>
                    <type>pom</type>
                    <scope>import</scope>
                </dependency>
    
                <!-- 引入spring cloud alibaba -->
                <dependency>
                    <groupId>com.alibaba.cloud</groupId>
                    <artifactId>spring-cloud-alibaba-dependencies</artifactId>
                    <version>2.1.1.RELEASE</version>
                    <type>pom</type>
                    <scope>import</scope>
                </dependency>
            </dependencies>
        </dependencyManagement>

    2、服务的maven坐标引入

        <dependencies>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter</artifactId>
            </dependency>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-web</artifactId>
            </dependency>
    
            <!-- nacos client  -->
            <dependency>
                <groupId>com.alibaba.cloud</groupId>
                <artifactId>spring-cloud-alibaba-nacos-discovery</artifactId>
            </dependency>
    
        </dependencies>

    3、启动类增加  @EnableDiscoveryClient 注解

    @SpringBootApplication
    @EnableDiscoveryClient
    public class OrderApplication {
        public static void main(String[] args) {
            SpringApplication.run(OrderApplication.class, args);
        }
    }

    4、配置文件

    spring:
      cloud:
        nacos:
          discovery:
            server-addr: 192.168.172.20:8848
      application:
        name: order-center
    
    server:
      port:8001

    5、启动服务

  • 相关阅读:
    WEB专用服务器的安全设置的实战技巧IIS设置
    Mysql服务无法启动的1067错误解决
    mysql noinstall 安装
    由于无法创建应用程序域,因此未能执行请求解决方案汇总
    黑客经验谈系列之入侵3389起源完整篇
    几个js写word的参考
    WIndows系统下安装mysqlnoinstall版本
    用微软安全工具加固网站安全 (URLScan Tool & IIS Lock Tool)
    Windows 2000 网络服务器安装完全手册
    工作五年的大佬分享他做实习生的那些感悟
  • 原文地址:https://www.cnblogs.com/yufeng218/p/13961766.html
Copyright © 2020-2023  润新知