基于naocs做注册中心和配置中心实践

1.安装启动nacos-server

nacos是作为一个单独的服务提供给其它服务作为配置中心和注册中心使用,需要下载启动nacos-server
最新稳定版本 下载地址:https://github.com/alibaba/nacos/releases
我下载的是nacos1.01
下载后解压,进入bin目录
1.1 Linux/Unix/Mac
启动命令(standalone代表着单机模式运行,非集群模式):
sh startup.sh standalone

1.2 Windows
启动命令:
cmd startup.cmd【双击启动】
或者双击startup.cmd运行文件。

1.3 打开控制台
http://localhost:8848/nacos/
登录名:nacos 密码:nacos
基于naocs做注册中心和配置中心实践_第1张图片
注意:spring cloud版本和spring boot版本是有对应关系的,不引入对应版本不能正常使用
版本对应关系如下:
基于naocs做注册中心和配置中心实践_第2张图片
详细的版本管理信息可参考:
https://github.com/alibaba/spring-cloud-alibaba/wiki/版本说明
2.创建spring cloud项目
2.1引入依赖

<dependencyManagement>
		<dependencies>
			<dependency>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-dependencies</artifactId>
				<version>2.0.4.RELEASE</version>
				<type>pom</type>
				<scope>import</scope>
			</dependency>
			<dependency>
				<groupId>org.springframework.cloud</groupId>
				<artifactId>spring-cloud-dependencies</artifactId>
				<version>Finchley.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>
			<exclusions>
				<exclusion>
					<groupId>com.alibaba.nacos</groupId>
					<artifactId>nacos-client</artifactId>
				</exclusion>
			</exclusions>
			<version>0.2.2.RELEASE</version>
		</dependency>

		<dependency>
			<groupId>org.springframework.cloud</groupId>
			<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
			<version>0.2.2.RELEASE</version>
		</dependency>
		<dependency>
			<groupId>com.alibaba.nacos</groupId>
			<artifactId>nacos-client</artifactId>
			<version>1.0.0</version>
		</dependency>
	</dependencies>

2.2.启动类如下:

@SpringBootApplication
@EnableDiscoveryClient
@RestController
@RefreshScope
public class ServiceAApplication {

	public static void main(String[] args) {
		SpringApplication.run(ServiceAApplication.class, args);
	}

	@RestController
	class TestController {
		@Value("${useLocalCache:false}")
		private boolean useLocalCache;

		public void setUseLocalCache(boolean useLocalCache) {
			this.useLocalCache = useLocalCache;
		}

		@RequestMapping(value = "/get")
		@ResponseBody
		public boolean get() {
			return useLocalCache;
		}
	}
}

2.3在项目生成resources目录下创建bootstrap.yml

spring:
  application:
    name: serviceA
  cloud:
    nacos:
      config:
        file-extension: yml
        server-addr: 127.0.0.1:8848
      discovery:
        file-extension: yml
        server-addr: 127.0.0.1:8848
   

2.4.nacos控制台创建配置文件serviceA.yml
基于naocs做注册中心和配置中心实践_第3张图片
这里我只配置了服务启动的端口为8090,不配置默认服务会以8080端口启动,如果最终serciceA服务最终以8090启动说明我们在nacos创建的配置生效
2.5启动serciceA服务
如下图,启动serciceA服务发现运行在8090,且在nacos服务列表页可以看到服务注册上去了
基于naocs做注册中心和配置中心实践_第4张图片
基于naocs做注册中心和配置中心实践_第5张图片

你可能感兴趣的:(spring,cloud,nacos)