其他
文章平均质量分 75
大梦谁先觉i
悄悄努力,惊艳众人
展开
-
微服务鉴权的几种实现方案
刚开始接触微服务时网上给的方案大都数是通过透传Token做鉴权,但我认为这种方式不是很妥当。接着往下看:这种方式通过透传Token使得各微服务都能获取到当前登录人信息,在代码编写上确实可能会方便,但我认为这不是一种很好的设计方式。换句话说:B服务提供API时不因该关心当前是否为登录状态,登录状态应该由路由中的第一个服务校验维护,在调用后续服务时应该显示的传入相关参数。原创 2024-03-23 22:20:19 · 1589 阅读 · 0 评论 -
Linux下最常用的MySQL运维脚本
MySQL数据库的运维工作需要一系列的操作,包括性能优化、备份、复制管理、版本升级、权限管理、安全性和自动化。通过编写适当的脚本,可以更高效地管理和维护MySQL数据库,确保其稳定性和安全性。本文提供了更多的示例代码和详细说明,以帮助深入了解如何使用脚本进行MySQL运维。原创 2024-03-16 22:32:31 · 1225 阅读 · 0 评论 -
常用负载均衡详解
在互联网场景下,负载均衡(Load Balance)是分布式系统架构设计中必须考虑的一个环节,它通常是指将负载流量(工作任务、访问请求)平衡、分摊到多个操作单元(服务器、组件)上去执行的过程。目的在于提供负载配比,解决性能、单点故障(高可用)和扩展性(水平伸缩)等问题。原创 2024-03-16 20:42:43 · 1754 阅读 · 0 评论 -
MQ如何防止消息被重复消费?
被询问如何防止MQ消息被重复消费时,其实是在考察候选人对消息队列、分布式系统设计以及容错机制的理解,通过这些问题,可以全面了解候选人在处理MQ消息重复消费问题时的思考方式、技术能力和实践经验,从而评估其是否适合担任相关岗位。原创 2024-03-03 20:48:37 · 2884 阅读 · 0 评论 -
对程序、进程、线程、并发、并行、高并发概念的讲解
程序、进程、线程、并发、并行和高并发是计算机科学领域中非常重要的概念原创 2024-03-02 22:39:06 · 1033 阅读 · 0 评论 -
ThreadLocal 为什么会内存泄漏吗?是怎么产生的?
ThreadLocal是一个本地线程副本变量工具类。主要用于将私有线程和该线程存放的副本对象做一个映射,各个线程之间的变量互不干扰,在高并发场景下,可以实现无状态的调用,特别适用于各个线程依赖不通的变量值完成操作的场景原创 2024-03-02 03:30:00 · 958 阅读 · 0 评论 -
熔断、隔离、重试、降级、超时、限流,高可用架构流量治理核心策略全掌握
在探讨高可用架构之前,让我们以 O2 系统为例,解释一下何谓可用性。O2 是腾讯内部的一个广告投放系统,专注于提升投放效率、分析广告效果,拥有自动化广告投放、AIGC 自动化素材生产等多种功能。高性能;高可用;易扩展。理解高可用时,通常参考两个关键指标平均故障间隔(Mean Time Between Failure,简称 MTBF):表示两次故障的间隔时间,也就是系统正常运行的平均时间,这个时间越长,说明系统的稳定性越高;原创 2024-02-29 23:15:09 · 1148 阅读 · 0 评论 -
SQL硬核调优
在应用的的开发过程中,由于初期数据量小,开发人员写 SQL 语句时更重视功能上的实现,但是当应用系统正式上线后,随着生产数据量的急剧增长,很多 SQL 语句开始逐渐显露出性能问题,对生产的影响也越来越大,此时这些有问题的 SQL 语句就成为整个系统性能的瓶颈,因此我们必须要对它们进行优化。原创 2024-01-30 15:52:22 · 1194 阅读 · 1 评论 -
JVM性能调优
吞吐量:重要指标之一,是指不考虑垃圾收集引起的停顿时间或内存消耗,垃圾收集器能支撑应用达到的最高性能指标。延迟:其度量标准是缩短由于垃圾啊收集引起的停顿时间或者完全消除因垃圾收集所引起的停顿,避免应用运行时发生抖动。内存占用:垃圾收集器流畅运行所需要 的内存数量。这三个属性中,其中一个任何一个属性性能的提高,几乎都是以另外一个或者两个属性性能的损失作代价,不可兼得,具体某一个属性或者两个属性的性能对应用来说比较重要,要基于应用的业务需求来确定。合理的JVM调优可以显著提升应用的性能和稳定性。原创 2024-01-29 22:49:30 · 907 阅读 · 0 评论 -
压力测试JMeter
Apache JMeter是100%纯JAVA桌面应用程序,被设计为用于测试客户端/服务端结构的软件(例如web应用程序)。它可以用来测试静态和动态资源的性能,例如:静态文件,Java Servlet,CGI Scripts,Java Object,数据库和FTP服务器等等。JMeter可用于模拟大量负载来测试一台服务器,网络或者对象的健壮性或者分析不同负载下的整体性能。同时,JMeter可以帮助你对你的应用程序进行回归测试。原创 2024-01-16 22:10:18 · 1335 阅读 · 0 评论 -
linux如何排查cpu持续飙高原因
首先在Linux系统中检查CPU使用率。可以通过在命令行中输入top或htop命令来查看当前系统中各个进程的CPU使用率。如果CPU使用率大于80%,则可以考虑进行排查。$ top。原创 2024-01-16 10:51:34 · 1313 阅读 · 0 评论 -
磁盘空间100%时,简单的处理办法。
no space left on device的意思是:设备没有剩余空间,磁盘空间不足。当我们发现磁盘空间已满的时候,往往我们要去删部分日志文件,但有不知道那些文件占用磁盘较大时,下面就是查看磁盘情况,和查找那些文件占用磁盘较大,并如何删除部分日志文件。原创 2023-08-12 11:03:48 · 402 阅读 · 0 评论 -
Dozzle-解决通过命令方式查看Docker 日志的神器
Dozzle 是一个开源的日志查看器,用于监视和查看 Docker 容器的实时日志。它提供一个简单而直观的 Web 界面,让用户可以方便地查看运行中的 Docker 容器的日志。它具有轻量级和快速的特点,并且不需要对 Docker 容器进行任何配置或修改。总的来说,Dozzle 是一个方便实用的工具,特别适用于需要监视和分析 Docker 容器日志的情况。它的简单性和易用性使得开发人员和系统管理员可以更好地理解和诊断其容器化应用程序的运行情况。感兴趣的朋友赶紧去试试吧~原创 2023-06-06 22:52:10 · 850 阅读 · 0 评论 -
面对CPU狂飙时的5步解决方案
现在企业对后端开发的要求越来越高,不仅要求我们会写代码,还要我们能够进行部署和运维!项目上线并运行一段时间后,可能会发现部署所在的Linux服务器CPU占用过高,该如何排查解决?原创 2023-06-06 22:43:15 · 577 阅读 · 0 评论 -
新写了的 AOP 日志切面,方便以后直接使用。
面向切面编程是一种编程范式,它作为OOP面向对象编程的一种补充,用于处理系统中分布于各个模块的横切关注点,比如事务管理权限控制缓存控制日志打印等等。核心关注点和横切关注点。业务处理的主要功能为核心关注点,而非核心、需要拓展的功能为横切关注点。集中处理某一关注点/横切逻辑可以很方便的添加/删除关注点侵入性少,增强代码可读性及可维护性 因此当想打印请求日志时很容易想到切面,对控制层代码0侵入。原创 2023-04-30 00:25:48 · 1229 阅读 · 0 评论 -
常见的接口优化技巧思路
批量思想:批量操作数据库,这个很好理解,我们在循环插入场景的接口中,可以在批处理执行完成后一次性插入或更新数据库,避免多次 IO。//for循环单笔入库 list . stream() . forEatch(msg -> {insert();});//批量入库 batchInsert();我相信很多接口的效率问题不是一朝一夕形成的,在需求迭代的过程中,为了需求快速上线,采取直接累加代码的方式去实现功能,这样会造成以上这些接口性能问题。原创 2023-04-29 23:31:03 · 904 阅读 · 0 评论 -
分布式文件系统MinIO
文件存储方式对比常见的分布式文件系统1, MinIO简介MinIO基于Apache License v2.0开源协议的对象存储服务,可以做为云存储的解决方案用来保存海量的图片,视频,文档。由于采用Golang实现,服务端可以工作在Windows,Linux, OS X和FreeBSD上。配置简单,基本是复制可执行程序,单行命令可以运行起来。MinIO兼容亚马逊S3( Simple Storage Service简单存储服务)云存储服务接口,非常适合于存储大容量非结构化的数据,例如图片、视频、原创 2021-12-20 13:03:17 · 1268 阅读 · 0 评论 -
Tess4J 图片文字识别
*OCR(OpticalCharacterRecognition,光学字符识别)**是指电子设备(例如扫描仪或数码相机)检查纸上打印的字符,通过检测暗、亮的模式确定其形状,然后用字符识别方法将形状翻译成计算机文字的过程。.........原创 2022-07-25 22:47:00 · 602 阅读 · 0 评论 -
SpringBoot 实现热部署
在SpringBoot中,模板引擎的页面默认是开启缓存的,如果修改了页面的内容,则刷新页面是得不到修改后的页面的,因此我们可以在中关闭模版引擎的缓存,如下:Thymeleaf的配置:FreeMarker的配置:Groovy的配置:Velocity的配置:2、使用调试模式Debug实现热部署此种方式为最简单最快速的一种热部署方式,运行系统时使用Debug模式,无需装任何插件即可,但是无发对配置文件,方法名称改变,增加类及方法进行热部署,使用范围有限。在application.yml中配置原创 2022-06-26 22:43:26 · 247 阅读 · 0 评论 -
Docker方式部署Springboot项目
定义父镜像:FROM java:8 ② 定义作者信息:MAINTAINER name③ 将jar包添加到容器: ADD springboot.jar app.jar ④ 定义容器启动执行的命令:CMD java–jar app.jar ⑤ 通过dockerfile构建镜像:docker bulid –f dockerfile文件路径 –t 镜像名称:版本第一步:安装docker文件编写完成执行命令构建:docker build -f ./springboot_dockerfil原创 2022-05-20 12:29:34 · 180 阅读 · 0 评论 -
linux下安装jdk
下载linux jdk1.8官网链接:https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html安装步骤cd /usr/ 进入usr文件夹mkdir java 创建java文件夹cd /usr/java把下载好的jdk拉入该文件夹中tar -zxvf jdk-8u131-linux-x64.tar.gz 解压jdk修改环境变量vi /etc/profile 修改环境变量在最原创 2022-05-18 22:15:26 · 246 阅读 · 0 评论 -
搭建ElasticSearch环境详细教程
1.1 拉取镜像 docker pull elasticsearch:7.4.01.2 创建容器 docker run -id --name elasticsearch -d --restart=always -p 9200:9200 -p 9300:9300 -v /usr/share/elasticsearch/plugins:/usr/share/elasticsearch/plugins -e "discovery.type=single-node" elasticsearch:7.4原创 2022-05-01 11:29:42 · 241 阅读 · 0 评论 -
阿里云OSS存储实例
、什么是OSS服务?地址:https://www.aliyun.com/product/oss1.1.2.2、购买服务1.1.2.3、创建Bucket使用OSS,首先需要创建Bucket,Bucket翻译成中文是水桶的意思,把存储的图片资源看做是水,想要盛水必须得有桶,就是这个意思了。进入控制台,https://oss.console.aliyun.com/overview1.1.2.4、创建用户创建用户的方式与短信接口中的方式一样,需要设置oss权限。1.1.3、原创 2022-05-01 11:21:06 · 1993 阅读 · 0 评论 -
人脸识别学习案例
人脸识别技术采用虹软开放平台实现(免费使用)。原创 2022-05-01 11:20:15 · 149 阅读 · 0 评论 -
linux系统下安装Nginx详细步骤
------- 安装Nginx ------1.上传安装包2.解压安装包3.进入Nginx目录4.安装依赖环境yum -y install pcre pcre-develyum -y install zlib zlib-develyum -y install openssl openssl-develyum -y install gcc-c++5.安装Nginx./configuremakemake install安装后在/usr/local下就会有一个nginx目录6.启动Ng原创 2022-04-30 21:45:34 · 572 阅读 · 0 评论 -
如何防止表单重复提交问题
如何防止表单重复提交问题1.数据库部分字段加上唯一标识(暴力).2.提交之后重定向到首页.3.使用JavaScript解决,使用标记位,提交后隐藏或按钮不可用.<script type="text/javascript"> //标志位 var isCommitted=false; function dosubmit(){ if(isCommitted=false){ //提交表单后.将表单是否提交标识设置为true; isCommitted=true;原创 2022-03-30 10:31:57 · 1883 阅读 · 0 评论 -
Nginx服务器概述
5.2.1 Nginx服务器概述Nginx是一种服务器软件,其最主要,最基本的功能是可以与服务器硬件(电脑)结合,让程序员可以将程序发布在Nginx服务器上,让成千上万的用户可以浏览。除此之外,Nginx还是一种高性能的HTTP和反向代理服务器,同时也是一个代理邮件服务器。也就是说,我们在Nginx上可以: 可以发布网站(静态, html,css,js)可以实现负载均衡,代理服务器可以作为邮件服务器实现收发邮件等功能本课程我们只讨论Nginx发布网站的功能,其它的功能后续课程会深入学习.原创 2022-03-02 00:15:00 · 1471 阅读 · 0 评论 -
Java环境百度地图Api的使用
1.介绍官网地址:http://lbsyun.baidu.com/百度地图开放平台提供了多种服务接入方式:2 注册账号、申请AK要使用百度地图提供的服务,需要注册百度账号、申请服务密钥等,具体步骤如下:注册百度账号,使用手机号即可完成注册注册完成后登录要使用地图服务还需要申请密钥(AK),地址:http://lbsyun.baidu.com/apiconsole/key#/home点击"创建应用"按钮,跳转到创建应用页面应用类型下拉框选项如下:点击"提交"按钮完成AK创建原创 2021-11-05 09:10:57 · 10244 阅读 · 2 评论