博客
关于我
Nacos作为服务注册中心演示
阅读量:115 次
发布时间:2019-02-26

本文共 3730 字,大约阅读时间需要 12 分钟。

一、基于Nacos的服务提供者

服务提供方 (Service Provider)

是指提供可复用和可调用服务的应用方

  1. 在父工程下新建module (cloudalibaba-provider-payment-9001)
  2. POM 引入
com.alibaba.cloud
spring-cloud-starter-alibaba-nacos-discovery
  1. YML
server:  port: 9001spring:  application:    name: nacos-payment-provider  cloud:    nacos:      discovery:        server-addr: 172.28.129.83:8848 #配置Nacos地址management:  endpoints:    web:      exposure:        include: '*'
  1. 主启动
import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;import org.springframework.cloud.client.discovery.EnableDiscoveryClient;@SpringBootApplication@EnableDiscoveryClientpublic class PaymentApplication9001 {       public static void main(String[] args) {           SpringApplication.run(PaymentApplication9001.class,args);    }}
  1. 业务类
import org.springframework.beans.factory.annotation.Value;import org.springframework.web.bind.annotation.GetMapping;import org.springframework.web.bind.annotation.PathVariable;import org.springframework.web.bind.annotation.RestController;@RestControllerpublic class PaymentController{       @Value("${server.port}")    private String serverPort;    @GetMapping(value = "/payment/nacos/{id}")    public String getPayment(@PathVariable("id") Integer id)    {           return "nacos registry, serverPort: "+ serverPort+"\t id"+id;    }}

6.测试

  • 启动9001服务

在这里插入图片描述

打开nacos"服务列表” ,可发现服务
在这里插入图片描述
点击详情可见端口号为9001
在这里插入图片描述

二、 基于Nacos的服务消费者

服务消费方 (Service Consumer)

是指会发起对某个服务调用的应用方

  • 根据9001新建一个9002module (cloudalibaba-provider-payment-9002)
  • yml端口9001修改成9002
  • 启动9002服务
  • 刷新nacos,发现
  • 在这里插入图片描述
    在这里插入图片描述

1、nacos自带负载均衡演示

  • 新建Module (cloudalibaba-consumer-nacos-order-83)
  • POM
  • YML
server:  port: 83spring:  application:    name: nacos-order-consumer  cloud:    nacos:      discovery:        server-addr: 172.28.129.83:8848#消费者将要去访问的微服务名称(注册成功进nacos的微服务提供者)service-url:  nacos-user-service: http://nacos-payment-provider
  • 主启动类
import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;import org.springframework.cloud.client.discovery.EnableDiscoveryClient;@SpringBootApplication@EnableDiscoveryClientpublic class OrderNacosApplication83 {       public static void main(String[] args) {           SpringApplication.run(OrderNacosApplication83.class,args);    }}
  • 业务类
    新建包config 下新建类ApplicationContextConfig
import org.springframework.cloud.client.loadbalancer.LoadBalanced;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import org.springframework.web.client.RestTemplate;@Configurationpublic class ApplicationContextConfig {       @Bean    @LoadBalanced  //负载均衡    public RestTemplate restTemplate(){           return new RestTemplate();    }}

新建controller包,新建类OrderNacosController

import lombok.extern.slf4j.Slf4j;import org.springframework.beans.factory.annotation.Value;import org.springframework.web.bind.annotation.GetMapping;import org.springframework.web.bind.annotation.PathVariable;import org.springframework.web.bind.annotation.RestController;import org.springframework.web.client.RestTemplate;import javax.annotation.Resource;@RestController@Slf4jpublic class OrderNacosController{       @Resource    private RestTemplate restTemplate;    //从配置文件中读取出来    @Value("${service-url.nacos-user-service}")    private String serverURL;    @GetMapping(value = "/consumer/payment/nacos/{id}")    public String paymentInfo(@PathVariable("id") Long id)    {           return restTemplate.getForObject(serverURL+"/payment/nacos/"+id,String.class);    }}
  • 测试
  • 输入消费服务端口
    http://localhost:83/consumer/payment/nacos/1
    刷新一次切换9001或者9002,所以得出结论,83访问9001/9002,轮询负载OK
    在这里插入图片描述
    在这里插入图片描述
    消费者83成功注册到nacos
    在这里插入图片描述
    在这里插入图片描述

为什么Nacos支持负载均衡,因为他整合了ribbon

在这里插入图片描述

转载地址:http://jhfk.baihongyu.com/

你可能感兴趣的文章
Nginx代理静态资源(gis瓦片图片)实现非固定ip的url适配网络环境映射ip下的资源请求解决方案
查看>>
Nginx代理静态资源(gis瓦片图片)实现非固定ip的url适配网络环境映射ip下的资源请求解决方案
查看>>
nginx反向代理
查看>>
nginx反向代理、文件批量改名及统计ip访问量等精髓总结
查看>>
Nginx反向代理与正向代理配置
查看>>
Nginx反向代理及负载均衡实现过程部署
查看>>
Nginx反向代理是什么意思?如何配置Nginx反向代理?
查看>>
nginx反向代理解决跨域问题,使本地调试更方便
查看>>
Nginx反向代理配置
查看>>
Nginx启动SSL功能,并进行功能优化,你看这个就足够了
查看>>
nginx启动脚本
查看>>
Nginx在Windows上和Linux上(Docker启动)分别配置基本身份认证示例
查看>>
Nginx在Windows下载安装启动与配置前后端请求代理
查看>>
Nginx多域名,多证书,多服务配置,实用版
查看>>
nginx如何实现图片防盗链
查看>>
Nginx学习总结(13)——Nginx 重要知识点回顾
查看>>
Nginx学习总结(14)——Nginx配置参数详细说明与整理
查看>>
Nginx安装与常见命令
查看>>
Nginx安装及配置详解
查看>>
Nginx实战经验分享:从小白到专家的成长历程!
查看>>