• 2024-10-20BBR算法: 在Kratos的实现
    什么是BBR?BBR(BottleneckBandwidthandRTT)最初是由Google开发的网络拥塞控制算法。在限流领域,BBR被改造用于自适应限流,通过动态调整并发请求数来平衡系统吞吐量和响应时间。BBR限流算法的核心思想BBR限流算法的核心思想是:持续监控系统的关键指标(CPU使用率、请求通
  • 2024-09-27关于kratos proto 生成pb.go的一些报错,问题
    有诸如这类报错go:ai-ws-session-service/cmd/ai-ws-session-serviceimportsgithub.com/aliyun-sls/opentelemetry-go-provider-sls/providerimportsgo.opentelemetry.io/otel/metric/global:modulego.opentelemetry.io/otel/metric@latestfound(v1.30.0),butdoesnot
  • 2024-09-07go框架kratos如何使用
    1.安装工具包1.1 protochttps://github.com/fork-golang/protobuf1.2 protoc-gen-gohttps://github.com/protocolbuffers/protobuf-go1.3 protoc-gen-go-grpchttps://github.com/grpc/grpc-go1.4 kratoshttps://github.com/go-kratos/kratos在安装前请确保gopat
  • 2024-07-29Go-kratos框架商城微服务实战四
    Go-kratos框架商城微服务实战四接口测试,这里采用testify进行断言测试新建/test/目录新建/test/user_grpc_test.gopackagemainimport( "context" "log" "os" "testing" "time" v1"user/api/user/v1"//导入userclient &q
  • 2024-05-09go学习笔记——Kratos框架
    官方文档https://go-kratos.dev/en/docs/getting-started/start/1.安装Go参考:mac安装go1.202.安装Kratos框架kratos依赖protobufgrpc等框架,需要先进行安装brewinstallgrpcbrewinstallprotobufbrewinstallprotoc-gen-gobrewinstallprotoc-gen-go-grpc验证
  • 2024-04-20使用kratos框架集成jwt认证
    问题背景:网络鉴权在web开发中最常见不过了,最近在使用gokratos框架写项目的时候需要用到jwt,查阅资料后自己动手实现了简单的鉴权,在这里记录一下实现步骤,直接上代码。定义jwt签发函数这部分我是参考了李文周老师的博客博客地址:https://www.liwenzhou.com/posts/Go/json-web-tok
  • 2024-03-10kratos安装及依赖安装
    前言protoc是protobuf文件(.proto)的编译器,可以借助这个工具把.proto文件转译成各种编程语言对应的源码,包含数据类型定义、调用接口等。protoc在设计上把protobuf和不同的语言解耦了,底层用c++来实现protobuf结构的存储,然后通过插件的形式来生成不同语言的源码。
  • 2023-11-25在 Go-Kratos 框架中优雅的使用 GORM 完成事务
    准备工作创建新项目kratosnewhelloworldcdhelloworld#拉取项目依赖gomoddownload#项目中的config等请自行修改 添加事务如果您还不了解Kratos、mysql事务和GORM的话请先了解一下。data层承载事务是否比较合适?其实最简单也最直接的方法就是在da
  • 2023-09-23go微服务开发:Mac开发环境下使用kratos框架教程
    背景:Mac13.5.2+kratos+docker+mysql8.0.14+navicat16 参考资料:https://blog.csdn.net/qq_43280993/article/details/129703277https://www.lxlinux.net/6027.htmlhttps://www.cnblogs.com/liyugui/p/17627854.htmlhttps://zhuanlan.zhihu.com/p/545368410
  • 2023-08-10go kratos protobuf 接收动态JSON数据
    前言google.protobuf.Struct是GoogleProtocolBuffers中的一种特殊类型,用于表示动态的键值对数据。它可以存储任意类型的数据,并提供了方便的方法来访问和操作这些数据。Struct类型通常用于在不事先知道数据结构的情况下传递和处理配置、参数或其他动态数据。https://pkg.g
  • 2023-08-03kratos项目中使用kafka实现延迟队列
    项目地址https://gitee.com/huoyingwhw/kratos_kafkaB站视频地址B站视频地址——kratos项目中使用kafka实现延迟队列
  • 2023-06-29kratos http原理
    概念kratos为了使http协议的逻辑代码和grpc的逻辑代码使用同一份,选择了基于protobuf的IDL文件使用proto插件生成辅助代码的方式。protochttp插件的地址为:https://github.com/go-kratos/kratos/tree/main/cmd/protoc-gen-go-http示例syntax="proto3";packagehelloworld;
  • 2023-06-15docker-compose构建kratos微服务项目运行失败,提示:runtime/cgo: pthread_create failed: Operation not permitted
    这个问题网上解决方案较少,我们这边问题定位是docker-compose.yaml配置问题在配置文件中新增配置如下:privileged:true设置容器的权限为root 最后解决
  • 2023-06-07kratos中使用etcdWatch介绍
    项目地址https://gitee.com/huoyingwhw/kratos_etcd_watch使用原生的etcdAPI的测试 packagetestsimport("context""fmt""github.com/stretchr/testify/require"clientv3"go.etcd.io/etcd/client/v3""tes
  • 2023-04-12Go微服务框架go-kratos实战学习08:负载均衡基本使用
    微服务框架go-kratos中负载均衡使用一、介绍在前面这篇文章负载均衡和它的算法介绍,讲了什么是负载均衡以及作用、算法介绍。go-kratos的负载均衡主要接口是Selector,它是一个可插拔的设计。因为它设计的都是接口,只要实现了接口就实现了负载均衡。go-kratos在目录下提供了
  • 2023-04-11微服务架构系列文章集合
    微服务系列目录微服务架构思考系列Go微服务实战系列:go-kratos微服务架构思考系列微服务架构学习与思考(01):什么是微服务?微服务的优势和劣势微服务架构学习与思考(02):微服务实施前有哪些问题需要思考?微服务架构学习与思考(03):微服务总体架构图解微服务架构学习与
  • 2023-03-27kratos中使用kafka手动ACK消息的方法
    参考项目:https://gitee.com/huoyingwhw/kratos_kafka参考视频:https://www.bilibili.com/video/BV1dM4y1m7ix/?vd_source=0bed7ecd22f81e2fed5ccaab40168b8c 
  • 2023-03-25kratos中使用kafka不同group消费同一个topic的坑
    参考项目地址https://gitee.com/huoyingwhw/kratos_kafka.git现象 像上图那样写的话,项目启动后,往topic中放入数据,只有article_group2会消费数据!原因~~~ 
  • 2023-02-14kratos中使用rockscache介绍
    ✅包版本问题注意包版本的问题,因为rockscache需要使用go-redisv8版本的Client,但是如果项目使用的是v9版本的话会有问题(文档中有),我是把官网的项目下载下来了,(改动说明文
  • 2023-01-30Kratos 项目实战(模块管理)
    一.创建项目1.1创建项目在Linuxshare/cloud_center/目录下创建module项目kratosnewmodule-rhttps://gitee.com/go-kratos/kratos-layout.git 进入到module删除
  • 2022-11-24【go】go微服务框架kratos学习笔记十(熔断器)
    什么是熔断假设存在这样的调用链:服务A->服务B->服务C如果服Ccrash或者一些原因导致不可用,服B可能会阻塞很多线程/协程,如果短时间内大量积压,导致系统资源耗尽服B
  • 2022-11-19kratos 学习笔记
    安装kratos error:notfoundcroptoc 解决方案: 去github下载并安装 https://github.com/protocolbuffers/protobuf/releases  将解压后protoc放到go