提示:这里可以添加本文要记录的大概内容:
例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。
提示:以下是本篇文章正文内容,下面案例可供参考
欢迎来到 Nacos 的世界!
1、Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。
2、Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。 Nacos 是构建以“服务”为中心的现代应用架构 (例如微服务范式、云原生范式) 的服务基础设施。
3、如 Nacos 全景图所示,Nacos 无缝支持一些主流的开源生态,例如
3.1、Spring Cloud
3.2、Apache Dubbo and Dubbo Mesh
3.3、Kubernetes and CNCF。
nacos-provide:服务提供者
nacos-consumer:服务消费者
Nacos官方网站 : https://nacos.io/zh-cn/docs/what-is-nacos.html
特性大图:要从功能特性,非功能特性,全面介绍我们要解的问题域的特性诉求
架构大图:通过清晰架构,让您快速进入 Nacos 世界
业务大图:利用当前特性可以支持的业务场景,及其最佳实践
生态大图:系统梳理 Nacos 和主流技术生态的关系
优势大图:展示 Nacos 核心竞争力
战略大图:要从战略到战术层面讲 Nacos 的宏观优势
如 Nacos 全景图所示,Nacos 无缝支持一些主流的开源生态,例如
Spring Cloud
Apache Dubbo and Dubbo Mesh
Kubernetes and CNCF。
使用 Nacos 简化服务发现、配置管理、服务治理及管理的解决方案,让微服务的发现、管理、共享、组合更加容易。
关于如何在这些生态中使用 Nacos,请参考以下文档:(重点哦,拿小本本记住)
Nacos与Spring Cloud一起使用
Nacos与Kubernetes一起使用
Nacos与Dubbo一起使用
Nacos与gRPC一起使用
Nacos与Istio一起使用
(以上信息均来自官网文档)
下载地址: https://github.com/alibaba/nacos/releases
下载解压后进入bin文件夹(目录:nacos\bin),直接双击执行startup.cmd文件,启动成功如下图:
IDEA中创建聚合工程Nacos作为父工程,其pom.xml如下(重点关注dependencyManagement配置):
1、创建启动类ProvideController,服务的请求入口 ,并添加注解@EnableDiscoveryClient 开启服务注册发现功能:
@RestController
@EnableDiscoveryClient
@SpringBootApplication
public class ProvideController {
public static void main(String[] args) {
SpringApplication.run(NProvideController .class, args);
}
@GetMapping("/helloNacos")
public String helloNacos(){
return "这是服务提供方,nacos!,小新新最帅";
}
}
2、资源文件信息Resource中application.yml文件配置
server:
port: 9527
spring:
application:
name: provide
cloud:
nacos:
discovery:
server-addr: 10.16.10.166
3、pom.xml配置文件信息
<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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0modelVersion>
<parent>
<artifactId>NacosartifactId>
<groupId>com.zhx.zhxyydsgroupId>
<version>0.0.1-SNAPSHOTversion>
parent>
<groupId>com.zhx.zhxyydsgroupId>
<artifactId>provideartifactId>
<version>0.0.1-SNAPSHOTversion>
<name>providename>
<description>Demo project for Spring Bootdescription>
<properties>
<java.version>1.8java.version>
properties>
<dependencies>
<dependency>
<groupId>org.springframework.cloudgroupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discoveryartifactId>
dependency>
<dependency>
<groupId>org.springframework.bootgroupId>
<artifactId>spring-boot-autoconfigureartifactId>
<version>2.3.0.RELEASEversion>
dependency>
dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.bootgroupId>
<artifactId>spring-boot-maven-pluginartifactId>
plugin>
plugins>
build>
project>
1、在Nacos工程下创建一个SpringBoot项目子工程命名为consumer。创建启动类ConsumerController.java 并添加注解@EnableDiscoveryClient 开启服务注册发现功能
@SpringBootApplication
@EnableDiscoveryClient
@RestController
public class ConsumerController {
public static void main(String[] args) {
SpringApplication.run(ConsumerController.class, args);
}
@Autowired
private RestTemplate restTemplate;
@Bean
@LoadBalanced
public RestTemplate getRestTemplate(){
return new RestTemplate();
}
@GetMapping("/consumer")
public String test1() {
return restTemplate.getForObject("http://provide/helloNacos",String.class);
}
}
2、资源文件信息Resource中application.yml文件配置
server:
port: 8089
spring:
application:
name: consumer
cloud:
nacos:
discovery:
server-addr: 127.0.0.1:8848
3、pom.xml配置文件信息
<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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0modelVersion>
<parent>
<artifactId>NacosartifactId>
<groupId>com.zhx.zhxyydsgroupId>
<version>0.0.1-SNAPSHOTversion>
parent>
<groupId>com.zhx.zhxyydsgroupId>
<artifactId>consumerartifactId>
<version>0.0.1-SNAPSHOTversion>
<name>consumername>
<description>Demo project for Spring Bootdescription>
<properties>
<java.version>1.8java.version>
properties>
<dependencies>
<dependency>
<groupId>org.springframework.cloudgroupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discoveryartifactId>
dependency>
<dependency>
<groupId>org.springframework.bootgroupId>
<artifactId>spring-boot-autoconfigureartifactId>
<version>2.3.0.RELEASEversion>
dependency>
dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.bootgroupId>
<artifactId>spring-boot-maven-pluginartifactId>
plugin>
plugins>
build>
project>
startup.cmd -m standalone
启动成功页面
2.2 输入Nacos网址 http://127.0.0.1:8848/nacos
用户:nacos
密码:nacos
进入首页。
在服务列表中,已经显示了我们刚才创建的两个项目,并可以对其进行简单的监控和管理。
浏览器中访问服务消费者的接口 http://127.0.0.1:8089/consumer, 可以看到成功返回结果
这是服务提供方,nacos!,小新新最帅
从以上将Nacos整合到Spring Cloud微服务项目当中,其实跟之前我写的文章有差异,差异就是我之前文章微服务注册用的是Eureka作为注册中心。zookeeper也是一样,其实在项目当中如果想要替换,其实直接替换当前的注册中心服务即可,可以无缝整合到SpringCloud的微服务框架当中。