Nacos 是阿里巴巴推出来的一个新开源项目,是一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。 Nacos 是构建以“服务”为中心的现代应用架构 (例如微服务范式、云原生范式) 的服务基础设施。
1.Eureka(原生,2.0遇到性能瓶颈,停止开源,推荐使用Nacos)
(这一点也是现在很多企业都在用Nacos,不用Eureka的原因)
2. Zookeeper(支持,专业的独立产品。例如:dubbo)
3.Consul(原生,GO语言开发)
4.Nacos
Nacos是以服务为主要服务对象的中间件,Nacos支持所有主流的服务发现、配置和管理。
Nacos主要提供以下四大功能:
1.服务发现和服务健康监测
2.动态配置服务
3.动态DNS服务
4.服务及其元数据管理
相对于 Spring Cloud Eureka 来说,Nacos 更强大。
Nacos可以与 Spring, Spring Boot, Spring Cloud 集成,并能代替 Spring Cloud Eureka, Spring Cloud Config- 通过 Nacos Server 和 spring-cloud-starter-alibaba-nacos-discovery 实现服务的注册与发现。
下载地址:https://github.com/alibaba/nacos/releases
<!--服务注册-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
#pom文件配置
# nacos服务地址
spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848
在需要进行微服务调用的模块启动类中加上注解
@EnableDiscoveryClient // nacos注册
浏览器输入网址就可以看到注册的服务了,账号密码默认为nacos
localhost:8848/nacos/
<!--服务调用-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>
在调用端(消费端)的启动类上加上注解
@EnableFeignClients
在调用端(消费端)创建调用接口,注意添加注释
然后把被调用端(生产端)需要被调用的方法声明,复制到接口中,访问路径要写全,即如果有@RequestMapping
注释,要把后面的路径一起加上。
@FeignClient("service-vod")//名称为nacos里的注册名称
@Component//将该接口交给spring容器管理
public interface VodClient {
@DeleteMapping("/eduvod/video/removeAlyVideo/{id}")//注意要写全路径
public R removeAlyVideo(@PathVariable("id") String id);
}
在需要远程调用该方法的地方注入上述的调用接口
//注入远程调用接口
@Autowired
private VodClient vodClient;
然后根据实际情况进行调用即可
vodClient.removeAlyVideo(videoId);
希望该文章对你们有帮助哈,有帮到你们的麻烦点个赞哈,有兴趣的朋友可以关注一下公众号,公众号上会发布一些最近行业常用的技术,还有一些常见的开发错误,想要一些Java资源的话也可以公众号留言,小编会尽力为你搜索,同时也会发表一些自己见解的文章。