快乐的程序员
微服务限流之三:漏桶算法 微服务限流之三:漏桶算法
0. 写在前面前面两篇文章微服务限流之一:令牌桶算法和微服务限流之二:令牌桶算法源码解析分别介绍了令牌桶算法的用法和原理,本文将介绍另外一种流行的限流算法:漏桶算法。 1. 原理漏桶算法(Leaky Bucket) 是网络世界中 流量整形(
2024-03-26
微服务限流之二:令牌桶算法源码解析 微服务限流之二:令牌桶算法源码解析
0. 写在前面上一篇文章微服务限流之一:令牌桶算法介绍了令牌桶算法的原理、官方实现和用法,本文就来看看官方是如何实现的,深入分析它的源码。 官方在golang.org/x/time/rate库中实现的令牌桶算法,这个实现很有意思,并没有真正
2024-03-26
微服务限流之一:令牌桶算法 微服务限流之一:令牌桶算法
0. 写在前面令牌桶算法和漏桶算法是微服务限流算法中2个比较常见的算法,微服务限流系列将从原理、使用方法、具体示例等方向详细讲解一下这2个算法。 1. 原理 我们以 r/s 的速度向桶内放置令牌,桶的容量为 b , 如果桶满了令牌将会丢弃
2024-03-26
Go微服务: 隔离设计 Go微服务: 隔离设计
0. 写在前面隔离设计源于船舶行业,一般而言无论大船还是小船,都会有一些隔板,将船分为不同的空间,这样如果有船舱漏水一般只会影响这一小块空间,不至于把整个船都给搞沉了。 同样我们的软件服务也是一个道理,我们要尽量避免出现一个问题就把这个业务
2024-03-26
栈在哪些场景用到过 栈在哪些场景用到过
写在前面在面试过程中被问到:在写代码或者项目开发过程中,栈在什么场景出现过? 作者只回答了:二叉树的后续遍历中用到了。go defer居然没有回答上,还有函数调用、递归也没有回答上,太弱了!!!今天总结一下。 栈的使用场景函数调用栈在编程语
2024-03-25
算法题:异或运算 算法题:异或运算
写在前面今天做了leetcode上一个简单题,看了挺久没做出来。感兴趣的可以先试试题目再往下看。只出现一次的数字 思路这题拿到手,第一反应是用hash表,没有思考细节,只是觉得hash表肯定是可以搞定的,但是空间复杂度是 O(n),不满足题
2024-03-24
华为一面算法题:打印螺旋三角形 华为一面算法题:打印螺旋三角形
写在前面最近面试了华为go开发,一面中遇到一个算法题,也不是很难,在leetcode上应该属于中等难道。20分钟问问题,40分钟写算法题。 这个算法题最终没有写出来,思路是对的,边界情况考虑有点问题,事后大概花了半个小时才调试处理。 整理一
2024-03-24
AI高手都在用的提示词prompt网站,建议收藏! AI高手都在用的提示词prompt网站,建议收藏!
1. 写在前面最近AI这么火爆,地球人应该都知道。合理、高效利用起AI跟上时代脚步的必然。今天就来总结一下那些好用的prompt工具网站 2. 文本类2.1 flowgpt地址:https://flowgpt.com/ 免费的,已经根据一
2024-03-22
四种实现middleware的方式 四种实现middleware的方式
写在前面middleware是一般框架里面常用的形式,比如web框架、rpc框架,通过middleware在流量入口和出口做一些公共事情,包括鉴权、日志、埋点、统计、限流、参数处理、异常处理等等。 在工作中经常会用到,在阅读web框架(gi
2024-03-22
ElasticSearch学习文档-入门篇 ElasticSearch学习文档-入门篇
1 ElasticSearch概述1.1 ElasticSearch是一个基于Lucene的搜索服务器它提供了一个分布式多用户能力的全文搜索引擎,基于RESTfulweb接口。ElasticSearch是用Java开发的,并作为Apache
2024-03-21
SOA架构和微服务架构的区别 SOA架构和微服务架构的区别
写在前面在网上查了好多资料,都没有详细的解释清楚SOA架构和微服务架构的区别,本文结合作者自己的理解来谈一下他们的区别,可能不对,欢迎交流。 这两种架构都是分布式的一种。 区别首先SOA和微服务架构是一个层面的东西,而对于ESB和微服务网关
2024-03-21
微服务限流三大件:熔断、降级、限流 微服务限流三大件:熔断、降级、限流
写在前面分布式系统中一般会有高负荷、异常情况,在发生这些异常情况的时候应该如何应对呢?本文介绍一些常规方法。 熔断场景系统负载突然过高,比如突发的访问量、过多的请求以及IO压力过载都可能会造成某个节点故障,比如节点A,然后节点A挂了,又把负
2024-03-21
6 / 22