logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

17. 灰度开关、降级开关、灰度放量

大家在工作中肯定会遇到一些场景需要用开关去做一些事情,

文章图片
#数据库#服务器
129. 求根节点到叶节点数字之和【二叉树】

遍历二叉树,在每个叶子节点收集字符串结果,最后将所有字符串的结果转为数字相加即可。,树中每个节点都存放有一个。计算从根节点到叶节点生成的。给你一个二叉树的根节点。是指没有子节点的节点。

文章图片
#leetcode#算法#golang
85.如何设计高并发系统(缓存、限流、熔断、降级)

高性能、高并发、高可用,俗称三高。本篇讨论高并发,从高并发是什么到高并发应对的策略、缓存、限流、降级等。高并发背景互联网行业迅速发展,用户量剧增,系统面临巨大的并发请求压力。高并发对系统的挑战性能下降、资源竞争和稳定性问题等。高并发是指系统或应用程序在同一时间段内接收到大量并发请求的能力。具体来说,高并发环境下系统需要能够同时处理大量的请求,而不会出现性能问题或响应延迟。

文章图片
#缓存
19.中间件、装饰器设计模式

服务中,我们都经常会用到中间件来做一些前置工作,如参数校验、过滤、限流、限频等,而中间件的写法基本是固定的两种,第一种是职责链模式的数组形式,在本人。切片中的所有函数,整个中间件的调用流程就像一条流水线一样依次调用,再依次返回。的方式给路由增加非常多的中间件,这样我们就能够很方便的拦截路由处理函数,并在其前后分别做一些处理逻辑。首先先定义好中间件的类型,这里我就简单定义为以下的格式,实际工作中基本

文章图片
#中间件#设计模式
771. 宝石与石头【哈希表】

中每个字符代表了一种你拥有的石头的类型,你想知道你拥有的石头中有多少是宝石。存储哪些字符是宝石,然后遍历石头,找出是宝石的数量即可。代表石头中宝石的类型,另有一个字符串。字母区分大小写,因此。

文章图片
#散列表#leetcode#golang +1
154. 服务注册发现之服务注册中心设计原理与Golang实现(一:单机版)

以上注册中心实现的所有功能如下图至此,一个单机版的注册中心就可以工作了,但生产环境单点肯定是不能容忍的,因此有必要实现一个注册中心集群。那么是否部署多个注册中心实例就可以了,当然不行!这只能保障有多个注册中心节点,而每个节点中维护自己的注册表,那么就需要进行注册表数据同步。多节点数据同步又会涉及著名的一致性问题,这时Paxos、Raft、ZAB、Gossip 等算法名词涌现,而我们将使用 P2P(

文章图片
#golang#开发语言#后端
146. Go通过Redis实现分布式限流

限流是一种对请求或并发数进行限制的关键技术手段,旨在保障系统的正常运行。当服务资源有限、处理能力有限时,限流可以对调用服务的上游请求进行限制,以防止自身服务因资源耗尽而停止服务。在限流中,有两个重要的概念需要了解:阈值:指在单位时间内允许的请求量。例如,将QPS(每秒请求数)限制为500,表示在1秒内最多接受500次请求。通过设置合适的阈值,可以控制系统的负载,避免过多的请求导致系统崩溃或性能下降

文章图片
#golang#redis#分布式
10种常用设计模式

软件设计模式是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。它的意义在于这些模式是众多程序员经过相当长的一段时间的试验和错误复盘所总结的宝贵经验,可以帮助我们提高代码的可重用性、可读性和可靠性。本文总结了 10 种经典的软件设计模式的特点、优缺点和应用场景,并给出了相应Go代码示例。

文章图片
#设计模式
ssh免密登录gitee

http和ssh方式的区别常用的克隆项目的方式为http,这种方式允许直接下载项目,当需要push代码到远程仓库时,每次都要输入项目的账号密码以进行身份验证,,git安装以及集成IDEA或者GoLand,并通过http方式连接giteegitHub或gitlabGit集成IDEA并连接GitLab使用ssh方式连接远程仓库后,无论是下载项目还是push代码到远程仓库,都不需要输入项目的账号密码ss

文章图片
#ssh#运维
48.Go简要实现令牌桶限流与熔断器并集成到Gin框架中

限流与熔断、降级在微服务中是非常常见的概念,但是尽管我们耳熟能详了,却未必实际去了解过底层原理及其实现。之前已经有博客介绍并实现过限流与降低了,博客地址如下:13. Go中常见限流算法示例代码17. 灰度开关、降级开关、灰度放量主要知识点限流器与熔断器在微服务中的作用限流器的实现并集成到Gin熔断器的实现并集成到Gin。

文章图片
#golang#gin
    共 67 条
  • 1
  • 2
  • 3
  • 7
  • 请选择