gRPC简介gRPC 是一个高性能、开源、通用的RPC框架,由Google推出,基于HTTP/2协议标准设计开发,默认采用Protocol Buffers数据序列化协议,支持多种开发语言。gRPC提供了一种简单的方法来精确的定义服务,并且为客户端和服务端自动生成可靠的功能库。在gRPC客户端可以直接调用不同服务器上的远程程序,使用姿势看起来就像调用本地程序一样,很容易去构建分布式应用和服务。和很多
转载
2024-04-10 10:45:12
21阅读
Grpc原理GRPC 是谷歌推出的一个高性能、开源和通用的 RPC 框架,面向服务端和移动端,基于 HTTP/2 设计。rpc框架rpc全称是Remote Procedure Call,即远程调用服务器的方法,它将服务器端的请求变成了本地方法调用。其屏蔽底层的传输方式(TCP/UDP)、序列化方式(XML/Json/ 二进制)和通信细节。可以看成是对数据的传输、序列化以及通信做了一层封装。服务调用
转载
2024-07-28 11:23:53
72阅读
# 用Docker部署gRPC项目
## 介绍
在现代软件开发中,微服务架构已经成为主流趋势。gRPC是一种高性能、开源的RPC框架,它可以帮助我们在不同的服务之间进行通信。而Docker是一种轻量级的容器化技术,可以帮助我们将应用程序和所有依赖项打包到一个容器中,实现应用的快速部署和管理。
本文将介绍如何使用Docker部署一个简单的gRPC服务器项目,并提供代码示例以帮助读者理解。
#
原创
2024-05-01 06:22:01
331阅读
总说自己是做web开发的,但是却对http协议一无所知,有些许惭愧,前几天比较闲,就研究了一下http协议和web服务器,用java做了一个简单的web服务器,当然太简单了,只能做个理解使用。不过还是可以返回html的。可以接受简单的访问。有兴趣的可以看看。欢迎交流!
/**
* 用Java语言实现HTTP服务器,首先启动一个java.net.Serv
转载
2024-09-27 21:04:52
28阅读
一、为什么要进行服务注册与发现?之前的demo只是实现了一个服务消费方对一个服务提供方点对点的服务调用,显然没有做到服务的高可用。那么该如何改进呢?思路就是由多个服务提供方提供服务,而每次服务消费方请求服务时就先从这多个服务提供方中筛选出一个可用的服务提供方。 为了解耦服务的消费方和提供方,可以在两者中间安放一个叫“注册中心”的中介方,专门用来维护服务注册表(即服务节点的访问地址列表)。它可以供服
转载
2024-10-16 10:26:07
29阅读
代码仓库 网络通信相关代码请查下以下链接(https://github.com/sydnash/lotou/tree/master/network/tcp)目前网络通信只实现了基于go的tcp的通信。go的tcp相关的主要接口net.JoinHostPort 将一个host和port组成一个合法的网络地址(host:port)net.ResolveTCPAddr 讲一个string类型的网络地址
转载
2024-07-11 23:03:19
48阅读
作者近期在写一个项目时遇到了这样的需求:调用一个库API函数,函数内部又会拉起若干个后台goroutine。这时后台goroutine如果遇到错误想要及时通知库的使用者将不会是一件容易的事情,因为这是一个异步通知error的方法。作者最终的解决方案概括为:使用者另启一个goroutine监听Err channel,库后台goroutine出现的错误将直接发送至Err channel中。作者以自己项
云应用开发者应该仔细选择IaaS平台。为了帮助你做出正确的选择,下面是对在GCE上部署云应用的利弊分析。云应用开发者应该在选择一个用于开发和部署云应用的基础架构即服务(IaaS)平台之前做好功课。选择错误的平台可能会导致不可预测的定价和计费模式,限制开发语言,限制操作系统的选择,几乎无法帮助客户履行合规性要求,并无法提供足够的安全性。让我们来看看在一个比较流行的IaaS平台:谷歌计算引擎(GCE)
转载
2024-08-24 16:35:03
36阅读
多线程+同步阻塞模型在我们的游戏项目中使用的golang服务器开发方式如下1.多线程逻辑2.同步阻塞. 也就是说, 每个人一个线程(goroutine), io线程=逻辑线程这种方式的优点:1. 同步阻塞方式与人的思维方式类同2. 逻辑处理性能有一定提升在大规模使用这种模式编写逻辑后, 我们发现了这种模式只有1个缺点: 编写者需要处理多线程关系但这本身确实直接致命的, 回想C++时代, 多线程处理
用Go语言实现推送服务器用Go语言实现推送服务器陈叶皓 chen.yh@议程• 推送服务器介绍• Golang特点• 推送服务架构• 部分代码• 上线效果议程• 推送服务器介绍• 推送服务架构• 部分代码• 上线效果什么是推送服务器• 推送业务信息到手机端• 始终保持连接推送服务器要求• 高并发• 可靠性• 高性能• 支持水平扩展• 无单点故障Go语言特性• 静态的、编译的• 自动内存回收• 命令
转载
2024-04-30 19:22:24
71阅读
之前我们如果使用 protobuf : 现在我们使用protobuf作为数据流,搭建grpc服务器和客户端目录结构如下: 项目根目录是 grpc grpc的目录结构 ├── protobuf &nb
转载
2024-04-08 11:58:37
215阅读
RPC在学习gRPC时,我们需要先了解RPC(远程过程调用)RPC 是一种技术思想而非一种规范或协议RPC是指远程过程调用比如:两台服务器A,B。一个应用部署在A服务器上,A服务器中想要调用B服务器上的应用提供的函数/方法,但是不在一个内存空间,所有不能直接调用,需要通过网络来表达调用的语义和传达调用的数据。RPC框架:实现RPC需要解决的问题序列化与反序列化将传递的参数值进行传送给远程的程序。本
转载
2023-10-16 15:22:33
78阅读
RPC算是近些年比较火热的概念了,随着微服务架构的兴起,RPC的应用越来越广泛。本文介绍了RPC和gRPC的相关概念,并且通过详细的代码示例介绍了gRPC的基本使用。RPC是什么在分布式计算,远程过程调用(英语:Remote Procedure Call,缩写为 RPC)是一个计算机通信协议。该协议允许运行于一台计算机的程序调用另一个地址空间(通常为一个开放网络的一台计算机)的子程序,而程序员就像
转载
2024-07-01 16:18:32
61阅读
gRPC简介gRPC 是一个高性能、开源、通用的RPC框架,由Google推出,基于HTTP2协议标准设计开发,默认采用Protocol Buffers数据序列化协议,支持多种开发语言。gRPC提供了一种简单的方法来精确的定义服务,并且为客户端和服务端自动生成可靠的功能库。在gRPC客户端可以直接调用不同服务器上的远程程序,使用姿势看起来就像调用本地程序一样,很容易去构建分布式应用和服务。和很多R
转载
2024-03-25 15:05:20
89阅读
python `网络编程`和其他语言都是一样的,服务器这块步骤为:`1. 创建套接字``2. 绑定地址``3. 监听该描述符的所有请求``4. 有新的请求到了调用accept处理请求`Python Web服务器网关接口(Python Web Server Gateway Interface,简称`“WSGI”`),可以保证同一个服务器响应不同应用框架的请求,WSGI的出现,让开发者可以将网络框架与
转载
2023-05-23 20:51:36
121阅读
1.服务器部署。 部署为每个服务器程序都编写服务所提供的所有功能:通过两次fork()创建一个Unix守护进程或是将自己注册为一个Windows服务,安排进行系统级的日志操作,支持配置文件以及提供启动、关闭、和重启的相关机制。 ps:fork()函数通过系统调用创建一个与原来进程几乎完全相同的进程,也就是两个进程可以做完全相同的事,但如果初始参数或者传入的变量不同,两个进程也可以做不同的事。十二要
转载
2024-05-16 19:35:46
31阅读
# gRPC 服务器推送 Java 示例
## 引言
gRPC 是一个高性能、跨语言的 RPC 框架,支持多种语言,包括 Java。在 gRPC 中,服务器可以主动向客户端推送消息,实现了实时通信的功能。本文将介绍如何在 Java 中实现 gRPC 服务器推送的功能,并提供一个简单的示例代码。
## gRPC 服务器推送实现原理
在 gRPC 中,服务器端可以使用 ServerPushOb
原创
2024-06-04 07:26:18
207阅读
# Java gRPC 服务器流模式
在使用Java进行网络编程时,gRPC是一种非常流行的开发框架。它基于HTTP/2协议,提供了高效的远程过程调用功能。其中,服务器流模式是一种常见的通信模式,它允许服务器向客户端发送多个消息。
## 什么是服务器流模式?
服务器流模式是指服务器向客户端发送多个消息的通信模式。在gRPC中,客户端发送请求到服务器,服务器收到请求后可以向客户端发送多个响应消
原创
2024-06-22 06:28:15
32阅读
北半球的冬意已至,黄叶与气温均随风而落。年终的最后一个 Flutter 稳定版本 已悄然来到你的面前。让我们向 Flutter 2.8 打声招呼~本次更新包含了 207 位贡献者和 178 位审核者 的辛勤劳作,所有人共同产出了 2424 个 PR,关闭了 2976 个 issue。在此特别感谢本次发布中最突出的社区贡献者: 来自 VGV 的 Flutter 开发工程师 Bartosz Selwe
转载
2024-02-27 21:52:10
74阅读
HTTP协议的默认端口号为“80”,可以通过HTTP地址(即常说的“网址”)加“:80”来访问网站;但因为浏览网页服务默认的端口号都是80,因此可以省略,只需输入网址即可,不用输入“:80”了。本教程操作环境:windows7系统、Dell G3电脑。HTTP协议的默认端口号为“80”。"端口"是英文port的意译,可以认为是设备与外界通讯交流的出口。端口可分为虚拟端口和物理端口,其中虚拟端口指计
转载
2024-10-03 13:37:05
43阅读