gRPC是google开源高性能分布式RPC框架,支持http/2 双向数据流传输及Protobuff,可以在任何环境下运行. 它可以有效地将数据中心内和跨数据中心的服务与可插拔支持进行负载均衡,跟踪,运行状况检查和身份验证. 它也适用于分布式计算,将设备,移动应用程序和浏览器连接到后端服务. 核心功能: 10种语言的语言客户端库 高效的线路和简单的服务定义框架 基于http / 2传输的双向流式传输 可插入的身份验证,跟踪,负载平衡和健康检查 主要使用场景: 在微服务式架构中有效地连接多点服务…
buidmod为c-archive能在window下生成 ,c-shared则不行 1.golang生成c-archive静态库 main.go package main import "C" func main() {} //export Hello func Hello() string { return "Hello" } //export Test func Test() { println("export Test") } bd.bat…
目录 gRPC概述 RPC gRPC又是什么呢 安装 Golang IDE(Goland) Protocol Buffer 下载Protocal Buffer 配置Protocal Buffer编译器环境变量 protoc-gen-go 下载protoc-gen-go 定义Protocal Buffer 添加gRPC服务 Golang服务端实现 Golang客户端实现 .NetCore访问Golang搭建的gRPC服务 参考 gRPC概述 RPC 说到gRPC就不得不提RPC,所谓RPC(rem…
golang是一门简洁高效的开发 语言,但是包管理一直是一个痛点,如图 : 很多开源项目特别是github.com中的大量应用golang.org和google.golang.org中的源码,且由于被墙的原因也会导致各种不顺利,复制GOPATH里内容在团队人比较多的时候较复杂 包之前关系复杂,无法确切的知道自己包里引用哪些项目源,甚至可能有 一些被误删导致的问题 无法准确管理引用包源的版本,可能会导致一些项目编译不通过 不像java里有maven或者jar.donet里有dll文件等等,让使用方…
tip:使用简单的例子来制作一个使用指南过程,默认文件夹为demo.看了3个早晨,写一下留个记录,可能有些不成熟,如有错误欢迎指正. 参考一:http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000 一.一幅图和一些概念 图1-1是理解你所做的任何操作的一个图 红色字体1(红1)是代表工作区,下例就是demo文件夹和里边的文件 红色字体2(红2)和3(红3)是版本库,红2是暂存区,红3是主…
1.RPC 1.1 什么是RPC RPC(Remote Procedure Call),即远程过程调用,过程就是方法,简单来说,它就是一种能够像调用本地方法一样调用远程计算机进程中的方法的技术,在这种调用中,我们不需要了解任何网络通信的细节(当然,就使用来说) 最终解决的问题:让分布式或者微服务系统中不同服务之间的调用像本地调用一样简单 1.2 RPC和HTTP 调用远程服务,HTTP 就可以完成的任务,为什么还需要 RPC 呢?需要注意,这两个并不是同一层次的概念,HTTP 是一种传输协议,R…
grpc简介 gRPC由google开发,是一款语言中立.平台中立.开源的远程过程调用系统 gRPC客户端和服务端可以在多种环境中运行和交互,例如用java写一个服务端,可以用go语言写客户端调用 grpc和protobuf介绍 微服务架构中,由于每个服务对应的代码库是独立运行的,无法直接调用,彼此间的通信就是个大问题 gRPC可以实现微服务,将大的项目拆分为多个小且独立的业务模块,也就是服务,各服务间使用高效的protobuf协议进行RPC调用,gRPC默认使用protocol buffers…
一.window下新建安装(参考书籍:<python编程:从入门到实践>) 新建一个文件夹 learning_log ,在终端中切换到该目录下,并创建一个虚拟工作环境,运行模块 venv 创建名为 ll_env 的虚拟环境(虚拟环境:系统的一个位置,可在其中安装包,与其他python包隔离.)python 3下的命令. 激活虚拟环境,运行脚本 activate ,处于活动状态下可安装包并使用已安装的包.(Linux下激活: source ll_env/bin/activate ) 安装Djan…
一直专注于使用python语言进行程序开发,但是却又一直被它的性能问题所困扰,直到遇到了天生支持高并发的Golang,这似乎也成了学习go语言最理所当然的理由.下面介绍下Go语言开发环境搭建的步骤: 一.window下配置golang开发环境 1.Go标准包下载地址: https://golang.org/dl/ Go环境变量与工作目录 根据约定,GOPATH下需要建立3个目录: * bin(存放编译后生成的可执行文件) * pkg(存放编译后生成的包文件) * src(存放项目源码) go命令…
 配置QT的环境变量,这台电脑à属性à高级系统设置à高级à环境变量à系统变量àpathàC:\Qt\Qt5.3.0\5.3\mingw482_32\bin;C:\Qt\Qt5.3.0\Tools\QtCreator\bin 创建一个QT项目:winAndLinuxMyUdpProject项目 改动QT的项目文件,改动winAndLinuxMyUdpProject.pro文件: 注意,这的的:LIBS+= -lWs2_32  ##标示使用window下的Ws2_32.lib.-l表示要链接后面…