Spring Cloud远程调用中,如何优化管理员服务系统的稳定性?

2026-06-11 13:2211阅读0评论SEO教程
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计852个文字,预计阅读时间需要4分钟。

Spring Cloud远程调用中,如何优化管理员服务系统的稳定性?

1.+ 远程调用是指客户端程序通过接口调用服务端程序,并获取服务端返回数据的过程。例如,产品管理系统调用用户管理系统的过程,就是远程调用。此时,远程调用

1. 什么是远程调用

客户端程序通过接口调用服务端程序,并获得该服务返回的数据的过程,称为远程调用。

Spring Cloud远程调用中,如何优化管理员服务系统的稳定性?

“商品管理系统”调用“用户管理系统”的过程,就是“远程调用”。此时“商品管理系统”相当于模拟“浏览器”。


1.1 调用方式

常见的远程调用方式有2种:

RPC:Remote Produce Call远程过程调用,==自定义数据==格式的远程调用方式。基于原生TCP通信,速度快,效率高。

Http:采用localhost:3306/20220622exam?useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC
username: root
password: 1234
mybatis-plus:
configuration:
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl #输出日志
map-underscore-to-camel-case: true
global-config:
db-config:
table-prefix: t_

3.创建javaBean

package com.czxy.domain;

import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

@Data
@NoArgsConstructor
@AllArgsConstructor
@TableName("companys")
public class Companys {
@TableId
private String keyno;

private String cname;

private String oper;

private String industry;
}

4.创建CompanysContoller

@RestController
@RequestMapping("/companys")
public class CompanysContoller {
@Resource
private CompanysMapper companysMapper;

@GetMapping
public BaseResult selectAll(){
List<Companys> list = companysMapper.selectList(null);
if(list ==null){
return BaseResult.error("查询失败");
}
return BaseResult.ok("查询成功",list);
}

@GetMapping("/{keyno}")
public BaseResult selectById(@PathVariable("keyno"){
Companys companys = companysMapper.selectById(keyno);
if(companys ==null){
return BaseResult.error("查询失败");
}
return BaseResult.ok("查询成功",companys);
}
@PostMapping
public BaseResult save(@RequestBody Companys companys){
int insert = companysMapper.insert(companys);
if(insert !=1){
return BaseResult.error("添加失败");
}
return BaseResult.ok("添加成功");
}
@DeleteMapping("/{keyno}")
public BaseResult deleteById(@PathVariable("keyno"){
int i = companysMapper.deleteById(keyno);
if(i !=1){
return BaseResult.error("删除失败");
}
return BaseResult.ok("删除成功");
}

@PutMapping
public BaseResult updata(@RequestBody Companys companys){
int i = companysMapper.updateById(companys);
if(i !=1){
return BaseResult.error("修改失败");
}
return BaseResult.ok("修改成功");
}


}

5.创建Mapper

@Mapper
public interface CompanysMapper extends BaseMapper<Companys> {
}

6.创建启动类

@SpringBootApplication
public class TestCompanyApplication {

public static void main(String[] args){
SpringApplication.run(TestCompanyApplication.class,args);
}
}
2.2 创建子项目:company-localhost:8081/companys";
ResponseEntity<BaseResult> entity = restTemplate.getForEntity(url, BaseResult.class);
List<Companys> list = (List<Companys>) entity.getBody().getData();
return list;
}


public BaseResult<Companys> selectById(String keyno){
String url="localhost:8081/companys/"+keyno;
ResponseEntity<BaseResult<Companys>> resultResponseEntity = restTemplate.exchange(url, HttpMethod.GET, null, new ParameterizedTypeReference<BaseResult<Companys>>() {
});
return resultResponseEntity.getBody();
}

public void insert(Companys companys){
String url="localhost:8081/companys";
RestTemplate restTemplate = new RestTemplate();
ResponseEntity<BaseResult> entity = restTemplate.postForEntity(url, companys, BaseResult.class);

}

public Boolean delete(String keyno){
String url="localhost:8081/companys/"+keyno;
RestTemplate restTemplate = new RestTemplate();
restTemplate.delete(url);
return true;
}

public void update(Companys companys){
String url="localhost:8081/companys";
RestTemplate restTemplate = new RestTemplate();
restTemplate.put(url,companys,BaseResult.class);
}
}

最后进行测试

localhost:8082/swagger-ui.html#/

