您好,登錄后才能下訂單哦!
本篇內容主要講解“如何使用nacos軟件”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“如何使用nacos軟件”吧!
1.下載windows 版本的nacos 軟件
下載地址:https://github.com/alibaba/nacos/releases
下載完成之后,解壓。根據不同平臺,執行不同命令,啟動單機版Nacos服務:
Linux/Unix/Mac:sh startup.sh -m standalone
Windows:cmd startup.cmd -m standalone
/ 今日bin 目錄直接運行startup.cmd
會報錯,然后的修改啟動命令,因為startup.cmd 默認啟動是集群啟動模式(修改的時候大概在startup.cm 的27行
rem set MODE= "cluster"
set MODE= "standalone"
),
如果使用Nacos 0.8.0以上版本,會出現登錄頁面,默認用戶名密碼為:nacos
第一步:創建一個Spring Boot應用,可以命名為:alibaba-nacos-discovery-server
。如果您還不會或者不了解Spring Boot應用,建議先學習《Spring Boot基礎教程》。
第二步:編輯pom.xml
,加入必要的依賴配置,比如:
<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.0.5.RELEASE</version> <relativePath/> <!-- lookup parent from repository --> </parent> <dependencyManagement> <dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-dependencies</artifactId> <version>Finchley.SR1</version> <type>pom</type> <scope>import</scope> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-alibaba-dependencies</artifactId> <version>0.2.2.RELEASE</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId> </dependency> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.18.2</version> <optional>true</optional> </dependency> </dependencies>
上述內容主要三部分:
parent
:定義spring boot的版本
dependencyManagement
:spring cloud的版本以及spring cloud alibaba的版本,由于spring cloud alibaba還未納入spring cloud的主版本管理中,所以需要自己加入
dependencies
:當前應用要使用的依賴內容。這里主要新加入了Nacos的服務注冊與發現模塊:spring-cloud-starter-alibaba-nacos-discovery
。由于在dependencyManagement
中已經引入了版本,所以這里就不用指定具體版本了。
第三步:創建應用主類,并實現一個HTTP接口:
@EnableDiscoveryClient @SpringBootApplication public class TestApplication { public static void main(String[] args) { SpringApplication.run(TestApplication.class, args); } @Slf4j @RestController static class TestController { @GetMapping("/hello") public String hello(@RequestParam String name) { log.info("invoked name = " + name); return "hello " + name; } } }
內容非常簡單,@SpringBootApplication
定義是個Spring Boot應用;@EnableDiscoveryClient
開啟Spring Cloud的服務注冊與發現,由于這里引入了spring-cloud-starter-alibaba-nacos-discovery
模塊,所以Spring Cloud Common中定義的那些與服務治理相關的接口將使用Nacos的實現。
第四步:配置服務名稱和Nacos地址
在resources 下面創建bootstrap.yml
spring: application: name: alibaba-nacos-discovery-server cloud: nacos: discovery: server-addr: 127.0.0.1:8848 server: port: 8001
第五步:啟動上面創建的應用 ,啟動應用看到下面的日志,說明已經注冊的nacos 上面
在啟動都ok之后,我們可以訪問Nacos的管理頁面http://127.0.0.1:8848/nacos/來查看服務列表,此時可以看到如下內容:
這里會顯示當前注冊的所有服務,以及每個服務的集群數目、實例數、健康實例數。點擊詳情,我們還能看到每個服務具體的實例信息,如下圖所示:
接下來,實現一個應用來消費上面已經注冊到Nacos的服務。
第一步:創建一個Spring Boot應用,命名為:alibaba-nacos-discovery-client-common
。
第二步:編輯pom.xml中的依賴內容,與上面服務提供者的一樣即可。
第三步:創建應用主類,并實現一個HTTP接口,在該接口中調用服務提供方的接口。
@EnableDiscoveryClient@SpringBootApplicationpublic class TestApplication { public static void main(String[] args) { SpringApplication.run(TestApplication.class, args); } @Slf4j @RestController static class TestController { @Autowired LoadBalancerClient loadBalancerClient; @GetMapping("/test") public String test() { // 通過spring cloud common中的負載均衡接口選取服務提供節點實現接口調用 ServiceInstance serviceInstance = loadBalancerClient.choose("alibaba-nacos-discovery-server"); String url = serviceInstance.getUri() + "/hello?name=" + "didi"; RestTemplate restTemplate = new RestTemplate(); String result = restTemplate.getForObject(url, String.class); return "Invoke : " + url + ", return : " + result; } }} |
這里使用了Spring Cloud Common中的LoadBalancerClient
接口來挑選服務實例信息。然后從挑選出的實例信息中獲取可訪問的URI,拼接上服務提供方的接口規則來發起調用。
第四步:配置服務名稱和Nacos地址,讓服務消費者可以發現上面已經注冊到Nacos的服務。
spring.application.name=alibaba-nacos-discovery-client-commonserver.port=9000spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848 |
第五步:啟動服務消費者,然后通過curl或者postman等工具發起訪問,下面以curl為例:
$ curl localhost:9000/testInvoke : http://10.123.18.216:8001/hello?name=didi, return : hello didi$ curl localhost:9000/testInvoke : http://10.123.18.216:8002/hello?name=didi, return : hello didi |
可以看到,兩次不同請求的時候,真正實際調用的服務提供者實例是不同的,也就是說,通過LoadBalancerClient
接口在獲取服務實例的時候,已經實現了對服務提供方實例的負載均衡。但是很明顯,這樣的實現還是比較繁瑣,預告下后面的幾篇,關于服務消費的幾種不同姿勢。
到此,相信大家對“如何使用nacos軟件”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。