日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

nacos 公共_SpringCloud配合注册中心Nacos的使用

發布時間:2023/12/19 javascript 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 nacos 公共_SpringCloud配合注册中心Nacos的使用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、Nacos簡介

?? Nacos核心提供的兩個功能:服務注冊與發現,動態配置管理。

?1、服務注冊與發現

? ? ?Nacos提供基于DNS和基于RPC的服務發現,即能被用來支持https/http的服務注冊與發現,是將自己啟動的項目注冊到Nacos服務中心,使之能夠相互調用。

? 2、動態配置服務

? ? ?動態修改配置并實時生效對于服務端,這種服務能夠讓我們的服務擁有更多的靈活性,不需要重啟服務即可做到配置實時生效,非常適合于“配置優先”的服務開發。

二、Nacos安裝(windows)

????1.詳細見《配置以及應用nacos》文章,在這不詳細介紹。

三、使用Nacos作為注冊中心?

? ? 1.首先創建一個公共的項目模塊,在這里我定義名字為common的模塊項目,在pom.xml文件中加入springboot-nacos的依賴!以及阿里巴巴的全局版本配置,

<dependency> <groupId>com.alibaba.cloudgroupId> <artifactId>spring-cloud-starter-alibaba-nacos-discoveryartifactId>dependency><dependency> <groupId>com.alibaba.cloudgroupId> <artifactId>spring-cloud-starter-alibaba-nacos-configartifactId>dependency><dependencyManagement> <dependencies> <dependency> <groupId>com.alibaba.cloudgroupId> <artifactId>spring-cloud-alibaba-dependenciesartifactId> <version>2.2.3.RELEASEversion> <type>pomtype> <scope>importscope> dependency> dependencies>dependencyManagement>

??? 2.在其他模塊項目中的.yml文件中要加入nacos的配置,如下:

spring: cloud: nacos: discovery: server-addr: 127.0.0.1:8848 #nacos的地址 application: name: dadamall-coupon #nacos的注冊中心的名字

????3.在啟動類中提供一個對外接口,并添加@EnableDiscoveryClient注解,開啟注冊發現功能。

??? 4.接下來打開nocos可視化面板的服務列表中就可以發現我們注冊進來的服務了。

四、想要調用各個模塊中的服務

????1.想要調用的話需要引入openfeign

<dependency> <groupId>org.springframework.cloudgroupId> <artifactId>spring-cloud-starter-openfeignartifactId>dependency>

????? ?2.在模塊A中的Controller層寫一個接口,如:

@RequestMapping("member/list")public R membercoupons(){ CouponEntity couponEntity = new CouponEntity(); couponEntity.setCouponName("滿100減10"); return R.ok().put("coupons",Arrays.asList(couponEntity));}

??????? 3.在模塊B中,想調用模塊A中的方法,我們可以創建一個FeignService的接口類,代碼如下:

@FeignClient("dadamall-coupon")public interface CouponFeignService { @RequestMapping("/coupon/coupon/member/list") R membercoupons();}

????????這是一個聲明式的遠程調用方法,需要調用哪個方法就在@RequestMapping寫上訪問路徑的全路徑;@FeignClient寫上nacos中注冊列表的服務名即可!

??????? 4.在模塊B中的啟動類上加上這個注解;它是用來掃描這個目錄下的方法。

@EnableFeignClients(basePackages = "com.atdada.dadamall.member.feign")

??? 5.想要測試的話,在模塊B中的一個Controller層上寫:

@AutowiredFeignService feignService;@RequestMapping("/coupos")public R test(){ MemberEntity memberEntity = new MemberEntity(); memberEntity.setNickname("張三"); R membercoupons = feignService.membercoupons(); return R.ok().put("member",memberEntity).put("coupons",membercoupons.get("coupons"));}

再次,服務的注冊已經結束!

五、Nacos的配置中心

??? 1.首先也要導入配置的jar包,再次上面已經引過nacos配置的包了;

? 2.創建一個bootstrap.properties的配置文件,它會優先與application.properties加載,填寫:

spring.application.name=dadamall-couponspring.cloud.nacos.config.server-addr=127.0.0.1:8848

??? 3.在application.properties配置文件中寫上

coupon.user.name=zhangsancoupon.user.age=20

??? 4.在一個Controller中寫上:

@Value("${coupon.user.name}")private String name;@Value("${coupon.user.age}")private Integer age;@RequestMapping("/test")public R test(){ return R.ok().put("name",name).put("age",age);}

????5.這時我們在請求的時候瀏覽器會出現下面的結果

????6.如果項目在已經上線的時候,我們可以打開配置中心去添加配置,命名規則就是項目名+.properties。

????7.想要實時的更改到數據暫時可以在Controller上加一個@RefreshScope的注解,后續我們還可以在bootstrap.properties配置文件這樣寫:

spring.cloud.nacos.config.ext-config[1].refresh=true

??? 8.命名空間:配置隔離,默認是public(保留空間);默認新增的時候所有配置都在public中有開發,測試,生產,利用命名空間來做環境隔離

????9如果想用哪個,或是其他環境需要在bootstrap.properties配置文件配置

spring.cloud.nacos.config.namespace=a*****-****-*****-****-************

????10.關于分組的配置,默認是DEFAULT_GROUP分組,想要修改分組也要在bootstrap.properties配置文件配置;項目中的使用:每個微服務創建自己的命名空間,使用配置分組區分環境,dev,test,prod

spring.cloud.nacos.config.group=dev

????11.想要配置yml文件也可以在nacos的配置模塊添加

12.接下來在bootstrap.properties配置文件配置

spring.cloud.nacos.config.namespace=f9632592-3a22-43c7-8676-5d2d80537356spring.cloud.nacos.config.group=devspring.cloud.nacos.config.ext-config[0].data-id=datasource.ymlspring.cloud.nacos.config.ext-config[0].group=devspring.cloud.nacos.config.ext-config[0].refresh=truespring.cloud.nacos.config.ext-config[1].data-id=mybatis.ymlspring.cloud.nacos.config.ext-config[1].group=devspring.cloud.nacos.config.ext-config[1].refresh=truespring.cloud.nacos.config.ext-config[2].data-id=other.ymlspring.cloud.nacos.config.ext-config[2].group=devspring.cloud.nacos.config.ext-config[2].refresh=true

總結:服務的注冊中心在yml中寫上nacos的地址以及服務的名字,配置在bootstrap.properties文件中寫上

spring.application.name=dadamall-couponspring.cloud.nacos.config.server-addr=127.0.0.1:8848spring.cloud.nacos.config.namespace=f9632592-3a22-43c7-8676-5d2d80537356spring.cloud.nacos.config.group=devspring.cloud.nacos.config.ext-config[0].data-id=datasource.ymlspring.cloud.nacos.config.ext-config[0].group=devspring.cloud.nacos.config.ext-config[0].refresh=truespring.cloud.nacos.config.ext-config[1].data-id=mybatis.ymlspring.cloud.nacos.config.ext-config[1].group=devspring.cloud.nacos.config.ext-config[1].refresh=truespring.cloud.nacos.config.ext-config[2].data-id=other.ymlspring.cloud.nacos.config.ext-config[2].group=devspring.cloud.nacos.config.ext-config[2].refresh=true

總結

以上是生活随笔為你收集整理的nacos 公共_SpringCloud配合注册中心Nacos的使用的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。