博客
关于我
SpingCloud 2020微服务教程【17】服务提供者注册进Consul
阅读量:78 次
发布时间:2019-02-26

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

Spring Cloud Consul Payment8006 模块开发实践

1. 模块创建

新建一个Maven模块,名称为 cloud-providerconsul-payment8006。在pom.xml中添加必要的依赖项,包括Spring Cloud Consul Discovery和Spring Boot Starter Web等。

2. 依赖管理

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

org.springframework.cloud
spring-cloud-starter-consul-discovery
org.springframework.boot
spring-boot-starter-web
org.springframework.boot
spring-boot-starter-actuator

3. 配置优化

application.properties中添加以下配置:

server.port=8006spring.application.name=consul-provider-paymentspring.cloud.consul.host= localhostspring.cloud.consul.port=8500spring.cloud.consul.discovery.service-name=${spring.application.name}

4. 主启动类

创建主启动类 PaymentMain8006

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

5. 接口开发

创建支付控制器 PaymentController

package com.antherd.springcloud.controller;import java.util.UUID;import lombok.extern.slf4j.Slf4j;import org.springframework.beans.factory.annotation.Value;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RestController;@Slf4j@RestControllerpublic class PaymentController {    @Value("${server.port}")    private String serverPort;    @RequestMapping(value = "/payment/consul")    public String paymentConsul() {        log.info("接收到请求:{}", serverPort);        return "Spring Cloud with Consul: " + serverPort + "\t" + UUID.randomUUID().toString();    }}

6. 模块测试

在Consul服务器上注册服务,查看节点信息,确认服务 consul-provider-payment 已注册成功。然后通过浏览器访问接口 /payment/consul,验证是否正常响应。

通过以上步骤,可以成功开发一个基于Spring Cloud Consul的支付模块,实现服务注册与发现功能。

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

你可能感兴趣的文章
NotImplementedError: Cannot copy out of meta tensor; no data! Please use torch.nn.Module.to_empty()
查看>>
Now trying to drop the old temporary tablespace, the session hangs.
查看>>
nowcoder—Beauty of Trees
查看>>
np.arange()和np.linspace()绘制logistic回归图像时得到不同的结果?
查看>>
np.power的使用
查看>>
NPM 2FA双重认证的设置方法
查看>>
npm build报错Cannot find module ‘webpack/lib/rules/BasicEffectRulePlugin‘解决方法
查看>>
npm build报错Cannot find module ‘webpack‘解决方法
查看>>
npm ERR! ERESOLVE could not resolve报错
查看>>
npm ERR! Unexpected end of JSON input while parsing near ‘...“:“^1.2.0“,“vue-html-‘ npm ERR! A comp
查看>>
npm error Missing script: “server“npm errornpm error Did you mean this?npm error npm run serve
查看>>
npm error MSB3428: 未能加载 Visual C++ 组件“VCBuild.exe”。要解决此问题,1) 安装
查看>>
npm install CERT_HAS_EXPIRED解决方法
查看>>
npm install digital envelope routines::unsupported解决方法
查看>>
npm install 卡着不动的解决方法
查看>>
npm install 报错 EEXIST File exists 的解决方法
查看>>
npm install 报错 ERR_SOCKET_TIMEOUT 的解决方法
查看>>
npm install 报错 fatal: unable to connect to github.com 的解决方法
查看>>
npm install 报错 no such file or directory 的解决方法
查看>>
npm install 权限问题
查看>>