Nacos 是什么,做什么用的
这里我就不bb了, 官方文档不是更加详细吗,还有的更新
去吧,这里去Nacos官网
但是我还是要bb一下.
概述
Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。
Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。 Nacos 是构建以 “服务” 为中心的现代应用架构 (例如微服务范式、云原生范式) 的服务基础设施。
- 特性大图:要从功能特性,非功能特性,全面介绍我们要解的问题域的特性诉求
- 架构大图:通过清晰架构,让您快速进入 Nacos 世界
- 业务大图:利用当前特性可以支持的业务场景,及其最佳实践
- 生态大图:系统梳理 Nacos 和主流技术生态的关系
- 优势大图:展示 Nacos 核心竞争力
- 战略大图:要从战略到战术层面讲 Nacos 的宏观优势
总的来说,不久是服务注册于发现咯~ 和Eureka很像嘛…“啪啪打脸~” , 反正官网说的功能他都实现了咯, 这比Eureka还是强一点点的…
Nacos 安装
操作步骤
官网自己看: 怎么版本的都有
启动了之后(我这里用windows的)
默认端口 8848
输入: http://localhost:8848/nacos/#/login 就可以登录了
提供方:
导入这个包,分布式服务很需要注意版本问题,还需要设置启动入口
xml文件配置
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.example</groupId>
<artifactId>hello-spring-cloud-alibaba-demo</artifactId>
<version>0.0.1-SNAPSHOT</version>
<relativePath>../pom.xml</relativePath>
</parent>
<artifactId>hello-spring-cloud-alibaba-provider</artifactId>
<name>hello-spring-cloud-alibaba-provider</name>
<packaging>jar</packaging>
<url>http://www.funtl.com</url>
<inceptionYear>2018-Now</inceptionYear>
<!--开源协议-->
<licenses>
<license>
<name>Apache 2.0</name>
<url>https://www.apache.org/licenses/LICENSE-2.0.txt</url>
</license>
</licenses>
<developers>
<developer>
<id>Tang</id>
<name>Tang Tem</name>
<email>527962308@qq.com</email>
</developer>
</developers>
<properties>
<java.version>1.8</java.version>
</properties>
<dependencies>
<!-- Spring Boot Begin -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<!-- Spring Boot End -->
<!-- Spring Cloud Begin nacos 的包-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
<version>0.9.0.RELEASE</version>
</dependency>
<!-- Spring Cloud End -->
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<!--设置启动入口-->
<configuration>
<mainClass>com.example.hello.spring.cloud.alibaba.provider.HelloSpringCloudAlibabaProviderApplication</mainClass>
</configuration>
</plugin>
</plugins>
</build>
</project>
application.yml
spring:
application:
# 服务名
name: service-provider
cloud:
nacos:
discovery:
# 服务注册中心
server-addr: localhost:8848
server:
# 服务端口
port: 8070
启动项
加上 @EnableDiscoveryClient
@SpringBootApplication
@EnableDiscoveryClient
public class HelloSpringCloudAlibabaProviderApplication {
public static void main(String[] args) {
SpringApplication.run(HelloSpringCloudAlibabaProviderApplication.class, args);
}
}
成功启动后登录nacons
这样提供方就注册成功了
controller
@RestController
public class EchoController {
@RequestMapping(value = "/echo/{string}")
public String echo(@PathVariable("string") String string){
return "Hello Nacos Provider " + string;
}
}
访问一下
ok了
消费方
消费方嘛,和提供方配置都差不多,导包也是一样的,只需要改一下端口号就好
还需要添加一个配置类:
@Configuration
public class ConsumerConfiguration {
@Bean
public RestTemplate restTemplate(){
return new RestTemplate();
}
}
测试一样有了
之后我们就需要去请求服务,请求有两种方式http和rpc
我们直接用 feign声明式客服端,下一篇讲.