服務注冊中心 ------ 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、啟動服務

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM