Linux启动nacos成功日志_微服务调用全过程之Nacos

微服务调用全过程之Nacos

01Nacos简介

Nacos是阿里巴巴推出来的一个新开源项目,是一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。

Nacos致力于帮助您发现、配置和管理微服务。Nacos提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。

Nacos帮助您更敏捷和容易地构建、交付和管理微服务平台。Nacos是构建以“服务”为中心的现代应用架构 (例如微服务范式、云原生范式) 的服务基础设施。

02常见的注册中心0 1

Eureka(原生,2.0遇到性能瓶颈,停止开源,推荐使用Nacos)
(这一点也是现在很多企业都在用Nacos,不用Eureka的原因)

0 2

Zookeeper(支持,专业的独立产品。例如:dubbo)

0 3

Consul(原生,GO语言开发)

0 4

Nacos

03Nacos的功能

1

Nacos是以服务为主要服务对象的中间件,Nacos支持所有主流的服务发现、配置和管理。

2

Nacos主要提供以下四大功能:
1.服务发现和服务健康监测
2.动态配置服务
3.动态DNS服务
4.服务及其元数据管理

3

相对于 Spring Cloud Eureka 来说,Nacos 更强大。


Nacos可以与 Spring, Spring Boot, Spring Cloud 集成,并能代替 Spring Cloud Eureka, Spring Cloud Config- 通过 Nacos Server 和 spring-cloud-starter-alibaba-nacos-discovery 实现服务的注册与发现。

04结构图 0 1 1c267a6b766c05a1c1c8c43b5274bb50.png 05下载安装01

下载地址:https://github.com/alibaba/nacos/releases

5fd831c5637965ed138425939fa22a3c.png 

0 2

启动

Linux/Unix/Mac

启动命令:sh startup.sh -m standalone

Windows

启动命令:cmd startup.cmd

              或者双击startup.cmd运行文件。

c080d16d3de36acdd23bd57d97f5aebf.png

06服务注册01

添加依赖

<dependency>    <groupId>org.springframework.cloudgroupId>    <artifactId>spring-cloud-starter-alibaba-nacos-discoveryartifactId>dependency>
02

配置

#pom文件配置

# nacos服务地址spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848
03

添加注解

在需要进行微服务调用的模块启动类中加上注解

@EnableDiscoveryClient // nacos注册
04

启动

浏览器输入网址就可以看到注册的服务了,账号密码默认为nacos

localhost:8848/nacos/

5417ac609b00fe8bc396c0b4cc090c92.png

07远程调用服务

Feign简介

1、Feign是Netflix开发的声明式、模板化的HTTP客户端,Feign可以帮助我们更快捷、优雅地调用HTTP API。

2、Feign支持多种注解,例如Feign自带的注解或者JAX-RS注解等。

3、Spring Cloud对Feign进行了增强,使Feign支持了SpringMVC注解,并整合了Ribbon和Eureka,从而让Feign的使用更加方便。

4、Spring Cloud Feign是基于Netflix feign实现,整合了Spring Cloud Ribbon和Spring Cloud Hystrix,除了提供这两者的强大功能外,还提供了一种声明式的Web服务客户端定义的方式。

5、Spring Cloud Feign帮助我们定义和实现依赖服务接口的定义。在Spring Cloud feign的实现下,只需要创建一个接口并用注解方式配置它,即可完成服务提供方的接口绑定,简化了在使用Spring Cloud Ribbon时自行封装服务调用客户端的开发量。

引入Feign依赖

<dependency>     <groupId>org.springframework.cloudgroupId>     <artifactId>spring-cloud-starter-openfeignartifactId> dependency>

添加注解

在调用端(消费端)的启动类上加上注解

@EnableFeignClients

创建接口

在调用端(消费端)创建调用接口,注意添加注释,然后把被调用端(生产端)需要被调用的方法声明,复制到接口中,访问路径要写全,即如果有@RequestMapping注释,要把后面的路径一起加上。

@FeignClient("service-vod")//名称为nacos里的注册名称@Component//将该接口交给spring容器管理public interface VodClient {    @DeleteMapping("/eduvod/video/removeAlyVideo/{id}")//注意要写全路径    public R removeAlyVideo(@PathVariable("id") String id);}

调用服务

在需要远程调用该方法的地方注入上述的调用接口

//注入远程调用接口@Autowiredprivate VodClient vodClient;然后根据实际情况进行调用即可vodClient.removeAlyVideo(videoId);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值