#后端与微服务
后端与微服务导读 后端开发中的实战深度文。本系列涵盖分库分表、接口参数加解密、敏感数据保护、Elasticsearch、Spring Cloud Gateway 安全、MVC 分层、登录鉴权、JVM 内存与反射机制、爬虫系统建设,共 16
爬虫系统建设实战爬虫系统建设实战 爬虫系统建设实战文档 —— 从零搭建一套可维护、可扩展、可自愈的招聘信息爬虫 一、先建立正确认知:爬虫不是"抓网页",而是"建立数据生产线" 很多人学爬虫,停留在: requests 请求网页 BeautifulSoup
分库分表最佳实践:从基础原理到高阶架构设计分库分表最佳实践:从基础原理到高阶架构设计 “分库分表的本质是为了解决单机数据库的物理极限。当单表数据超过 500万行 或 连接数/IO 打满时 ,传统的 B+ 树索引性能会急剧下降。这时候,必须通过拆分来用空间换时间。 “拆分策略通常分两
接口参数加解密与签名验证深度解析接口参数加解密与签名验证深度解析 引子:前后端分离的安全隐患 在微服务架构下,前后端分离已成为标配。但这种架构也带来了一个严重的安全问题:接口参数完全暴露在网络中。 !7Blog/后端与微服务/assets/前后端分离的安全风险220471
敏感数据保护:展示脱敏与加密存储深度解析敏感数据保护:展示脱敏与加密存储深度解析 核心理念 敏感数据保护是两道防线:存储时加密防止数据泄露,展示时脱敏防止信息暴露。 这不仅是技术问题,更是合规要求。在金融、医疗、电商等领域,数据保护是法律红线。 整体架构一览 !7Blog/后端与
加密脱敏最佳实践加密脱敏最佳实践 在使用这套数据加密脱敏框架时完全不用手动写加密解密代码——给实体类字段加注解就行:密码字段贴@Password,框架会自动用BCrypt做单向加密;手机、邮箱这类字段贴@FieldEncrypt,选个AES之类的可逆算法就
从决策到落地:如何根据业务优雅设计库表从决策到落地:如何根据业务优雅设计库表 ❓ 什么时候需要分库分表?用什么指标判断? ❓ 垂直分还是水平分?分库还是分表? ❓ 分片键怎么选?多个查询维度怎么办? ❓ 父子表、关联表如何处理? ❓ 如何保证数据均匀分布? ❓ 面对新业务,如何
Elasticsearch 学习笔记Elasticsearch 学习笔记 Elasticsearch 写入时先将每篇文章分词,再反向建立 “单个词汇→包含该词汇的所有文章” 的倒排索引,同时对词汇排序以支撑后续高效查询;搜索时则先借助内存中的 Term Index 前缀定位
Spring Cloud Gateway 安全验证完整解决方案Spring Cloud Gateway 安全验证完整解决方案 1. 架构设计 !请求处理流程4ec98476.jpg 2. Maven 依赖 xml <?xml version="1.0" encoding="UTF8"? <projec
登录鉴权登录鉴权 一、设计理论 1.1 两种鉴权模式对比 !鉴权dd9c97cc.jpg 1.2 认证流程图 SessionCookie 模式 !SessionCookie657a37d4.jpg JWT Token 模式 !JWT_Token4a
SpringBoot MVC 分层最佳实践SpringBoot MVC 分层最佳实践 1. 项目结构规范 1.1 推荐目录结构 text src/main/java/com/example/project/ ├── controller/ 控制器层 │ └── UserContro
前后端10种鉴权方案前后端10种鉴权方案 前言 还记得之前在面试的时候,有一位面试官就问了,关于前端鉴权https://so.csdn.net/so/search?q=%E9%89%B4%E6%9D%83&spm=1001.2101.3001.7020这块,T
JMM与内存可见性JMM与内存可见性 一、Java 内存模型(JMM)概述 1.1 什么是 JMM? 定义:Java Memory Model(JMM)是 Java 虚拟机规范定义的一种内存模型,用于屏蔽各种硬件和操作系统的内存访问差异,实现跨平台的内存访问
垃圾回收与GC算法垃圾回收与GC算法 核心概念 垃圾回收(Garbage Collection, GC) 是 JVM 自动管理内存的机制,通过「判断对象是否存活 → 选择回收算法 → 使用垃圾收集器」三个步骤,自动释放不再使用的对象占用的内存,避免内存泄漏和
注解原理注解原理 注解(Annotation)是 Java 提供的一种元数据机制,本质上是给代码打“标签”,让程序、编译器或框架在特定阶段“看懂这个标签”,并执行特定的处理逻辑。它是对 Java 语言的一种语义扩展,虽然注解本身不具有行为,但框架或
动态代理动态代理 问:什么是动态代理?JDK 和 CGLIB 有什么区别? 动态代理就是一种“运行时帮你生成代理对象”的机制,它的最大特点是:你不需要提前写好代理类,而是在程序运行的时候,框架帮你“临时织入”增强逻辑。 在不动原来业务代码的前提下,
Spring IOC(控制反转)Spring IOC(控制反转) !note 定位说明 Spring 系列第 1 篇(九部分系统讲解,1660 行)。核心回答:对象为什么交给容器创建——从"问题的提出"到 BeanFactory/ApplicationContext 容器