欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

SpringCloud?Alibaba環(huán)境集成之nacos詳解

 更新時間:2023年12月31日 12:20:57   作者:study_alltheway  
Spring?Cloud?Alibaba提供了越來越完善的各類微服務(wù)治理組件,比如分布式服務(wù)配置與注冊中心nacos,服務(wù)限流、熔斷組件sentinel等,本篇先來介紹SpringCloud?Alibaba環(huán)境集成之nacos詳解,需要的朋友可以參考下

前言

在SpringCloud Alibaba的使用過程中,我總結(jié)為如下步驟:

  • 下載并啟動服務(wù)端
  • 客戶端引入spring-cloud-starter-alibaba的jar包
  • 客戶端properties或yml加入相關(guān)配置
  • 客戶端加上相應(yīng)的注解開啟功能
  • 服務(wù)端增加相應(yīng)配置
  • 數(shù)據(jù)持久化,服務(wù)端集群部署

Nacos服務(wù)端

1.下載nacos

在github上查看最新版的nacos下載

https://github.com/alibaba/nacos/releases

2.單機(jī)啟動nacos服務(wù)

默認(rèn)是集群運(yùn)行的,使用-m指定nacos單機(jī)運(yùn)行

 startup.cmd -m standalone

在這里插入圖片描述

3.訪問nacos服務(wù)

nacos默認(rèn)端口為8848,用戶名:nacos,密碼:nacos,上下文路徑:/nacos

http://127.0.0.1:8848/nacos

Nacos注冊中心

1.代碼中引入jar

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

2.properties加入配置

server.port=9001
# 應(yīng)用名稱
spring.application.name=springcloud-alibaba-consumer
# Nacos 服務(wù)發(fā)現(xiàn)與注冊配置,其中子屬性 server-addr 指定 Nacos 服務(wù)器主機(jī)和端口
spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848
management.endpoints.web.exposure.include=*

3.啟動類加入注解

@EnableDiscoveryClient

Nacos配置中心

1.代碼中引入jar

只引入spring-cloud-starter-alibaba-nacos-config.jar, bootstrap.yml一直不生效,還需要引入spring-cloud-starter-bootstrap.jar

<!-- 參考官方文檔,配置一直不生效,bootstrap中的配置沒有被讀取到,需要加入該依賴 -->
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-bootstrap</artifactId>
</dependency>
<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>

2.bootstrap.properties加入配置

# Nacos認(rèn)證信息
spring.cloud.nacos.config.username=nacos
spring.cloud.nacos.config.password=nacos
spring.cloud.nacos.config.contextPath=/nacos
# 設(shè)置配置中心服務(wù)端地址
spring.cloud.nacos.config.server-addr=127.0.0.1:8848
spring.cloud.nacos.config.refresh-enabled=true
# 指定配置格式,默認(rèn)是properties,可選text、json、xml、yaml、html、properties
spring.cloud.nacos.config.file-extension=yaml
# 默認(rèn)是DEFAULT_GROUP,可以指定配置所在組
spring.cloud.nacos.config.group=dev
# Nacos 配置中心的namespace。需要注意,如果使用 public 的 namcespace ,請不要填寫這個值,直接留空即可
# spring.cloud.nacos.config.namespace=
# 應(yīng)用名稱
spring.application.name=springcloud-alibaba-nacos-client
# 激活 dev 的配置
spring.profiles.active=dev
server.port=9006
server.servlet.context-path=/nacos-config

3.加入注解@RefreshScope

package com.ykq.springcloudalibabanacosclientdev.controller;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.cloud.context.config.annotation.RefreshScope;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
 * @author: kqyin
 * @date: 2022/3/24 16:24
 * @Description:
 */
@RestController
@RefreshScope
public class NacosConfigController {
    @Value("${userName:}")
    private String name;
    @RequestMapping("/test/getName")
    public String getNacosTestName() {
        return name;
    }
}

4.在nacos中配置相關(guān)信息

5.注意點(diǎn)

  • nacos中配置的Group不是默認(rèn)的DEFAULT_GROUP時,例如dev。需要在客戶端中配置spring.cloud.nacos.config.group=dev,指定配置所在的組。
  • nacos中的配置格式不是默認(rèn)的properties時,需要在客戶端中增加
  • spring.cloud.nacos.config.file-extension配置,指定配置的內(nèi)容文件格式
  • nacos的Data ID 需要與${spring.cloud.nacos.config.prefix}-${spring.profile.active}.${spring.cloud.nacos.config.file-extension}值一致。當(dāng)spring.cloud.nacos.config.prefix沒有配置時,該值默認(rèn)為spring.application.name。當(dāng)spring.profile.active沒有配置時,則為空。

nacos數(shù)據(jù)持久化

1.新建nacos數(shù)據(jù)庫

2.執(zhí)行sql

在nacos/conf目錄下找到對應(yīng)sql,并執(zhí)行

3.修改conf/application.properties

在上面截圖中的application.properties,取消以下注釋,并修改對應(yīng)的鏈接,用戶名,密碼

Nacos集群

1.修改文件cluster.conf

(1).不要使用連號的端口,我使用連號的端口就一直啟動不起來

