gRPC学习笔记(一)

news2024/10/3 10:32:49

文章目录

      • gRPC初学思维导图
      • 异步多函数多类的调用
      • grpc初学总结:
      • 杂项

gRPC初学思维导图

在这里插入图片描述

异步多函数多类的调用

一个类里有多个方法时, 两种方法:

  • 定义不同的类(推荐,只管自己的实现,换了请求类型,只要改自己的)
  • 同一个类定义不同的处理函数,需要一个变量定义不同函数

服务端1个epoll 1个thread,单客户端发的性能:

在这里插入图片描述

1个epoll —对应线程池一个线程 ,非阻塞模式
2个epoll —对应线程池两个线程

推荐配置:epoll数 + 对应线程池线程数量 = CPU逻辑核数,能并发的线程数量

在这里插入图片描述

可以看到线程加大的情况下,tps也增长。

  • 处理函数是CPU密集型的
  • 如果是处理io密集型**,有阻塞存在,则可以考虑多开几个线程,**或者考虑用协程(支持多线程)
  • 异步线程数量和CPU逻辑数量一致即可

同步服务端:能够自动调整epoll线程数量

异步客户端:

在这里插入图片描述

服务端 异步:一个类多个函数实现,login和register请求和响应都写到CallData类中,实现方法:就是加分支进行选择

grpc初学总结:

1.环境搭建起来,能跑起来代码
2.把examples/cpp里面的范例稍微浏览一遍
3.理解同步、异步客户端服务端的区别
4.怎么增加service、怎么增加rpc
5.异步同步线程模型
6.异步时,请求任务时IO密集型可以加大线程池的线程数量

进阶
1.负载均衡,主要是在客户端
2.http2.0协议
3.阅读源码
咱还是先把时间丢到MySQL和Redis上吧

杂项

  • 移动文件夹方法

    将当前目录下helloworld-2文件夹移动到 grpc-v1.45.2/examples/cpp/目录下

jyhlinux@ubuntu:~$ mv helloworld-2 grpc-v1.45.2/examples/cpp/
  • gdb调试相关

    gdb ./server
    bt   #打印当前的函数调用栈的所有信息。backtrace
    

    下面表示的就是pthread_create()函数之前的一系列函数调用

    在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/54093.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

在linux系统上看全世界新闻 -- Clinews的使用详解

一. Clinews介绍 Clinews 和 InstantNews 类似,都是 Linux 命令行下的新闻客户端,安装及配置 Clinews 后就可以在 Linux 命令行下阅读新闻及头条新闻了, 当然还有博客新闻,不需要安装 GUI 应用或移动应用,轻松在 Linu…

值得收藏的30道Python练手题(附详解)

今天给大家分享30道Python练习题,建议大家先独立思考一下解题思路,再查看答案。 1.已知一个字符串为 “hello_world_yoyo”,如何得到一个队列 [“hello”,”world”,”yoyo”] ? 使用 split 函数,分割字符串&#xf…

2022年最热门的短网址整理,让你不再选择恐惧

转眼一年又过去了,最近发现网络上有各种各样的短网址平台,让人眼花缭乱,都声称免费并且功能强大,但是据我的了解,很多免费的短网址都是有使用上的限制的,比如生成条数、访问次数、有广告等等、还有各种各样…

校招|拿到腾讯、阿里、字节等10家互联网测试开发岗的offer

前言 首先自我介绍一下,本人北京地区985本硕,工科非计算机专业,课程、毕设课题和编程以及测开都一点关系也没有。但是,通过自己的准备和实习积累的经验,在秋招的时候收获了10家互联网公司的测试开发岗和北京地区一些国…

数字图像处理(入门篇)四 像素关系

目录 1 像素关系 2 像素的领域 (1)4-邻域 (2)对角邻域 (3)8-领域 3 像素的邻接和连接 (1)4-连接 (2)8-连接 4 像素的连通 5 连通域 6 像素之间的距…

HMM隐马尔可夫模型

1.概率图模型:HMM(隐马),MEMM(最大熵),CRF(条件随机场)概率:既然是一个图那么就是一个有圈有边的结构,圈代表随机向量,随机变量之间有边,边上有概…

互联网企业面试必问 Spring 源码? 拿下Spring 源码,看完这篇就够了

前言 不用说,Spring 已经成为 Java 后端开发的事实上的行业标准。无数公司选择 Spring 作为基本开发框架。大多数 Java 后端程序员在日常工作中也会接触到 Spring。因此,如何很好地使用 Spring,已成为 Java 程序员的必修课之一。 同时&…

SoviChart数据可视化:散点图(Scatter plot)

什么是散点图 散点图也可以称为 x-y 图,用于展示数据的相关性和分布关系,由X轴和Y轴两个变量组成。通过因变量(Y轴数值)随自变量(X轴数值)变化的呈现数据的大致趋势,同时支持从类别和颜色两个维度观察数据的分布情况。 散点图通常用于显示和…

