03gRpc & 服务发现

本文详细介绍了gRPC框架的特性和设计理念,包括其高性能、语言中立性以及服务发现功能。gRPC的HealthCheck协议允许服务在不稳定时被及时发现并从负载均衡中移除。服务发现分为客户端发现和服务端发现两种模式,前者减少网络跳转,后者简化服务消费方的复杂性。文中还提及了Eureka作为服务发现的例子,讨论了其注册、心跳和故障处理机制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

服务与服务之间通信的核心就是RPC框架

异步通信偏消息队列

gRPC

gRPC用官网一句话概括“A high-performance, open-source universal RPC framework"

  • 多语言:语言中立,支持多种语言
  • 轻量级、高性能:序列化支持PB(Protocal Buffer,Protocol buffers 是一种语言中立,平台无关,可扩展的序列化数据的格式,可用于通信协议,数据存储等。),和Json,PB是一种语言无关的高性能序列化框架
  • 可插拔:支持内部各种各样的插件,如扩展负载均衡、服务发现等
  • IDL:基于文件(PB)定义服务,听过proto3工具生成任何指定语言的数据结构、服务端接口以及客户端Stub
  • 设计理念
  • 移动端:基于标准的HTTP/2.0设计,支持双向流、消息头压缩、单 TCP的多路复用、服务端推送等特性,这些特性使得gRPC在移动端设备商更加省电和节省网络流量。HTTP/1.x是单向request、response模型,导致这个连接在发送请求后无法使用,除非再返回,其复用情况很差,所以必须要有很多连接,连接多起来就会造成资源大量浪费。HTTP/2.0支持单个TCP连接的多路复用。
  • 服务非对象、消息非引用:促进微服务的系统间粗粒度消息交互设计理念。
  • 负载无关的:支持不同的服务需要使用不同类的消息类型和编码,例如protocol buffers、Json、XML、Thrift。
  • 流:支持Streaming API。
  • 阻塞式和非阻塞式:实现中支持异步和同步处理在客户端和服务端交互的消息序列。
  • 支持元数据交换:常见的横切关注点,如认证或跟踪,依赖数据交换。
  • 标准化状态码:客户端通常以有限的方式响应API调用返回的错误。

gRPC - HealthCheck</

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值