当前位置:网站首页>ss-5.consul服务端+生产者+消费者
ss-5.consul服务端+生产者+消费者
2022-08-03 05:09:00 【lhorse003】
服务器启动 localhost:8500 http://localhost/consumer/payment/consul – 消费者访问
服务器启动
consul agent -dev – 开发模式启动
cloud-providerconsul-payment8006
│ pom.xml
│
├─src
│ ├─main
│ │ ├─java
│ │ │ └─com
│ │ │ └─cmk
│ │ │ └─springCloud
│ │ │ │ PaymentMain8006.java //jetbrains://idea/navigate/reference?project=zy2020&path=com/cmk/springCloud/PaymentMain8006.java:13:1
│ │ │ │
│ │ │ └─controller
│ │ │ PaymentController.java
│ │ │
│ │ └─resources
│ │ application.yml
│ │
│ └─test
│ └─java
pom.xml
<dependencies>
<!--SpringCloud consul-server-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-consul-discovery</artifactId>
</dependency>
<dependency>
<groupId>org.cmk.springcoloud</groupId>
<artifactId>cloud-api-commons</artifactId>
<version>${project.version}</version>
</dependency>
<!--SpringBoot整合web组件-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<!--日常通用jar包配置-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
PaymentMain8006.java
@SpringBootApplication
@EnableDiscoveryClient
public class PaymentMain8006 {
public static void main(String[] args) {
SpringApplication.run(PaymentMain8006.class,args);
}
}
PaymentController.java
@RestController
@Slf4j
public class PaymentController {
@Value("${server.port}")
private String serverPort;
@RequestMapping("/payment/consul")
public String paymentConsul(){
return "springcloud with consul:"+serverPort+"\t"+ UUID.randomUUID().toString();
}
}
application.yml
server:
port: 8006
spring:
application:
name: consul-provider-payment
cloud:
consul:
host: localhost
port: 8500
discovery:
service-name: ${
spring.application.name}
cloud-providerconsul-payment8006
│ pom.xml
│
├─src
│ ├─main
│ │ ├─java
│ │ │ └─com
│ │ │ └─cmk
│ │ │ └─springcloud
│ │ │ │ OrderConsulMain80.java //jetbrains://idea/navigate/reference?project=zy2020&path=com/cmk/springcloud/OrderConsulMain80.java:14:1
│ │ │ │
│ │ │ ├─config
│ │ │ │ ApplicationContextConfig.java
│ │ │ │
│ │ │ └─controller
│ │ │ OrderConsulController.java
│ │ │
│ │ └─resources
│ │ application.yml
│ │
│ └─test
│ └─java
pom.xml
<dependencies>
<!--SpringCloud consul-server-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-consul-discovery</artifactId>
</dependency>
<dependency>
<groupId>org.cmk.springcoloud</groupId>
<artifactId>cloud-api-commons</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!--监控-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<!--热部署-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
OrderConsulMain80.java
@SpringBootApplication
@EnableDiscoveryClient //该注解用于向使用consul或者zookeeper作为注册中心时注册服务
public class OrderConsulMain80 {
public static void main(String[] args) {
SpringApplication.run(OrderConsulMain80.class,args);
}
}
ApplicationContextConfig.java
@Configuration
public class ApplicationContextConfig {
@Bean
@LoadBalanced
public RestTemplate getRestTemplate(){
return new RestTemplate();
}
}
OrderConsulController.java
@RestController
@Slf4j
public class OrderConsulController {
public static final String INVOKE_URL = "http://consul-provider-payment";
@Resource
private RestTemplate restTemplate;
@GetMapping("/consumer/payment/consul")
public String paymentInfo() {
String result = restTemplate.getForObject(INVOKE_URL + "/payment/consul", String.class);
return result;
}
}
application.yml
###consuL服务端口号
server:
port: 80
spring:
application:
name: cloud-consumer-order
####consuL注册中心她址
cloud:
consul:
host: localhost
port: 8500
discovery:
service-name: ${
spring.application.name}
边栏推荐
- MOSN 反向通道详解
- WebSocket的实际应用
- Build your own web page on the Raspberry Pi (2)
- js implements a bind function
- Interface testing framework combat (3) | JSON request and response assertion
- 用户密码加密工具
- UV decomposition of biotin - PEG2 - azide | CAS: 1192802-98-4 biotin connectors
- 【Harmony OS】【ARK UI】ets使用startAbility或startAbilityForResult方式调起Ability
- js garbage collection mechanism
- How to use the interface management tool YApi?Beautiful, easy to manage, super easy to use
猜你喜欢
UV 裂解的生物素-PEG2-叠氮|CAS:1192802-98-4生物素接头
Build your own web page on the Raspberry Pi (2)
测试人员的价值体现在哪里
Exception(异常) 和 Error(错误)区别解析
接口测试如何准备测试数据
Tag stack - stack monotonically preparatory knowledge - lt. 739. The daily temperature
Install PostgreSQL on Windows
Bubble sort in c language structure
2022/08/02 Study Notes (day22) Multithreading
typescript42-readonly修饰符
随机推荐
1054 求平均值 (20 分)
typescript49-交叉类型
Interface test practice | Detailed explanation of the difference between GET / POST requests
Object类与常用API
Create a tree structure
C#异步和多线程
Tributyl-mercaptophosphane "tBuBrettPhos Pd(allyl)" OTf), 1798782-17-8
odps的临时查询能在写sql的时候就给结果一个命名不?
typescript46-函数之间的类型兼容性
MySql数据库
Interface test framework combat (1) | Requests and interface request construction
BIOTIN ALKYNE CAS:773888-45-2价格,供应商
【Harmony OS】【ArkUI】ets开发 图形与动画绘制
在树莓派上搭建属于自己的网页(1)
[Harmony OS] [ARK UI] ETS context basic operations
Jmeter 模拟多用户登录的两种方法
3. 无重复字符的最长子串
在线密码生成工具推荐
2022暑假牛客多校联赛第一场
idea使用@Autowired注解爆红原因及解决方法