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

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

基于 Nacos 的服务提供者与消费者配置

服务提供者配置

1. 模块创建

在父工程下新建一个module,命名为 cloudalibaba-provider-payment-9001

2. 依赖项添加

在项目的 pom.xml 中添加以下依赖:

com.alibaba.cloud
spring-cloud-starter-alibaba-nacos-discovery

3. 服务注册配置

application.yml 中添加以下内容:

server:    port: 9001spring:    application:        name: nacos-payment-provider    cloud:        nacos:            discovery:                server-addr: 172.28.129.83:8848            management:                endpoints:                    web:                        exposure:                            include: '*'

4. 主启动类

创建一个主启动类 PaymentApplication9001

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);    }}

5. 业务接口开发

创建 PaymentController

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;    }}

服务消费者配置

1. 模块创建

在父工程下新建一个module,命名为 cloudalibaba-provider-payment-9002

2. 服务发现配置

修改 application.yml 中的端口号为 9002,并保留服务发现地址:

server:    port: 9002spring:    application:        name: nacos-payment-provider-9002    cloud:        nacos:            discovery:                server-addr: 172.28.129.83:8848

3. 主启动类

创建一个主启动类 PaymentApplication9002

import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;import org.springframework.cloud.client.discovery.EnableDiscoveryClient;@SpringBootApplication@EnableDiscoveryClientpublic class PaymentApplication9002 {    public static void main(String[] args) {        SpringApplication.run(PaymentApplication9002.class, args);    }}

负载均衡演示

1. 消费者配置

新建一个module,命名为 cloudalibaba-consumer-nacos-order-83

2. 服务发现配置

application.yml 中添加以下内容:

server:    port: 83spring:    application:        name: nacos-order-consumer    cloud:        nacos:            discovery:                server-addr: 172.28.129.83:8848            service-url:                nacos-user-service: http://nacos-payment-provider

3. 负载均衡实现

创建 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();    }}

创建 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) {        log.info("请求路径: /consumer/payment/nacos/{}", id);        return restTemplate.getForObject(serverURL + "/payment/nacos/" + id, String.class);    }}

4. 测试验证

通过访问 http://localhost:83/consumer/payment/nacos/1,可以看到服务请求会自动切换到不同提供者的实例,说明 Nacos 已成功进行负载均衡。

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

你可能感兴趣的文章
Oracle 启动监听命令
查看>>
oracle 学习
查看>>
ORACLE 客户端工具连接oracle 12504
查看>>
oracle 行转列
查看>>
Oracle 表
查看>>
Oracle 递归
查看>>
oracle 逻辑优化,提升高度,综合SQL上下文进行逻辑优化
查看>>
oracle 闪回关闭,关闭闪回即disable flashback的操作步骤
查看>>
oracle 限制用户并行,insert /*parallel */ 到不同用户,并行起不来的问题
查看>>
oracle--用户,权限,角色的管理
查看>>
oracle00205报错,Oracle控制文件损坏报错场景
查看>>
Oracle10g EM乱码之快速解决
查看>>
Oracle10g下载地址--多平台下的32位和64位
查看>>
Oracle10g安装了11g的ODAC后,PL/SQL连接提示TNS:无法解析指定的连接标识符
查看>>
Oracle11G基本操作
查看>>
Oracle11g服务详细介绍及哪些服务是必须开启的?
查看>>
Oracle11g静默安装dbca,netca报错处理--直接跟换操作系统
查看>>
oracle12安装软件后安装数据库,然后需要自己配置监听
查看>>
Oracle——08PL/SQL简介,基本程序结构和语句
查看>>
Oracle——distinct的用法
查看>>