草庐IT

非业务

全部标签

五分钟技术趣谈 | 业务系统常用限流算法浅析

Part01什么是限流? 业务系统限流是指系统在面临高并发或者大流量请求的情况下,限制新的请求对系统的访问,从而保证系统的稳定性和安全性。Part02为什么要限流?  系统资源和处理能力都是有限的,如果一个系统不限制流量,比如在秒杀活动、大促销等场景下,瞬时间大量的流量访问将超出系统的负载,最终会导致服务异常、机器宕机。Part03常用的限流算法 常用的限流算法有固定窗口算法、滑动窗口算法、漏桶算法和令牌桶算法,下面将对这几种算法分别进行介绍,这也是所有限流框架实现限流的基础。Part04固定窗口算法 固定窗口限流算法是最基础的一种限流算法。原理是将一段固定时间当做一个窗口,通过计数器记录这个

kubernetes搭建GitLab并提供本地域名服务及业务微服务接口集成GitLab

目录搭建GitLab服务镜像准备数据卷脚本部署脚本服务脚本路由脚本登录及配置GitLab接口及业务微服务上传代码GitLab接口注意事项业务微服务上传代码注意事项搭建GitLab服务        业务管理平台需要将本地的代码上传并进行版本管理,选择搭建gitlab私服较为合理,下面就介绍下在已有kubernetes集群上如何搭建gitlab私服及配置域名提供服务过程。镜像准备        选择gitlab-ce镜像,登录dockerhub搜索gitlab/gitlab-ce,选择合适版本,这里需要注意的是,由于我们后续要使用gitlab的api集成,在使用api中需要用到access_to

手把手教你,如何先梳理业务逻辑再写代码

一、业务逻辑与代码代码是需求逻辑的一种展现形式:需求文档是业务逻辑的一种展现形式,而代码不过是业务逻辑的另一种表现形式;如果逻辑本身有问题,那么它的各种展示形式自然也是错的,所以写代码前应该先思考清楚业务逻辑。Review代码很多时候是逻辑问题:在Review代码经验中发现:混乱的代码并不仅仅是代码编写技艺问题,很多时候是因为逻辑没有梳理清楚。逻辑混乱,自然代码也混乱。梳理清楚业务逻辑,就为代码打下了良好的基础。当然业务逻辑梳理清楚后,业务逻辑到代码的映射依然有可能出问题,这是编程技艺要解决的问题。下面通过一个简单的例子来演示这个过程:二、业务需求示例我们要做一件事情doSomething:第

HBase在微博搜索业务中的应用

作者:禅与计算机程序设计艺术1.简介1.微博搜索服务的需求在社交媒体平台的发展过程中,越来越多的人依赖于微博进行信息的传播、分享。不仅如此,微博作为新浪等知名门户网站的基础服务,有着独特的特性。比如,它是一个高度互联网化的信息流通工具,用户可以自由的发布或转发微博内容,并且具有大量的搜索功能。因此,为微博搜索服务提供更加高效、精准的结果,帮助用户找到想要的内容,也成为各大互联网公司关注的一个重点方向。在微博搜索服务中,通常会采用基于搜索引擎的关键词匹配方式,通过检索用户输入的关键字,返回包含相关主题信息的微博条目。比如,当用户在微博客户端输入搜索关键字“天气”时,系统将从海量微博内容中返回包含

【postgresql 基础入门】数据表的创建,永久数据放普通表,中间结果放临时表,附带信用卡业务案例SQL设计

创建表​专栏内容:postgresql内核源码分析手写数据库toadb并发编程​开源贡献:toadb开源库个人主页:我的主页管理社区:开源数据库座右铭:天行健,君子以自强不息;地势坤,君子以厚德载物.系列文章入门准备postgrersql基础架构快速使用初始化集群数据库服务管理psql客户端使用pgAdmin图形化客户端数据库的使用创建数据库数据库操作表的使用表的创建表的操作前言postgresql数据库是一款通用的关系型数据,在开源数据库中能与商业数据媲美,在业界也越来越流行。因为是开源数据库,不仅公开源码,还有很多使用案例,好用的插件,所以它的慢慢变成了数据库的先驱和标准,通过postgr

