一、简介
在客户端和服务端的交互模式中,我们不免的遇到一类问题。那就是客户端访问的时候服务端可能并非是异常了,只是因为网络延迟或者抖动,可能操作客户端暂时访问不上服务端的情况,如果出现了此类情况的话。那么可以让客户端重试连接。尽可能的避免,因为网络问题,影响通信。从而保证了系统的可靠性。
grpc同样是支持这个能力的,我们可以在客户端通过重试来保证请求的稳定性。
接下来我们就在服务端模拟网络异常来学习一下grpc的客户端的重试机制。
二、代码实现
1、api模块
我们需要在api模块提供一些能力。我们引入gosn用来解析json能力。
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.10.1</version>
</dependency>
并且提供解析类路径下的文件的工具类。
package com.levi.utils;
import com.google.gson.Gson;
import java.io.FileNotFoundException;
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.nio.file.Path;
import java.util.Map;
public class FileUtil {
/**
* 从classpath下读取json文件,封装为map
* @param fileName
* @return
* @throws Exception
*/
public static Map<String, ?> getJsonMap(String fileName) throws Exception {
// 通过 ClassLoader 拿到 classpath 下资源的 URL
var url = Thread.currentThread()
.getContextClassLoader()
.getResource(fileName);
if (url == null)

最低0.47元/天 解锁文章
1040

被折叠的 条评论
为什么被折叠?