關(guān)于單機(jī)搭建nacos集群2.+版本啟動報端口被占用問題,詳細(xì)內(nèi)容,見文末補(bǔ)充介紹。

(2).不要使用127.0.0.1的ip,會導(dǎo)致最終nacos集群數(shù)據(jù)共享出現(xiàn)問題。配置127.0.0.1,可以看到當(dāng)服務(wù)啟動后,cluster.conf會被重寫,增加本機(jī)ip的一行數(shù)據(jù)。這個一定程度上算nacos的bug。

192.168.43.11:8848
192.168.43.11:8948

2.復(fù)制一份nacos服務(wù)端

修改port為8948后,分別啟動兩個nacos服務(wù)

3.使用nginx來做負(fù)載均衡

修改nginx.conf

	upstream nacos{
		server 127.0.0.1:8848;
		server 127.0.0.1:8948;
	}
	server {
        listen       8000;
        server_name  nacos;

        location / {
			# 反向代理到上面的兩臺服務(wù)器 寫上自定義的名稱
			proxy_pass http://nacos;
        }
    }

此時在使用8000端口,就可以輪訓(xùn)訪問nacos的集群。

補(bǔ)充:

單機(jī)搭建nacos集群2.+版本啟動報端口被占用問題。

異常信息:io.grpc.netty.shaded.io.netty.channel.unix.Errors$NativeIoException: bind(…) failed: 地址已在使用

原因:2.0版本的nacos需要四個端口,本機(jī)服務(wù)端口是連號如:8848/8849/8850第四個端口就會發(fā)生占用。

server.port(默認(rèn)8848)
raft port: ${server.port} - 1000
grpc port: ${server.port} + 1000
grpc port for server: ${server.port} + 1001

解決辦法

將默認(rèn)端口分開 不連號即可。核心就是避免第四個端口 grpc port for server = ${server.port} + 1001被占用。

到此這篇關(guān)于SpringCloud Alibaba環(huán)境集成之nacos詳解的文章就介紹到這了,更多相關(guān)Spring Cloud Alibaba 整合Nacos內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 如何使用SpringSecurity保護(hù)程序安全

    如何使用SpringSecurity保護(hù)程序安全

    這篇文章主要介紹了如何使用SpringSecurity保護(hù)程序安全,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-09-09
  • Spring?AOP核心功能示例代碼詳解

    Spring?AOP核心功能示例代碼詳解

    AOP面向切面編程,它是一種思想,它是對某一類事情的集中處理,而AOP是一種思想,而Spring?AOP是一個框架,提供了一種對AOP思想的實現(xiàn),它們的關(guān)系和loC與DI類似,這篇文章主要介紹了Spring?AOP統(tǒng)一功能處理示例代碼,需要的朋友可以參考下
    2023-02-02
  • java實現(xiàn)小貓釣魚游戲

    java實現(xiàn)小貓釣魚游戲

    這篇文章主要為大家詳細(xì)介紹了java實現(xiàn)小貓釣魚游戲,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-01-01
  • java中List接口的方法詳解

    java中List接口的方法詳解

    這篇文章主要介紹了java中List接口的方法詳解,List接口是繼承Collection接口,所以Collection集合中有的方法,List集合也繼承過來,本文主要介紹一下list下的方法,需要的朋友可以參考下
    2023-10-10
  • 關(guān)于Java的Condition接口最佳理解方式

    關(guān)于Java的Condition接口最佳理解方式

    這篇文章主要介紹了關(guān)于Java的Condition接口最佳理解方式,Condition就是實現(xiàn)了管程里面的條件變量,Java?語言內(nèi)置的管程里只有一個條件變量,而Lock&Condition實現(xiàn)的管程支持多個條件變量,需要的朋友可以參考下
    2023-05-05
  • Spring Boot + Kotlin整合MyBatis的方法教程

    Spring Boot + Kotlin整合MyBatis的方法教程

    前幾天由于工作需要,便開始學(xué)習(xí)了kotlin,java基礎(chǔ)扎實學(xué)起來也還算比較快,對于kotlin這個編程語言自然是比java有趣一些,下面這篇文章主要給大家介紹了關(guān)于Spring Boot + Kotlin整合MyBatis的方法教程,需要的朋友可以參考下。
    2018-01-01
  • 詳解Java日志正確使用姿勢

    詳解Java日志正確使用姿勢

    這篇文章主要介紹了Java日志正確使用姿勢,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • JVM常見垃圾收集器學(xué)習(xí)指南

    JVM常見垃圾收集器學(xué)習(xí)指南

    這篇文章主要為大家介紹了JVM常見垃圾收集器學(xué)習(xí)指南,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-06-06
  • Jpa 如何使用@EntityListeners 實現(xiàn)實體對象的自動賦值

    Jpa 如何使用@EntityListeners 實現(xiàn)實體對象的自動賦值

    這篇文章主要介紹了Jpa 如何使用@EntityListeners 實現(xiàn)實體對象的自動賦值,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-08-08
  • Java對Excel表格的上傳和下載處理方法

    Java對Excel表格的上傳和下載處理方法

    這篇文章主要介紹了Java對Excel表格的上傳和下載處理方法,需要的朋友可以參考下
    2017-08-08

最新評論