最后只要能调用到就说明你已经学会了哦~

本文共计852个文字,预计阅读时间需要4分钟。

Spring Cloud远程调用中,如何优化管理员服务系统的稳定性?

1.+ 远程调用是指客户端程序通过接口调用服务端程序,并获取服务端返回数据的过程。例如,产品管理系统调用用户管理系统的过程,就是远程调用。此时,远程调用

1. 什么是远程调用

客户端程序通过接口调用服务端程序,并获得该服务返回的数据的过程,称为远程调用。

Spring Cloud远程调用中,如何优化管理员服务系统的稳定性?

“商品管理系统”调用“用户管理系统”的过程,就是“远程调用”。此时“商品管理系统”相当于模拟“浏览器”。


1.1 调用方式

常见的远程调用方式有2种:

RPC:Remote Produce Call远程过程调用,==自定义数据==格式的远程调用方式。基于原生TCP通信,速度快,效率高。

Http:采用localhost:3306/20220622exam?useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC
username: root
password: 1234
mybatis-plus:
configuration:
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl #输出日志
map-underscore-to-camel-case: true
global-config:
db-config:
table-prefix: t_

3.创建javaBean

package com.czxy.domain;

import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

@Data
@NoArgsConstructor
@AllArgsConstructor
@TableName("companys")
public class Companys {
@TableId
private String keyno;

private String cname;

private String oper;

private String industry;
}

4.创建CompanysContoller

@RestController
@RequestMapping("/companys")
public class CompanysContoller {
@Resource
private CompanysMapper companysMapper;

@GetMapping
public BaseResult selectAll(){
List<Companys> list = companysMapper.selectList(null);
if(list ==null){
return BaseResult.error("查询失败");
}
return BaseResult.ok("查询成功",list);
}

@GetMapping("/{keyno}")
public BaseResult selectById(@PathVariable("keyno"){
Companys companys = companysMapper.selectById(keyno);
if(companys ==null){
return BaseResult.error("查询失败");
}
return BaseResult.ok("查询成功",companys);
}
@PostMapping
public BaseResult save(@RequestBody Companys companys){
int insert = companysMapper.insert(companys);
if(insert !=1){
return BaseResult.error("添加失败");
}
return BaseResult.ok("添加成功");
}
@DeleteMapping("/{keyno}")
public BaseResult deleteById(@PathVariable("keyno"){
int i = companysMapper.deleteById(keyno);
if(i !=1){
return BaseResult.error("删除失败");
}
return BaseResult.ok("删除成功");
}

@PutMapping
public BaseResult updata(@RequestBody Companys companys){
int i = companysMapper.updateById(companys);
if(i !=1){
return BaseResult.error("修改失败");
}
return BaseResult.ok("修改成功");
}


}

5.创建Mapper

@Mapper
public interface CompanysMapper extends BaseMapper<Companys> {
}

6.创建启动类

@SpringBootApplication
public class TestCompanyApplication {

public static void main(String[] args){
SpringApplication.run(TestCompanyApplication.class,args);
}
}
2.2 创建子项目:company-localhost:8081/companys";
ResponseEntity<BaseResult> entity = restTemplate.getForEntity(url, BaseResult.class);
List<Companys> list = (List<Companys>) entity.getBody().getData();
return list;
}


public BaseResult<Companys> selectById(String keyno){
String url="localhost:8081/companys/"+keyno;
ResponseEntity<BaseResult<Companys>> resultResponseEntity = restTemplate.exchange(url, HttpMethod.GET, null, new ParameterizedTypeReference<BaseResult<Companys>>() {
});
return resultResponseEntity.getBody();
}

public void insert(Companys companys){
String url="localhost:8081/companys";
RestTemplate restTemplate = new RestTemplate();
ResponseEntity<BaseResult> entity = restTemplate.postForEntity(url, companys, BaseResult.class);

}

public Boolean delete(String keyno){
String url="localhost:8081/companys/"+keyno;
RestTemplate restTemplate = new RestTemplate();
restTemplate.delete(url);
return true;
}

public void update(Companys companys){
String url="localhost:8081/companys";
RestTemplate restTemplate = new RestTemplate();
restTemplate.put(url,companys,BaseResult.class);
}
}

最后进行测试

localhost:8082/swagger-ui.html#/

最后只要能调用到就说明你已经学会了哦~