haiyux's blog

路漫漫其修远兮,吾将上下而求索。

0%

虚拟机准备 我这里准备了三台虚拟机,分别部署一个master和两个node,操作系统位ubuntu 20.04。以下为特殊说明为三台机器都要做此

概念 kratos 为了使http协议的逻辑代码和grpc的逻辑代码使用同一份,选择了基于protobuf的IDL文件使用proto插件生成辅助代码的方式

责任链模式 责任链模式是一种行为设计模式, 允许你将请求沿着处理者链进行发送。 收到请求后, 每个处理者均可对请求进行处理, 或将其传递给链上的下个处

适配器模式 适配器模式用于转换一种接口适配另一种接口。比如,现在有个借口是对json字符串进行分析等,现在有一些yaml文件也要分析,这时候我

单例模式 为什么要用单例模式 保证一个对象只有一个实例 ,减少内存开销。比如一些可以复用一个连接的网络,比如http2 client等,而且可以减少

error定义 数据结构 go语言error是一普通的值,实现方式为简单一个接口。 1// The error built-in interface type is the conventional interface for 2// representing an error condition, with the nil value representing no error. 3type error interface { 4 Error() string 5}

什么是DDD? DDD 是 Domain-Driven Design 的缩写。 其主要的思想是,我们在设计软件时,先从业务出发,理解真实的业务含义,将业务中的一些概念吸收到软件建模中来,避免

kratos命令行工具是什么? kratos tool 是微服务框架 kratos 的命令行工具,提供创建模板,编译protobuf 文件,运行项目等功能。 使用 下载 1go install github.com/go-kratos/kratos/cmd/kratos/v2@latest 查看是否

备注:这是一个 beta 版本的内容 这个教程介绍了 Go 泛型的基础概念。 通过泛型,你可以声明并使用函数或者是类型,那些用于调用代码时参数需要兼容多个不同类

macOS 全局 Command + Shift + P / F1 显示命令面板 Command + P 快速打开 Command + Shift + N 打开新窗口 Command + W 关闭窗口 基本 Command + X 剪切(未选中文本的情况下,剪切光标所在行) Command + C 复

net/http 路由注册 1func test1() { 2 http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) { 3 fmt.Fprintf(w, "Hello world!") 4 }) 5 err := http.ListenAndServe(":9001", nil) 6 if err != nil { 7 log.Fatal("ListenAndServer:", err) 8 } 9} 在使用ListenAndServe这个方法时,系统就会给我们指派

创建项目 首先需要安装好对应的依赖环境,以及工具: go 下载 protoc go install google.golang.org/protobuf/cmd/protoc-gen-go@latest protoc-gen-go go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@latest 1# 创建项目模板 2kratos new helloworld 3 4cd helloworld 5# 拉取项目依赖 6go mod download 7# 生成proto模板 8kratos proto

令牌桶算法 是一个存放固定容量令牌的桶,按照固定速率往桶里添加令牌。令牌桶算法的描述如下: 假设限制2r/s,则按照500毫秒的固定速率往桶中添

什么是隔离? 隔离,本质上是对系统或资源进行分割,从而实现当系统发生故障时能限定传播范围和影响范围,即发生故障后只有出问题的服务不可用,保证其