grpc、多集群、多租户

gRPC和服务发现

一个A high-performance, open-source universal RPC framework,高性能、开源的通用 RPC 框架。使用protobuf 语言基于文件定义服务,通过 proto3 工具生成指定语言的数据结构、服务端接口以及客户端 Stub。移动端上面则是基于标准的 HTTP/2 设计,支持双向流、消息头压缩、单 TCP 的多路复用、服务端推送等特性,这些特性使得 gRPC 在移动端设备上更加省电和节省网络流量。

grpc的服务健康检查

我觉得使用grpc重要的是阅读所生成的grpc.pb.go 文件 ,对里面所生成的 server 端接口要进行正确的抽象使用,client端进行正确的调用,注意 其**"实现类"** 的方法要符合其函数签名。

选择客户端发现:

直连,比服务端服务发现少一次网络跳转,Consumer 需要内置特定的服务发现客户端和发现逻辑。

多集群

多集群理解为对你的一个服务功能提供多套集群服务功能,一个集群坏了,换领一个,通常一班设计 n+2 套集群来进行服务,也就是会多设计两套集群来备用。

要尽量避免业务隔离使用或者 sharding 带来的 cache hit 影响(按照业务划分集群资源)。

但是业务隔离集群带来的问题是 cache hit ratio 下降,不同业务形态数据正交,我们退而求其次整个集群全部连接。那么连接整个集群的话,那么多,我怎么连?连哪个?

答:找到一种算法从全集群中选取一批节点(子集),利用划分子集限制连接池大小。

  • 合适的子集大小和选择算法:
    • 通常 20-100 个后端,部分场景需要大子集,比如大批量读写操作。
    • 后端平均分给客户端。
    • 客户端重启,保持重新均衡,同时对后端重启保持透明,同时连接的变动最小。

多租户

沙箱隔离、流量路由、染色发布、连接池

本质理解为:从源头传递过来一个标签,例如 http head上面,然后把这个标签挂载到上下文 context上面,之后基于RPC的负载均衡的流量来路由到你想要到的那个节点上面。通过这样的方法就可以虚拟出无数多套测试环境。

相关推荐
吨吨不打野1 天前
error: RPC failed; HTTP 400 curl 22 The requested URL returned error: 400
网络协议·http·rpc
啊阿狸不会拉杆2 天前
《机器学习导论》第 17 章 - 组合多学习器
人工智能·python·学习·算法·机器学习·聚类·集成学习
文艺小码农3 天前
PEFT 库中文本生成LoRA 教程
人工智能·深度学习·语言模型·自然语言处理·集成学习
消失的旧时光-19436 天前
从 0 开始理解 RPC —— 后端工程师扫盲版
网络·网络协议·rpc
彬匠科技BinJiang_tech7 天前
中东跨境电商ERP供应商推荐
rpc
砚边数影8 天前
随机森林原理:集成学习思想,Java实现多棵决策树投票机制
java·数据库·随机森林·集成学习·kingbase·数据库平替用金仓·金仓数据库
Dev7z8 天前
让机器学会“听诊”:基于集成学习的心肺听诊音自动分类系统设计与实现
机器学习·分类·集成学习
三水不滴9 天前
有 HTTP 了为什么还要有 RPC?
经验分享·笔记·网络协议·计算机网络·http·rpc
岁岁种桃花儿9 天前
注册中心宕机后,RPC调用还能成功吗?主流框架实测级分析
zookeeper·eureka·rpc
民乐团扒谱机10 天前
【微实验】机器学习之集成学习 GBDT和XGBoost 附 matlab仿真代码 复制即可运行
人工智能·机器学习·matlab·集成学习·xgboost·gbdt·梯度提升树