摘要: 单例模式 为什么要用单例模式 保证一个对象只有一个实例 ,减少内存开销。比如一些可以复用一个连接的网络,比如http2 client等,而且可以减少网络开销。 为什么不用个全局变量控制 因为任何代码都有可能覆盖掉那些变量的内容, 从而引发程序崩溃。 代码实现 package main import 阅读全文
posted @ 2022-06-04 17:43 haiyux 阅读(6) 评论(0) 推荐(0) 编辑
摘要: v2.1.4 release https://github.com/go-kratos/kratos/releases/tag/v2.1.4 New Features feat(registry/consul): add WithHeartbeat option (#1738) feat(examp 阅读全文
posted @ 2022-01-05 17:28 haiyux 阅读(50) 评论(0) 推荐(0) 编辑
摘要: 原文地址 https://zhaohaiyu.com/post/go/project-directory/ 什么是DDD? DDD 是 Domain-Driven Design 的缩写。 其主要的思想是,我们在设计软件时,先从业务出发,理解真实的业务含义,将业务中的一些概念吸收到软件建模中来,避免造 阅读全文
posted @ 2022-01-03 20:43 haiyux 阅读(24) 评论(0) 推荐(0) 编辑
摘要: 使用 下载 go install github.com/go-kratos/kratos/cmd/kratos/v2@latest 查看是否安装成功 kratos -v kratos version v2.1.3 升级 kratos upgrade 查看帮助 kratos --help Kratos 阅读全文
posted @ 2021-12-26 22:04 haiyux 阅读(85) 评论(0) 推荐(0) 编辑
摘要: macOS 全局 Command + Shift + P / F1 显示命令面板 Command + P 快速打开 Command + Shift + N 打开新窗口 Command + W 关闭窗口 基本 Command + X 剪切(未选中文本的情况下,剪切光标所在行) Command + C 阅读全文
posted @ 2021-12-20 20:34 haiyux 阅读(175) 评论(0) 推荐(0) 编辑
摘要: 您好,地球人,欢迎来到Kratos漫游指南。 对于刚开始研究Kratos框架的开发者来说,目前的文档有些零散,这与我们的模块化设计有一些关系,不过Don't panic,从这篇文章开始,我将试图打破这一现状,漫游指南系列将循序渐进地介绍Kratos框架,理顺框架的使用思路,使您更快上手Kratos。 阅读全文
posted @ 2021-10-21 09:38 haiyux 阅读(197) 评论(0) 推荐(0) 编辑
摘要: github https://github.com/go-kratos/kratos/releases/tag/v2.1.0 新的功能 新增客户端负载均衡器(load balancing)和路由选择器(selector) #1485 新增jwt 鉴权中间件 #1274 新增熔断中间件 #1299 新 阅读全文
posted @ 2021-10-16 16:06 haiyux 阅读(84) 评论(0) 推荐(0) 编辑
摘要: 链路追踪的前世今生 分布式跟踪(也称为分布式请求跟踪)是一种用于分析和监控应用程序的方法,尤其是使用微服务架构构建的应用程序。分布式跟踪有助于精确定位故障发生的位置以及导致性能差的原因。 起源 链路追踪(Distributed Tracing) 一词最早出现于谷歌发布的论文 《Dapper, a L 阅读全文
posted @ 2021-09-21 19:40 haiyux 阅读(590) 评论(0) 推荐(0) 编辑
摘要: 我们在微服务框架kratos v2的默认项目模板中kratos-layout使用了google/wire进行依赖注入,也建议开发者在维护项目时使用该工具。 wire 乍看起来比较违反直觉,导致很多同学不理解为什么要用或不清楚如何用(也包括曾经的我),本文来帮助大家理解 wire 的使用。 What 阅读全文
posted @ 2021-09-06 20:36 haiyux 阅读(96) 评论(0) 推荐(1) 编辑
摘要: 为什么要用熔断 前面我们讲过限流保证服务的可用性,不被突如其来的流量打爆。但是两种情况是限流解决不了的。 如果我们服务只能处理1000QPS,但是有10wQPS打过来,服务还是会炸。因为拒绝请求也需要成本。 服务但是io型的,会把mysql,redis,mq等中间件打挂。 所以,我们遵循一个思路,可 阅读全文
posted @ 2021-09-05 22:32 haiyux 阅读(130) 评论(0) 推荐(0) 编辑