从kratos分析breaker熔断器源码实现

为什么要用熔断 前面我们讲过限流保证服务的可用性,不被突如其来的流量打爆。但是两种情况是限流解决不了的。 如果我们服务只能处理1000QPS,但是有10wQPS打过来,服务还是会炸。因为拒绝请求也需要成本。 服务但是io型的,会把mysql,redis,mq等中间件打挂。 所以,我们遵循一个思路,可 ... »

从kratos分析BBR限流源码实现

什么是自适应限流 自适应限流从整体维度对应用入口流量进行控制,结合应用的 Load、CPU 使用率、总体平均 RT、入口 QPS 和并发线程数等几个维度的监控指标,通过自适应的流控策略,让系统的入口流量和系统的负载达到一个平衡,让系统尽可能跑在最大吞吐量的同时保证系统整体的稳定性。 核心目标: 自动 ... »

Ory Kratos 用户认证

Ory Kratos 为用户认证与管理系统。本文将动手实现浏览器(React+AntD)的完整流程,实际了解下它的 API 。 代码: https://github.com/ikuokuo/start-ory-kratos 了解 Kratos 获取代码 git clone -b v0.7.0-alp ... »

gocodinginmyway 后端

go微服务框架kratos学习笔记十(熔断器)

go微服务框架kratos学习笔记十(熔断器) [toc] 什么是熔断 假设存在这样的调用链: 如果 crash 或者一些原因导致不可用, 可能会阻塞很多线程/协程,如果短时间内大量积压,导致系统资源耗尽 也变的不可用,同时连带 一起崩溃,则将形成 现象. 熔断一概念来自于电子工程中的断路器(cir ... »

ailumiyana

go微服务框架kratos学习笔记八 (kratos的依赖注入)

go微服务框架kratos学习笔记八(kratos的依赖注入) [toc] 笔记二提过依赖注入,和如何生成,但没有细讲,本文来简单看看kratos的依赖注入。 什么是依赖注入 来看一个小程序, 创建一个小程序模拟带有问候的事件 我们将创建三个结构类型: 1)为迎宾员创建消息 message 2)表达 ... »

ailumiyana

go微服务框架kratos学习笔记七(kratos warden 负载均衡 balancer)

go微服务框架kratos学习笔记七(kratos warden 负载均衡 balancer) [toc] 本节看看kratos的学习负载均衡策略的使用。 kratos 的负载均衡和服务发现一样也是基于grpc官方api实现的。 grpc官方的负载均衡自带了一个 轮询策略、即像一个for循环一样挨个 ... »

ailumiyana

# go微服务框架kratos学习笔记六(kratos 服务发现 discovery)

go微服务框架kratos学习笔记六(kratos 服务发现 discovery) [toc] 除了上次的warden直连方式外,kratos有另一个服务发现sdk : "discovery" discovery 可以先简单理解为一个http服务、 它最简单的发现过程可能是这样的: 1、servic ... »

ailumiyana

go微服务框架kratos学习笔记二(kratos demo 结构)

[toc] 上篇文章 "go微服务框架kratos学习笔记一(kratos demo)" 跑了kratos demo 本章来看看demo项目的整体结构。 目录结构 官方文档解释 下面简单看看各层目录,api应该是最复杂的部分,其他的都很好看懂。 api api目录主要为对外接口目录、 、 可以通过k ... »

ailumiyana

kratos微服务框架学习笔记一(kratos-demo)

[toc] kratos微服务框架学习笔记一(kratos demo) 今年大部分时间飘过去了,没怎么更博和github,现在开发任务也差不多完成了,会比较轻松,考虑到今后发展,打算看看微服务框架。 常见微服务框架主要有这么几个 , a microservice toolkit from The N ... »

ailumiyana