随笔分类 - Golang
摘要:面云账户时候问了LRU,具体实现的方式是map+双链表。Set和Get的时间复杂度都是O(1)。完整写一遍复习一下, 仅作记录 /** * @Author: lzw5399 * @Date: 2021/5/20 22:28 * @Desc: 基于map和双链表实现的LRU算法 */ package
阅读全文
摘要:面UCloud的时候问到了这题,下来看了一下是基于观察者模式实现的,仅作记录 /** * @Author: lzw5399 * @Date: 2021/5/20 20:38 * @Desc: 基于观察者模式实现的订阅发布 */ package main import ( "errors" "fmt"
阅读全文
摘要:1. protobuf相关依赖安装 2. 改造之前的client 2.1 新建proto文件 2.2 运行protoc命令生成go文件 2.3 然后把原来的map修改成具体的类型就可以了 3. 处理json tag不一致的问题 1. protobuf相关依赖安装 第一步:下载grpc通用编译器 如下
阅读全文
摘要:1. gRPC提供HTTP服务 1.1 存在的意义 1.2 代码示例 1.3 使用postman尝试调用 1.4 gRPC客户端代码调用 2. 使用grpc-gateway同时提供HTTP和gRPC服务 2.1 前言 2.2 安装 2.3 目录结构 2.4 示例代码 2.4.1 编写proto描述文
阅读全文
摘要:1. 前言 2. 生成自签证书 2.1 MAC生成自签证书的教程链接: 2.2 Windows生成自签证书的教程 3. 改造服务端使用自签证书 3.1 复制证书至代码下 3.2 改造代码添加证书认证 3.1 运行代码并查看客户端的访问错误 4. 改造客户端代码(单向认证) 4.1 复制公钥给客户端
阅读全文
摘要:1. 前言 2. gRPC与Protobuf简介 3. 安装 4. 中间文件演示 4.1 编写中间文件 4.2 运行protoc命令编译成go中间文件 5. 创建gRPC服务端 5.1 新建Product.protoc 5.2 运行protoc命令 5.3 实现RegisterProdService
阅读全文
摘要:1. 关于服务调用 2. 基本方式调用服务 3. 服务调用正确姿势(初步) 3.1 服务端代码 3.2 客户端调用(重要) 1. 关于服务调用 这里的服务调用,我们调用的可以是http api也可以是gRPC等。主要意思就是调用我们从consul获取到的服务的API。 下面的所有示例以RESTful
阅读全文
摘要:1. 服务注册 1.1 代码演示 1.2 在go run的时候传入服务注册的参数 2. 服务发现均衡负载 2.1 均衡负载算法 2.2 服务发现均衡负载的演示 1. 服务注册 1.1 代码演示 还是跟上一篇:go微服务(一) - go micro入门一样使用consul package main i
阅读全文
摘要:1. 什么是go micro 1.1 go micro作用 1.2 go micro架构组成 2. go micro入门 3. 结合consul进行服务注册/发现 3.1 consul的安装 3.2 服务注册代码示例 3.2 服务发现代码示例 1. 什么是go micro 1.1 go micro作
阅读全文
摘要:1. 前言 2. 不需要cgo情况下的最佳实践 3. 依赖cgo情况下的最佳实践 1. 前言 这几天在构建golang编写的web项目中,关于dockerfile编写的一些总结 可能是单纯我比较菜(大雾 由于go应用在go build之后会生成一个二进制文件,且Go宣称自己只需要Linux内核 大多
阅读全文