常见分布式事务解决方案

分布式事务:就是指事务的参与者、支持事务的服务器、资源服务器以及事务 管理器分别位于不同的分布式系统的不同节点之上。简单来说,分布式事务指 的就是分布式系统中的事务,它的存在就是为了保证不同数据库节点的数据一 致性。 聊到分布式事…

GIS工具maptalks开发手册(二)01——渲染点、文字和图片

GIS工具maptalks开发手册(二)01——渲染点、文字和图片 1、渲染点 效果 2、渲染文字 效果 3、渲染图片 效果 4.1、html单页面 <!DOCTYPE html> <html> <meta charset"UTF-8"> <meta name"viewport" content"widthdevice-wi…

【人工智能与机器学习】——K近邻(KNN)与模型选择(学习笔记)

&#x1f4d6; 前言&#xff1a;人们常常说&#xff0c;“近朱者赤&#xff0c;近墨者黑“&#xff0c;”物以类聚&#xff0c;人以群分”&#xff0c;&#xff0c;我们想考察一个家庭的经济状况&#xff0c;可以问问住在哪里。如果家住在广州珠江新城&#xff0c;经济状况一定…

Unity的机器学习工具包ML-Agents

官方&#xff1a;Unity ML-Agents深度学习工具包&#xff5c;Unity中国官网 | Unity中国官网 Github下载链接&#xff1a;https://github.com/Unity-Technologies/ml-agents ML-Agents是游戏引擎Unity3D中的一个插件&#xff0c;也就是说&#xff0c;这个软件的主业是用来开发…

初始操作系统之进程

文章目录一、什么是操作系统二、进程PCB内存管理一、什么是操作系统 操作系统*&#xff08;英语&#xff1a;Operating System&#xff0c;缩写&#xff1a;OS&#xff09;*是一组主管并控制计算机操作、运用和运行硬件、软件资源和提供公共服务来组织用户交互的相互关联的系统…

Mybatis的BindingException异常产生原因及解决办法详解

一. 问题背景 今天壹哥在讲完MyBatis后&#xff0c;有学生在进行代码练习时遇到了下面这样的一个异常&#xff0c;先上图&#xff1a; 二. 问题分析 1. 原因分析 首先我们看到&#xff0c;这里抛出的异常是org.apache.ibatis.binding.BindingException&#xff0c;接着再看异…

老板说我最近飘了,都敢用 MySQL 实现分布式锁了

​ 编辑切换为居中 添加图片注释&#xff0c;不超过 140 字&#xff08;可选&#xff09; 以前参加过一个库存系统&#xff0c;由于其业务复杂性&#xff0c;搞了很多个应用来支撑。这样的话一份库存数据就有可能同时有多个应用来修改库存数据。比如说&#xff0c;有定时任务…

专为医疗领域打造!飞凌嵌入式新一代FDU显控一体机发布

飞凌嵌入式重磅推出一款专为医疗打造的显控一体机——FDU070K02 & FDU101K02。产品采用无外壳设计、支持戴医疗手套触摸&#xff0c;支持双屏同显或异显&#xff0c;兼顾场景灵活性与使用便捷性。 同时飞凌为用户提供开箱即用的硬件和操作系统&#xff0c;极大简化了开发流…

vue+element模仿电商商城,前后端分离实现,下单微信扫码支付

1.前言 接上一篇《vueelementSpringBootOAuth2Spring SecurityRedismybatis-plusmysqlswagger模仿商城&#xff0c;前后端分离实现》。 上篇文章介绍了&#xff1a; 用户注册用户登录首页商品推荐展览商品搜索商品分类按商品分类预览商品商品详情预览加入购物车 上一篇文章有…

【使用 BERT 的问答系统】第 5 章 :BERT模型应用:问答系统

&#x1f50e;大家好&#xff0c;我是Sonhhxg_柒&#xff0c;希望你看完之后&#xff0c;能对你有所帮助&#xff0c;不足请指正&#xff01;共同学习交流&#x1f50e; &#x1f4dd;个人主页&#xff0d;Sonhhxg_柒的博客_CSDN博客 &#x1f4c3; &#x1f381;欢迎各位→点赞…

arthars在线诊断

官网地址&#xff1a;https://arthas.aliyun.com/doc/quick-start.html#_6- 1.安装启动 curl -O https://arthas.aliyun.com/arthas-boot.jar java -jar arthas-boot.jar2.选择对应进程编号回车3.watch命令 官网命令文档&#xff1a;https://arthas.aliyun.com/doc/arthas-t…

[python][学习]循环与嵌套---打印乘法口诀

打印乘法口诀表 打印乘法口诀表 按照规律可以直接用一个for循环进行实现 加就是显示字符串&#xff0c;没有加就是直接计算或者显示 for i in range(1,10): print(i,*,1,,i*1,end ) print(i,*,2,,i*2,end ) print(i,*,3,,i*3,end ) print(i,*,4,,i*…