随笔分类 - go从入门到入土
摘要:kubernetes 虚拟机创建三个节点 这里略过. 网络模式用的hostonly 系统ubuntu 20.04 k8s install set -x #根据规划设置主机名(在3台机上分别运行) hostnamectl set-hostname master01 hostnamectl set-ho
阅读全文
摘要:一个go闭包使用上的小坑 无意间看到这样一串代码: m := make(map[int]int, 10) for i := 1; i<= 10; i++ { m[i] = i } for k, v := range(m) { go func() { fmt.Println("k ->", k, "v
阅读全文
摘要:go微服务框架kratos学习笔记八(kratos的依赖注入) [toc] 笔记二提过依赖注入,和如何生成,但没有细讲,本文来简单看看kratos的依赖注入。 什么是依赖注入 先来看一个小程序, 创建一个小程序模拟迎宾员问候客人的事件 我们将创建三个结构类型: 1)为迎宾员创建消息 message
阅读全文
摘要:go微服务框架kratos学习笔记七(kratos warden 负载均衡 balancer) [toc] 本节看看kratos的学习负载均衡策略的使用。 kratos 的负载均衡和服务发现一样也是基于grpc官方api实现的。 grpc官方的负载均衡自带了一个 轮询策略、即像一个for循环一样挨个
阅读全文
摘要:go笔记 几个例子理解context的作用 [toc] 经常在http框架里面看到一个context参数,它是做什么的呢,先简单看看它的定义。 context interface go func deadline1() { d := time.Now().Add(1200 time.Millisec
阅读全文
摘要:go微服务框架kratos学习笔记六(kratos 服务发现 discovery) [toc] 除了上次的warden直连方式外,kratos有另一个服务发现sdk : "discovery" discovery 可以先简单理解为一个http服务、 它最简单的发现过程可能是这样的: 1、servic
阅读全文
摘要:go笔记 rpc和grpc使用 [toc] rpc RPC(Remote Procedure Call,远程过程调用)是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络细节的应用程序通信协议。RPC协议构建于TCP或UDP,或者是HTTP上。允许开发者直接调用另一台服务器上的程序,而开发
阅读全文
摘要:@[toc] json包实现了json对象的编解码,参见RFC 4627。Json对象和go类型的映射关系主要通过Marshal和Unmarshal函数实现 Marshal func Marshal(v interface{}) ([]byte, error) Marshal函数返回v的json编码
阅读全文