记一次 某智能制造MES系统CPU 爆高分析

一:背景 1. 讲故事 前段时间有位朋友找到我,说他 docker 中的web服务深夜cpu被打满,让我帮忙看一下,很多朋友问docker中怎么抓dump,我一般都推荐使用 procdump 这款自动化工具,谁用谁知道,有了 dump 之后,接下来就是分析了。 二:WinDbg 分析 1. cpu

记一次 .NET 某企业采购平台 崩溃分析

## 一:背景 ### 1. 讲故事 前段时间有个朋友找到我,说他们的程序有偶发崩溃的情况,让我帮忙看下怎么回事,针对这种 crash 的程序,用 AEDebug 的方式抓取一个便知,有了 dump 之后接下来就可以分析了。 ## 二:Windbg 分析 ### 1. 为什么会崩溃 既然是程序的崩溃

记一次 .NET 某游戏服务后端 内存暴涨分析

## 一:背景 ### 1. 讲故事 前几天有位朋友找到我,说他们公司的后端服务内存暴涨,而且CPU的一个核也被打满,让我帮忙看下怎么回事,一般来说内存暴涨的问题都比较好解决,就让朋友抓一个 dump 丢过来,接下来我们用 WinDbg 一探究竟。 ## 二:WinDbg 分析 ### 1. 到底是

CAS前后端分离解决方案

CAS前后端分离解决方案 关于CSS服务器的搭建和整合SpringBoot参考:CAS5.3服务器搭建与客户端整合SpringBoot以及踩坑笔记 环境与需求 后端:springboot 前端: vue + element UI 在登录后之后登录状态在系统中自主控制。 问题 当接口在CAS过滤器中时

keepalived的简单使用

### 原理简述 本篇主要学习`keepalived`配合`nginx`实现nginx的高可用, 也就是需要keepalived检测到nginx宕机时停用keepalived, 备用keepalived会自动接收过来. 简单的原理(如下图), 主备服务器会配置相同的vip(虚拟ip), 谁的优先级高

CompletableFuture 使用总结

转载请注明出处: 1.Future使用对比 Future表示一个异步计算的结果。它提供了isDone()来检测计算是否已经完成,并且在计算结束后,可以通过get()方法来获取计算结果。在异步计算中,Future确实是个非常优秀的接口。但是,它的本身也确实存在着许多限制: 并发执行多任务:Future

ip addr命令解析

转载请注明出处: 1.ip addr命令使用解析 ip addr 命令是Linux系统中的一个网络管理工具,用于显示和配置系统中的网络接口及其地址信息。它可以列出系统中所有的网络接口及其详细信息,包括接口名称、MAC地址、IP地址、子网掩码、广播地址、网络类型、状态、传输单元大小等。 ip addr

Go中 net/http 使用

转载请注明出处: net/http是Go语言标准库中的一个包,提供了实现HTTP客户端和服务器的功能。它使得编写基于HTTP协议的Web应用程序变得简单和方便。 net/http包的主要用途包括: 实现HTTP客户端:可以发送HTTP请求并接收服务器的响应。 实现HTTP服务器:可以创建一个HTTP

软件设计模式系列之二———抽象工厂模式

抽象工厂模式是一种创建型设计模式,它提供了一种创建一组相关或相互依赖对象的方式,而无需指定它们的具体类。该模式以一组抽象接口为核心,包括抽象工厂接口和一组抽象产品接口,每个具体工厂类负责创建特定产品家族,保证这些产品之间的兼容性。客户端代码通过与抽象工厂和抽象产品接口交互,可以轻松地切换不同工厂来创建不同系列的产品。

软件设计模式系列之九——桥接模式

桥接模式是一种结构型设计模式,它用于将抽象部分与其实现部分分离,以便它们可以独立地变化。这种模式涉及一个接口,它充当一个桥,使得具体类可以在不影响客户端代码的情况下改变。桥接模式将继承关系转化为组合关系,从而减少类之间的紧密耦合度,使得系统更加灵活和可扩展。

Java多线程-ThreadLocal(六)