大数据项目之电商数仓、电商业务简介、电商业务流程、电商常识、业务数据介绍、电商业务表、后台管理系统

文章目录5.电商业务简介5.1电商业务流程5.2电商常识5.2.1SKU和SPU5.2.2平台属性和销售属性5.2.2.1平台属性5.2.2.2销售属性6.业务数据介绍6.2电商业务表6.2.1收藏商品6.2.2加购物车6.2.3领用优惠券6.2.4下单6.2.5支付6.2.6退单6.2.7退款6.2.8评价6.3后台管理系统6.3.1商品6.3.2活动6.3.3优惠券5.电商业务简介5.1电商业务流程  电商的业务流程可以以一个普通用户的浏览足迹为例进行说明,用户点开电商首页开始浏览,可能会通过分类查询也可能通过全文搜索寻找自己中意的商品,这些商品无疑都是存储在后台的管理系统中的。  当用户

MySQL中的业务数据该如何正确导入到Hive中 - Sqoop

水善利万物而不争,处众人之所恶,故几于道💦目录 1.使用Sqoop脚本将MySQL中的数据迁移到HDFS 2.在Hive中建立与之对应的表 3.将HDFS中的数据load到Hive数仓的ODS层的表中1.使用Sqoop将MySQL中的数据导入到HDFS上#!/bin/bashsqoop=/opt/module/sqoop/bin/sqoop#do_date默认为前一天的时间do_date=`date-d'-1day'+%F`#如果第二个参数没有指定导入哪天的数据,默认为前一天的数据if[[-n"$2"]];then do_date=$2fiimport_data(){$sqoopimport\

业务拆分原则介绍

1.常见的做法常见的错误做法:服务拆分粒度越小越好按照大公司的套路拆分以代码量为拆分标准拆分核心三原则:2.服务粒度匹配团队规模服务粒度过细的问题,可以先看下面的两个图可以看到,服务粒度过多时,虽然单个服务的内容可以减少,但是服务间调用关系的复杂度程指数级的增长,这同样也是很可怕的一件事如果项目的人员不多,那么划分过多的服务出来时,每个开发人员需要兼顾的单服务就会变得很多,而为了能够正常进行开发,那么就需要同时启动多个服务;对于测试人员来说,要做测试的时候,也需要部署多个环境,测试多个接口;运维人员每次上线都要操作多个接口,并且各个接口之间还存在依赖关系,每次上线都要写一个详细且复杂的上线计划

Malloc技术原理解析以及在转转搜索业务上的实践

1导读内存管理在三个不同的层面上发挥作用:用户程序层、C运行时库层以及内核层。其中,内存分配器allocator是C运行时库中的一个关键组件,其主要任务是响应用户程序的内存分配请求。分配器负责向操作系统内核请求适当大小的内存块,并将这些内存块分配给用户程序。为了提高内存分配的效率,分配器通常会预先分配一块稍大于用户请求的内存空间,并使用特定的算法来管理这块内存,以满足用户的内存需求。不同之处在于,用户释放的内存并不会立即返回给操作系统,而是由分配器来管理这些空闲内存空间,以备将来用户的内存分配请求。简而言之,分配器的任务不仅仅是管理已分配的内存块,还包括有效地管理可用的空闲内存块。当需要响应用

【业务功能109】微服务-springcloud-springboot-Skywalking-链路追踪-监控

Skywalkingskywalking是一个apm系统,包含监控,追踪,并拥有故障诊断能力的分布式系统一、Skywalking介绍1.什么是SkyWalking  Skywalking是由国内开源爱好者吴晟开源并提交到Apache孵化器的产品,它同时吸收了Zipkin/Pinpoint/CAT的设计思路。特点是:支持多种插件,UI功能较强,支持非侵入式埋点。目前使用厂商最多,版本更新较快。  数据存储支持:Elasticsearch、MySQL、H2、TiDB。默认是H2,而且是存到内存。实际我们一般将其存到ES。主页:http://skywalking.apache.org/下载:http