SPRING 十二月 04, 2022

为非全局路径配置 Filter 的两种方法

文章字数 16k 阅读约需 15 mins.

原文地址:https://wyiyi.github.io/amber/2022/12/01/filter-note/

Filter 上加 @WebFilter (javax.servlet.annotation...

查看全文

SPRING 十二月 04, 2022

为非全局路径配置 Filter 的两种方法

文章字数 16k 阅读约需 15 mins.

原文地址:https://wyiyi.github.io/amber/2022/12/01/filter-note/

Filter 上加 @WebFilter (javax.servlet.annotation.WebFilter),指定 value,启动类加 @ServletComponentScan

【注意】:@ServletComponentScan 这个注解仅对内嵌的 tomcat 生效,如果使用单独的 tomcat,这种方式无效

示例一:

@WebFilter(filterName ...
查看全文

LINUX 十一月 27, 2022

【转】理解inode

文章字数 5.1k 阅读约需 5 mins.

原文地址:https://ruanyifeng.com/blog/2011/12/inode.html

作者:阮一峰

理解inode,要从文件储存说起。

文件储存在硬盘上,硬盘的最小存储单位叫做”扇区”(Sector)。每个扇区储存512字节(相当于0.5KB)。

操作系统读取硬盘的时候,不会一个个扇区地读取,这样效率太低,而是一次性连续读取多个扇区,即一次性读取一个”块”(block)。这种由多个扇区组成的”块”,是文件存取的最小单位。”块”的大小,最常见的是4KB,即连续八个 sector组...

查看全文

K8S 十一月 20, 2022

K8s 中的 MySQL 频繁重启问题调查

文章字数 5.7k 阅读约需 5 mins.

K8s 集群中部署了一个 MySQL 实例,使用过程中发现,由于配置了健康检查,健康检查频繁失败,导致容器被频繁重启,无法提供稳定的 MySQL 服务。

MySQL 日志中的相关报错信息如下:

[ERROR] Can't create thread to handle new connection(errno= 11)

在重新启动后,能够正常使用一小段时间,之后就会报出这个错误,并陆续关闭客户端连接,直至关闭服务,重启容器。如此反复,每天能重启近百次。

通过 kubectl describe...

查看全文

LINUX 十一月 13, 2022

【转】Linux Cgroup系列(03):限制cgroup的进程数(subsystem之pids)

文章字数 8.7k 阅读约需 8 mins.

原文地址:https://segmentfault.com/a/1190000007468509

作者:public0821

上一篇文章中介绍了如何管理cgroup,从这篇开始将介绍具体的subsystem。

本篇将介绍一个简单的subsystem,名字叫pids,功能是限制cgroup及其所有子孙cgroup里面能创建的总的task数量。

注意:这里的task指通过fork和clone函数创建的进程,由于clone函数也能创建线程(在Linux里面,线程是一种特殊的进程),所以这里的task...

查看全文

DATABASE 十一月 06, 2022

TiDB 数据库核心原理与架构 [TiDB v6](101)笔记

文章字数 14k 阅读约需 13 mins.

在线学习地址:https://learn.pingcap.com/learner/course/960001

  • TiDB 整体架构:TiDB Server、TiKV、TiFlash、PD
  • TiFlash 是 TiKV 的列存版本,并参与复制,保持数据一致
  • PD(Placement Driver) 节点记录数据在哪些 TiKV 或 TiFlash 节点上,以及全局时间戳(TSO),还会配合 TiDB Server 生成事务的唯一 ID
  • 数据分区(Region)存储(96~144mb),默认三副...
查看全文

BOOK 十月 30, 2022

《Istio in Action》书摘

文章字数 38k 阅读约需 34 mins.

1.4.3 Meet Envoy proxy

  • Envoy gives us networking capabilities like retries, timeouts, circuit breaking, client-side load balancing, service discovery, security, and metrics-collection without any explicit language or framework dependencies.
  • The power...
查看全文

BOOK 十月 23, 2022

《Kubernetes Patterns》书摘

文章字数 25k 阅读约需 23 mins.

  • Local and distributed primitives

Annotations

  • Another primitive very similar to labels is called annotations. Like labels, annotations are organized as a map, but they are intended for specifying nonsearchable metadata and for machine usage rather than...
查看全文

JAVA 十月 15, 2022

黑客松云原生赛道初赛程序设计分享

文章字数 15k 阅读约需 13 mins.

2Core / 4GB 的总资源限制内,在容器中运行一个基于文本日志文件的统计分析程序,统计发表评论最多的前10位用户,并按顺序返回用户名、该用户的评论次数、该用户不重复的评论数量以及最近发表评论的时间

  1. 按照评论次数由多到少进行排序
  2. 当用户评论次数相同时,将内容不重复的评论数量较多的用户排在前面
  3. 当“用户评论次数”与“不重复的评论次数”均相同时,以“最近发表评论的时间”排序,内容较新的用户排在前面

正式比赛的数据量级为1000万(可能会有零头,但不低于1000万,不超过1001万),数据文...

查看全文

JAVA 十月 09, 2022

MapStruct - Java bean 映射,简单的方法!

文章字数 14k 阅读约需 13 mins.

应用程序通常需要在不同的对象模型(例如实体和 DTO)之间进行映射,如:在前后台传输过程中,持久层定义的实体类经常需要映射到其它的对象模型进行相互转换。

MapStruct 是一个代码生成器,在不同的对象模型(例如 实体 和 DTO)之间进行映射,它基于约定优于配置的方法,极大地简化了 Java bean 类型之间的映射实现。

MapStruct 是一个 Java 注释处理器,用于生成类型安全、高性能和无依赖关系的 bean 映射代码。

与其他映射框架相比,MapStruct 在编译时生成 bean...

查看全文

WEB 十月 02, 2022

【转】跨域(CORS)问题分析与解决方案

文章字数 6.5k 阅读约需 6 mins.

原文地址:跨域(CORS)问题分析与解决方案

新创建一个 VUE 工程,使用 fetch 函数(如下所示) 调用后台 GET 接口,希望能够在后台获得到响应。

fetch('http://127.0.0.1:8080/api/amber/userinfo/hello')
  .then(response => response)

当浏览器访问:http://127.0.0.1:8181/#/ 就出现了问题:后台能够接到请求,但返回响应被浏览器拦截。
查看浏览器的 NETWORK ...

查看全文
加载更多
0%