GRPC (4) : 名字解析器

上一章学习了 gRPC 截止时间,多路复用和元数据等特性,今天学习名字解析器j及其实现原理。 名字解析器(Name Resolver) 名字解析器用作将给定的服务名称解析为对应的后端 IP 地址和端口号,gRPC 中默认使用...

GRPC (3) : 拦截器

上篇文章记录了 gRPC 四种通信模式及实现,今天学习一个新的知识点——拦截器。通常客户端请求到达服务端的时候不会立即进行业务处理,而是进行一些预处理操作,比如监控数据采集(统计 QPS),链路追踪,身份信息...

GRPC (2): 四种通信模式‍

上篇文章我们介绍了gRPC 的基本概念,今天实现一个完整的 gRPC 服务,包括 proto 文件的定义,客户端和服务端代码的生成以及业务逻辑代码的补充。 GRPC 四种通信模式‍ 普通模式(unary RPC) 假如...

GRPC (1) : 基本概念

Go gRPC 简介gRPC 是由 Google 开源的基于 HTTP/2 协议的开源远程过程调用(RPC)框架,使用 Protocol Buffers 序列化协议。相比于传统的 HTTP+JSON 的通信方式,gRPC 更轻量、更快速,拥有更多的优点。Go gRPC ...

go语言map转结构体

方式一、通过mapstructure.Decode()方法 可以通过github.com/mitchellh/mapstructure包的mapstructure.Decode(map[string]interface,*struct)方法将map转换成结构体,该方法的参数有两个,第一个参数是要转换的m...

分布式锁的3种实现!附代码

分布式锁是一种用于保证分布式系统中多个进程或线程同步访问共享资源的技术。同时它又是面试中的常见问题,所以我们本文就重点来看分布式锁的具体实现(含实现代码)。 在分布式系统中,由于各个节点之间的网...

SpringBoot拦截器和动态代理有什么区别

在 Spring Boot 中,拦截器和动态代理都是用来实现功能增强的,所以在很多时候,有人会认为拦截器的底层是通过动态代理实现的,所以本文就来盘点一下他们两的区别,以及拦截器的底层实现。 1.拦截器 拦截器(...

Java:PO、VO、BO、DO、DAO、DTO、POJO

Java:PO、VO、BO、DO、DAO、DTO、POJO PO持久化对象(Persistent Object) PO是持久化对象,用于表示数据库中的实体或表的映射 通常与数据库表的结构和字段对应 PO的属性对应数据库表的字段,可以进行持久...