前面我们完成了一个CQRS模式的数据采集(录入)平台。可以预见:数据的产生是在线下各式各样的终端系统中,包括web、桌面、移动终端。那么,为了实现一个完整的系统,必须把前端设备通过某种网络连接形式与数据采集平台集成为一体。有两种方式可以实现需要的网络连接:Restful-api, gRPC。由于gRPC支持http/2通讯协议,支持持久连接方式及双向数据流。所以对于POS设备这样的前            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-05-14 17:30:35
                            
                                272阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            exportfs命令exportfs命令是和nfs-utils包一起安装的。它的应用场景:当第一次配置了nfs的共享目录,之后需要增加机器或者共享的目录,就需要首先更改配置文件,然后再重启NFS服务,但是远程客户端正在使用NFS服务的情况下,如果这时要停止NFS服务,那么远程的服务端就会挂起。这样影响比较大。假如 一台机器A开启了NFS服务,分享了某个目录,另一台机器B正在使用(读写)该目录,那么            
                
         
            
            
            
            本文包括两方面: 1,grpc如何设置连接存活时间 2,如何在服务端检测连接是否存活目录背景分析服务端实现客户端如何实现背景你不希望这个连接一直存活下去,到了一定时间想让其强制关闭 或者是担心客户端异常退出但服务端无法感知时,服务端会认为客户端依旧存在,这时候就需要服务端主动持续进行健康检查。分析源码中有这样一个结构体:// ServerParameters is used to set keep            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-03-28 08:43:05
                            
                                170阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            文章目录gRPC安全连接单向TLS安全连接basic 认证OAuth 2.0认证JWT认证gRPC测试服务端测试客户端测试gRPC部署部署docker部署k8s健康检查健康探针 gRPC安全连接单向TLS安全连接服务端var (
  port = ":50051"
  crtFile = "server.crt"
  keyFile = "server.key"
)
func main() {            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-08-05 17:37:49
                            
                                32阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            前言上面提到的这些基础知识,不是本文的重点。所以建议小伙伴们先读上面两篇,再读这篇,体验更好哦。这篇文章将重点介绍在微服务中gRPC的使用:开发流程在微服务分布式架构中开发gRPC其实非常简单,不要畏难畏烦,没有什么心智负担的。开发gRPC的流程和宋丹丹把大象装冰箱是一样的:把冰箱门打开把大象装进去把冰箱门关上开发gRPC的流程;写proto文件定义服务和消息使用protoc工具生成代码编写业务逻            
                
         
            
            
            
            什么叫着rpc(Remote Procedure Call)?,字面意思远程过程调用,简单的理解是一个节点请求另一个节点提供的服务。本地调用远程的接口整个过程就像调用本地接口一样。当然中间少不了客户端与服务端的通信,消息数据的序列化与反序列化。 gRPC是Google的RPC框架,开源、高性能、跨语言,基于HTTP/2通讯协议和Protocol Buffer 3数据序列化协议。过程如下图            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-05-07 22:10:09
                            
                                384阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            概述gRPC作为通用RPC框架,内置了拦截器功能。包括服务器端的拦截器和客户端拦截器,使用上大同小异。主要作用是在rpc调用的前后进行额外处理。从客户端角度讲,可以在请求发起前,截取到请求参数并修改;也可以修改服务器的响应参数。示例以下写一个简单的示例来描述具体的功能实现。以Go语言为例,其它语言的gRPC库应该也有类似功能,具体请参考文档。为使示例简单,简化了对错误的处理。并且只展示了部分代码,            
                
         
            
            
            
            grpc 是什么?A high-performance, open-source universal RPC framework。(这是官网对它的介绍)所谓RPC(remote procedure call 远程过程调用)框架实际是提供了一套机制,使得应用程序之间可以进行通信,而且也遵从server/client 模型。使用的时候客户端调用server端提供的接口就像是调用本地的函数一样。下图就是            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-04-13 07:49:47
                            
                                150阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            后端的服务间通常采用固定的协议&rpc框架通信,当前主流的方案是以protobuf协议为基础,采用grpc进行通信,这种方式在Golang的开发中尤其突出。因此,笔者决定做一个小的golang应用来踩坑protobuf+grpc编码模式,上传到github分享——这便是protobuf-grpc-starter。protobuf-grpc-starter主要受到了PasteBin的启发,用            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-05-15 08:59:09
                            
                                65阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            RPC——Remote Procedure Call Protocol,这是广义上的解释,远程过程调用。但是,我接下俩要说的是应用层面的,而不是所谓协议层面的。上一篇文章讲到的互联网中一般都会涉及都这部分技术,那么一般学习都会基于 “Scrum 模式”(LZ 自创模式,非正式^_^)去思考——是什么?干嘛用的?有什么好处?LZ自认为万物围绕上面三个问题,一般就会深入展开学习,才是最有效率最能代表诉            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-06-18 04:22:17
                            
                                94阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            带入gRPC:gRPC Deadlines项目地址:https://github.com/EDDYCJY/go...前言在前面的章节中,已经介绍了 gRPC 的基本用法。那你想想,让它这么裸跑真的没问题吗?那么,肯定是有问题了。今天将介绍 gRPC Deadlines 的用法,这一个必备技巧。内容也比较简单DeadlinesDeadlines 意指截止时间,在 gRPC 中强调 TL;DR(Too            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-06-10 00:18:37
                            
                                80阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            如有帮助,欢迎留下足迹哦!详情如下code = Unavailable desc = connection error: desc = "transport: Error while dialing dial tcp 192.168.31.33:9001:  connectex: No connection could be made because the target machine            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-05-31 19:32:25
                            
                                175阅读
                            
                                                                             
                 
                
                             
         
            
            
            
             文章目录截止时间简介程序示例命名解析器简介程序示例 截止时间简介在分布式计算中,截止时间(deadline)和超时时间(timeout)是两个常用的模式。超时时间可以指定客户端应用程序等待 RPC 完成的时间(之后会以错误结束),它通常会以持续时长的方式来指定,并且在每个客户端本地进行应用。例如,一个请求可能会由多个下游 RPC 组成,它们会将多个服务链接在一起。因此,可以在每个服务调用上,针对            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-04-26 17:46:57
                            
                                84阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            gRPC健康检查gRPC提供健康检查机制,允许服务器应用程序发出他们的状态信号给对应的客户端,而不会断开与客户端的连接。例如,当服务器本身已经启动,但是它依赖的另一个服务不可用,该业务场景就可以使用健康检查机制。健康检查机制通常结合负载均衡机制配套使用,当检查到后端服务状态异常时,选择正常的Node节点,进行RPC调用,知道异常Node节点正常为止。注意: 健康检查机制需要服务名称,所以客户端需要            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-03-27 06:02:00
                            
                                306阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            前言在分布式高并发服务器中,client到server以及server中的多个节点之间的连接往往使用连接池来管理。简单来说就是将提前创建好的连接保存在池中,当有请求到来时,直接使用连接池中的连接对server端访问,省去了创建连接和销毁连接的开销(TCP建立连接时的三次握手和释放连接时的四次挥手),从而提高了性能。目录设计原则基本原理GRPC特性GRPC调优实现细则延伸阅读设计原则连接池的扩缩容空            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-08-28 10:54:46
                            
                                753阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            前言 上一篇对Dapr进行了了解,并搭建了Dapr环境。接下来就对Dapr的各个构建块类型的了解、应用实际案例。一、服务调用: 在许多具有多个需要相互通信的服务的环境中,都会面临着很多问题。 如:维护其他服务的地址。如何安全地调用服务。在发生短暂的 暂时性错误 时如何处理重试。分布式应用程序调用链路追踪。 服务调用构建块通过使用 Dapr 挎斗作为服务的 反向代理 来解决这些难题。 调用逻辑: 服            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-04-07 23:02:14
                            
                                98阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            1 技术方案1.1 限流/熔断开关和阈值在ETCD中配置在公共包go-common中封装一个方法,在ETCD中设置限流/熔断开启/关闭的开关,将父类context传递进去,读取环境变量,开关开启则进行限流和熔断(限流/熔断阈值写死,从环境变量中读取)优点:目标明确,工作量、技术实现可预知缺点:需要人为开启/关闭限流、熔断开关,限流/熔断阈值固定,必须达到该阈值才会触发,不够灵活1.2 根据打点统计            
                
         
            
            
            
            浅议C#客户端和服务端通信的几种方法:Rest和GRPC在C#客户端和C#服务器之间进行通信的方法有很多。一些功能强大,而其他功能则不是很多。有些非常快,有些则不是。知道不同的选择很重要,这样您才能决定最适合自己的选择。本文将介绍当今最流行的技术,以及为何如此广泛地使用它们。我们将讨论REST,gRPC及其两者之间的所有内容。最佳方案让我们考虑一下我们希望如何在最佳环境中使客户端与服务器之间的通信            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-07-29 19:11:41
                            
                                125阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            5.2 grpc接口对接学习目标目标 
  无应用 
  无5.2.1 头条推荐接口对接请求参数:feed流推荐:用户ID,频道ID,推荐文章数量,请求推荐时间戳相似文章获取:文章ID,推荐文章数量返回参数:feed流推荐:曝光参数,每篇文章的所有行为参数,上一条时间戳# 埋点参数参考:
# {
#     "param": '{"action": "exposure", "userId": 1,            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-07-10 17:53:07
                            
                                67阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            心跳与断线重连主要解决客户端连接时出现的三种问题:(1)client初次连接失败,需要重连(2)server进程关闭,client检测tcp断开重连(3)server断电,client通过心跳检测重连(注:所有情况都默认是在单一server的情况下实现的,即暂时不考虑多服务器多channel的负载均衡实现)一、client初次连接失败,需要重连使用ConnectionListenerb.conne