-
Go:grpc
所属栏目:[大数据] 日期:2021-05-21 热度:174
-
grpc go安装教程
所属栏目:[大数据] 日期:2021-05-21 热度:148
-
ScalaPB(3): gRPC streaming
所属栏目:[大数据] 日期:2021-05-21 热度:183
-
ScalaPB(2): 在scala中用gRPC实现微服务
所属栏目:[大数据] 日期:2021-05-21 热度:152
-
使用命名管道承载gRPC
所属栏目:[大数据] 日期:2021-05-21 热度:156
最近GRPC很火,感觉整RPC不用GRPC都快跟不上时髦了。 gRPC设计 gRPC是一种与语言无关的高性能远程过程调用 (RPC) 框架。刚好需要使用一个的RPC应用系统,自然而然就盯上了它,但是它真能够解决所有问题吗?不见得,先看看他的优点: gRPC的主要优点: 现代高[详细]
-
ASP.NET Core 3.0 上的gRPC服务模板初体验(多图)
所属栏目:[大数据] 日期:2021-05-21 热度:182
早就听说ASP.NET Core 3.0中引入了gRPC的服务模板,正好趁着家里电脑刚做了新系统,然后装了VS2019的功夫来体验一把。同时记录体验的过程。如果你也想按照本文的步骤体验的话,那你得先安装.NET Core3.0预览版的SDK。至于开发工具我用的时VS2019,当然你也可[详细]
-
进行API开发选gRPC还是HTTP APIs?
所属栏目:[大数据] 日期:2021-05-21 热度:94
上一篇文章我带着大家体验了一把《ASP.NET Core 3.0 上的gRPC服务模板初体验(多图)》,如果有兴趣的可以点击链接进行查看,相信跟着做的你,也是可以跑起来的。这篇文章我们将一起来探讨下gRPC服务如何与HTTP APIs进行比较。用于为应用程序提供API的技术是一[详细]
-
一个新实验:使用gRPC-Web从浏览器调用.NET gRPC服务
所属栏目:[大数据] 日期:2021-05-21 热度:182
今天给大家翻译一篇由ASP.NET首席开发工程师James Newton-King前几天发表的一篇博客,文中带来了一个实验性的产品gRPC-Web。大家可以点击文末的讨论帖进行相关反[详细]
-
gRPC学习小札
所属栏目:[大数据] 日期:2021-05-21 热度:50
gRPC 前言 为什么使用gRPC 传输协议 传输效率 性能消耗 gRPC入门 gRPC流 证书认证 使用根证书 gRPC实现token认证 和Web服务共存 验证器 REST接口 grpcurl工具 查看服务列表 查看某个服务的方法列表 查看某个服务的描述信息 获取类型信息 测试请求 参考 gRPC[详细]
-
go中的无限极分类的问题
所属栏目:[大数据] 日期:2021-05-21 热度:65
最近在开发的过程中遇到一个无限极分类的问题,这种问题在PHP中写过很多,想着很简单,3-5分钟就能解决,结果竟然写了半小时,既然这样,就把这个给总结下。 思路 1、循环数据,放到hash中,把标识的数据作为key。 2、处理数据,循环数据,通过hash的查找拼[详细]
-
go语言学习--map的并发
所属栏目:[大数据] 日期:2021-05-21 热度:59
go提供了一种叫map的数据结构,可以翻译成映射,对应于其他语言的字典、哈希表。借助map,可以定义一个键和值,然后可以从map中获[详细]
-
go语言学习--处理map的无序输出
所属栏目:[大数据] 日期:2021-05-21 热度:73
最近工作中遇到了这样的一个场景,需要处理一个无限极分类的问题,对于数据结构的定义首先想到了,map,map[int]map[int]struct。通过两层map的定义归类parent_id和id的关系,然后有个递归进行数据的绑定处理。想想就开心,map确实好用,虽然不是并发安全,[详细]
-
go语言学习--map类型的切片
所属栏目:[大数据] 日期:2021-05-21 热度:75
今天在项目中遇到了一个切片的map,记录下map切片的使用 1 package main 2 3 import " fmt " 4 5 func main() { 6 7 // Version A: 8 items := make([]map[ string ] int , 5 ) 9 for i := range items { 10 items[i] = make(map[ 1 11 items[i][ num " ] =[详细]
-
go中defer的理解--defer、return、返回值之间执行顺序
所属栏目:[大数据] 日期:2021-05-21 热度:91
defer可以读取有名返回值 func c() (i int ) {defer func() { i ++ }() return 1 } 输出结果是2. 在开头的时候,我们知道defer是在return调用之后才执行的。 这里需要明确的是defer代码块的作用域仍然在函数之内,结合上面的函数也就是说,defer的作用域仍然[详细]
-
GO中DEFER的理解--DEFER执行的原理
所属栏目:[大数据] 日期:2021-05-21 热度:94
在golang当中,defer代码块会在函数调用链表中增加一个函数调用。这个函数调用不是普通的函数调用,而是会在函数正常返回,也就是return之后添加一个函数调用。因此,defer通常用来释放函数内部变量。 为了更好的学习defer的行为,我们首先来看下面一段代码:[详细]
-
go语言学习--go中的map切片
所属栏目:[大数据] 日期:2021-05-21 热度:143
//定义一个结构type Car struct { Brand string Age int}func Pluck() map[int][]Car { carMap := make(map[int][]Car) carArr := make([]Car,0) carArr = append(carArr,Car{ Brand: "audi",Age: 1,}) carMap[1] = carArr //如果存在键,则添追加数据 child,[详细]
-
指针数组和数组指针
所属栏目:[大数据] 日期:2021-05-21 热度:169
数组指针(也称行指针) 定义 int (*p)[n]; ()优先级高,首先说明p是一个指针,指向一个整型的一维数组,这个一维数组的长度是n,也可以说是p的步长。也就是说执行p+1时,p要跨过n个整型数据的长度。 如要将二维数组赋给一指针,应这样赋值: int a[ 3 ][ 4[详细]
-
go语言学习--channel的关闭
所属栏目:[大数据] 日期:2021-05-21 热度:100
在使用Go channel的时候,一个适用的原则是 不要从接收端关闭channel,也不要在多个并发发送端中关闭channel 。换句话说,如果sender(发送者)只是唯一的sender或者是channel最后一个活跃的sender,那么你应该在sender的goroutine关闭channel,从而通知receiv[详细]
-
go语言学习--go中闭包
所属栏目:[大数据] 日期:2021-05-21 热度:171
关于闭包有句话说的很好,闭包捕获的变量和常量是引用传递不是值传递。 Go语言支持匿名函数,即函数可以像普通变量一样被传递或使用。 使用方法如下: package mainimport ( "fmt")func main() { var v func(a int) int v = func(a int) int { return a * a[详细]
-
go语言学习--指针的理解
所属栏目:[大数据] 日期:2021-05-21 热度:136
Go 的原生数据类型可以分为基本类型和高级类型,基本类型主要包含 string, bool, int 及 float 系列,高级类型包含 struct,array/slice,map,chan,func 。?相比 Java,Python,Javascript 等引用类型的语言,Golang 拥有类似C语言的指针这个相对古老的特[详细]
-
go语言学习--protobuf的学习
所属栏目:[大数据] 日期:2021-05-21 热度:67
最近在学习中遇到了protobuf,哇喔竟然不知道,马上进行了学习,protobuf也是数据解析的方式,平时使用最多的是json和xml,那么好了,对比下他们的区别,并且附上protobuf的使用。 数据交互xml、json、protobuf格式比较 1、json: 一般的web项目中,最流行的[详细]
-
go语言学习--go的临时对象池--sync.Pool
所属栏目:[大数据] 日期:2021-05-21 热度:113
一个sync.Pool对象就是一组临时对象的集合。Pool是协程安全的。 Pool用于存储那些被分配了但是没有被使用,而未来可能会使用的值,以减小垃圾回收的压力。 一个比较好的例子是fmt包,fmt包总是需要使用一些[]byte之类的对象,golang建立了一个临时对象池,存[详细]
-
go语言学习--string、int、int64互相转换,字符串的截取,数组和
所属栏目:[大数据] 日期:2021-05-21 热度:51
下面总结了go中常用的转换 #string到int int ,err:=strconv.Atoi( string ) #string到int64 int64,err := strconv.ParseInt( string , 10 ,1)">64 ) #int到string string :=strconv.Itoa( int ) #int64到string string :=strconv.FormatInt(int64,1)">10 ) #[详细]
-
go语言学习--go中godep的使用小结
所属栏目:[大数据] 日期:2021-05-21 热度:50
?go中的godep 本文参考:http://www.cnblogs.com/me115/p/5528463.html#h20 http://studygolang.com/articles/4385 关于Godep 发现好多golang项目都使用到godep作为包管理的工具,像比较大型的项目,比如kubernetes这种,都是使用的是godep来进行依赖管理操[详细]
-
if else和switch case那个效率更高一点
所属栏目:[大数据] 日期:2021-05-21 热度:95
switch...case写法: switch (表达式){ case 值1 : 语句1 break ; case 值2 : 语句2 ; ... default : 语句n ; } if...else写法: if (boolean){ } else else { } 由此看来,switch有点以空间换时间的意思,而事实上也的确如此。 1.当分支较多时,当时用switc[详细]