一、安裝前準備
1、在命令行終端中輸入以下命令,以升級yum及其提示缺失的依賴包:
yum update -y yum install net-tools -y
2、安裝JDK,Nacos的運行環境是Java 8或更高版本,因此需要安裝openjdk-8-jdk:
yum install java-1.8.0-openjdk -y java -version
安裝完成後在命令行中輸入java -version,可以看到jdk的版本信息:openjdk version “1.8.0_302”
二、下載及安裝Nacos
1、在瀏覽器輸入網址http://github.com/alibaba/nacos/releases,到nacos的發行版repo下載最新版本的nacos-server-$version.tar.gz:
wget https://github.com/alibaba/nacos/releases/download/2.0.3/nacos-server-2.0.3.tar.gz
2、解壓nacos-server-$version.tar.gz:
tar -xvf nacos-server-2.0.3.tar.gz
3、進入解壓後的nacos文件夾:
cd nacos/bin
4、執行startup.sh腳本以啟動nacos:
./startup.sh -m standalone
Nacos啟動後,在瀏覽器輸入地址http://localhost:8848/nacos/,進行訪問,如果能看到網頁,說明nacos已經正常啟動。
三、使用Nacos
1、註冊服務
在Nacos中,註冊中心的重要作用是向外界註冊服務和從外界獲取服務列表。註冊服務可以通過Nacos中的服務管理頁面來完成。
首先創建配置文件${nacos_home}/conf/application.properties:
server.port=8080 spring.application.name=example spring.cloud.nacos.config.server-addr=127.0.0.1:8848
然後在Spring Boot應用程序的pom.xml中添加如下配置:
<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId> </dependency>
接下來在啟動類上添加@EnableDiscoveryClient註解:
@SpringBootApplication @EnableDiscoveryClient public class ExampleApplication { public static void main(String[] args) { SpringApplication.run(ExampleApplication.class, args); } }
最後在需要註冊服務的Controller中添加@NacosInjected註解:
@RestController @RequestMapping("/example") public class ExampleController { @NacosInjected private NamingService namingService; @GetMapping("/service") public List<Instance> getService() throws NacosException { return namingService.getAllInstances("example"); } }
訪問http://localhost:8080/example/service,即可看到註冊的服務列表。
2、配置管理
Nacos還可以用於配置管理。Nacos的配置可以分為命名空間、分組、配置等級、配置監聽器等。
首先創建配置文件${nacos_home}/conf/application.properties:
server.port=8080 spring.application.name=example spring.cloud.nacos.config.server-addr=127.0.0.1:8848 spring.cloud.nacos.config.namespace=example-config
然後在配置管理頁面添加配置信息,並選擇分組及配置等級:
data: example.yaml: | name: example port: 8080
修改配置內容並保存,可以在應用程序中獲取配置信息,如下:
@RestController @RequestMapping("/example") @RefreshScope public class ExampleController { @Value("${name}") private String name; @GetMapping("/config") public String getConfig() { return "name: " + name; } }
訪問http://127.0.0.1:8080/example/config,即可看到獲取的配置信息。
四、Nacos集群部署
1、配置集群信息
首先在${nacos_home}/conf/cluster.conf文件中添加集群信息:
172.16.100.110:8848 172.16.100.111:8848 172.16.100.112:8848
其中,IP地址為各個nacos服務器的IP地址。
2、啟動所有Nacos實例
使用啟動命令啟動所有Nacos實例,並在每個Nacos實例所在的主機上運行一個實例,例如:
./startup.sh -p 8848 -m standalone ./startup.sh -p 8849 -m standalone ./startup.sh -p 8850 -m standalone
3、在nacos中創建集群
在Nacos後台管理系統中,單擊“命名空間管理”,然後單擊“新建命名空間”
輸入集群信息,完成創建。
4、查看集群狀態
進入頁面http://127.0.0.1:8848/nacos/v1/ns/raft/health,即可看到Nacos集群的健康狀態,如下:
{"message":"CLUSTER_HEALTHY","code":200}
五、總結
Nacos是一個功能強大的服務發現和配置管理平台,可以滿足大部分企業的服務管理需求。在CentOS 7上安裝Nacos並進行簡單的示例演示後,可以看到Nacos易於使用並集成Spring Boot非常方便。同時,在Nacos後台管理系統中可以很方便地進行配置管理和集群管理。
原創文章,作者:ITGBS,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/370849.html