为了提高CPU的利用率,工程师们创造了多线程。但是线程们说:要有光!(为了减少线程创建(T1启动)和销毁(T3切换)的时间),于是工程师们又接着创造了线程池ThreadPool。就这样就可以了吗?——不,工程师们并不满足于此,他们不把自己创造出来的线程给扒个底朝天决不罢手。 有了线程关键字解决线程安

Netty-BIO、NIO、AIO、零拷贝-2

Java BIO 编程 一、I/O 模型 1、I/O 模型简单的理解:就是用什么样的通道进行数据的发送和接收,很大程度上决定了程序通信的性能 2、Java 共支持 3 种网络编程模型/IO 模式:BIO、NIO、AIO 3、Java BIO : 同步并阻塞(传统阻塞型),服务器实现模式为一个连接一个

Gin 中间件

中间件 在Gin框架中,中间件(Middleware)指的是可以拦截http请求-响应生命周期的特殊函数,在请求-响应生命周期中可以注册多个中间件,每个中间件执行不同的功能,一个中间执行完再轮到下一个中间件执行。 中间件的常见应用场景如下: 请求限速 api接口签名处理 权限校验 统一错误处理 Gi

SpringCloud-Gateway搭建保姆级教程

一、网关介绍 1、什么是网关? 使⽤服务⽹关作为接⼝服务的统⼀代理,前端通过⽹关完成服务的统⼀调⽤ 2、⽹关可以⼲什么? 路由:接⼝服务的统⼀代理,实现前端对接⼝服务的统⼀访问 过滤:对⽤户请求进⾏拦截、过滤(⽤户鉴权)、监控 限流:限制⽤户的访问流量 3、常⽤的⽹关 Nginx Spring Cl

服务端apk打包教程

本文我将给大家介绍一个 apk 打包工具 VasDolly 的使用介绍、原理以及如何在服务端接入 VasDolly 进行服务端打渠道包操作。 # 使用介绍 ![](https://files.mdnice.com/user/40549/f5237f40-854b-43dd-9786-d0f7aff0

Java:既然有了synchronized,为什么还要提供Lock?

摘要:在Java中提供了synchronized关键字来保证只有一个线程能够访问同步代码块。既然已经提供了synchronized关键字,那为何在Java的SDK包中,还会提供Lock接口呢?这是不是重复造轮子,多此一举呢? 本文分享自华为云社区《【高并发】Java中提供了synchronized,

DTSE Tech Talk | 第11期:深入浅出畅谈华为云低时延直播技术

摘要:详解华为云低时延直播在时延、首屏、卡顿率等体验的优化方案,及如何快速接入方法。 本文分享自华为云社区《DTSE Tech Talk | 第11期:深入浅出畅谈华为云低时延直播技术》,作者:华为云社区精选 。 本期直播主题是《深入浅出畅谈华为云低时延直播技术》,华为云媒体DTSE技术布道师杨金文

数据库实践丨使用MTK迁移Mysql源库后主键自增列导致数据无法插入问题

摘要:用户使用Mogdb 2.0.1版本进行业务上线测试,发现在插入数据时,应用日志中提示primary key冲突,用户自查业务SQL没有问题,接到通知后,招手处理故障。 本文分享自华为云社区《使用MTK迁移Mysql源库后主键自增列导致数据无法插入问题》,作者:Gauss松鼠会。 故障背景 用户

GaussDB(DWS)迁移:一种执行高效的TereData的marco迁移方案

摘要:提供一种执行高效的TereData的marco迁移方案。 本文分享自华为云社区《GaussDB(DWS)迁移 - teredata兼容 -- macro兼容 # 【玩转PB级数仓GaussDB(DWS)】》,作者: 譡里个檔 。 Teradata的宏是一组可以接受参数的SQL语句,通过调用宏名

带你动手设计一个高速公路多节点温度采集系统

摘要:本篇文章主要介绍设备上云的详细流程,介绍华为云物联网云端产品、设备创建流程,数据转存方式,应用侧开发接口等等。 本文分享自华为云社区《采用华为云IOT平台设计的高速公路多节点温度采集系统(STM32+NBIOT)》,作者:DS小龙哥。 一、前言 当前的场景是,在高速公路上部署温度采集设备,在高