模式 哨兵 集群springboot

一些常用的软件设计模式

# 1 工厂模式 工厂模式(Factory Pattern):定义一个创建对象的接口,但是让子类决定要实例化的类是哪一个,将对象的创建和使用分离开来,降低代码的耦合度。 工厂模式(Factory Pattern)是一种创建型设计模式,用于创建对象而不会暴露创建逻辑。它允许在运行时确定创建哪个具体类的 ......
设计模式 常用 模式 软件

Java 实现 WebSocket 集群转发:使用 Redis 发布订阅

场景 浏览器客户端 client1 连接到了服务端 A 的 websocket 节点。 浏览器客户端通过弹性负载均衡,把请求分配到了服务端 B,服务端 B 上没有 client1 的连接。 需求 服务端 B 把消息转发到服务端 A 上,找到 客户端 client1 的连接,发送出去。 画示意图 ![ ......
集群 WebSocket Redis Java

对于装饰器模式与代理模式的个人理解

对于这两个十分接近的设计模式,确实容易产生困惑,代理模式和装饰器模式看起来十分相似,都是由两个类实现相同的接口,然后一个类套另一个类。这件事足足困扰了我5分钟之久,在此总结一下它们的差别。 ## 目的不同 当你想要增强你的类,给你的类增加新功能的话,你就该使用装饰器模式了。 装饰器模式由于添加了功能 ......
模式 个人

mongodb副本集(PSA模式)修改节点信息

环境:OS:Centos7mongodb:4.4.22 我们在副本集扩容的情况下,新加入节点一般设置priority和votes都为0,待新节点数据同步完成后再进行修改:主库上执行新增新的节点:myrepl:PRIMARY>rs.add({ host: "192.168.1.107:29001", ......
副本 节点 mongodb 模式 信息

第一个springboot-starter

在一个SpringBoot项目启动时会默认扫描当前启动类SpringApplication所在目录的所有子目录,并扫描引入的jar的spring.factories文件,通过此文件把相关的配置加载到spring的容器中。 ##编辑自己的starter ###方式1:通过META-INF/spring ......
springboot-starter springboot starter

DDD设计思想整合Saga模式的简易框架

花了两天,写了个简陋的以领域驱动为思想的Saga模式事务管理框架,主要为了讲解:[领域驱动模型DDD(三)——使用Saga管理事务](https://www.cnblogs.com/linchenguang/p/16179193.html) 教学而设计的,只能在单体架构中使用,后续会更新分布式情况下 ......
设计思想 简易 框架 思想 模式

策略模式

[toc] ### 1. 概述 先看下面的图片,我们去旅游选择出行模式有很多种,可以骑自行车、可以坐汽车、可以坐火车、可以坐飞机。 ![](https://img2023.cnblogs.com/blog/1886066/202307/1886066-20230716225753173-218901 ......
策略 模式

springboot中静态资源的访问相关知识

一、基本介绍: (一)、只要静态资源放在类路径下(什么是类路径:在resources文件下)默认是这几个目录文件:/static、/public、/resources、/META-INF/resources等目录下的文件直接能够被访问 (二)、常见的静态资源:Js、css、图片(jbg、png、sv ......
静态 springboot 知识 资源

springboot或spring中使用编程式事务和声明式事务

![](https://img2023.cnblogs.com/blog/1892439/202307/1892439-20230716210002608-19181599.png) ![](https://img2023.cnblogs.com/blog/1892439/202307/189243 ......
事务 和声 程式 springboot spring

LVS实战-DR模式配置(常用、重点掌握)

LVS实战-DR模式配置(常用、重点掌握) 原创 Cloud研习社 Cloud研习社 2023-07-15 11:36 发表于山东 收录于合集 #一站式教程260个 #LVS9个 #计算机230个 #云计算266个 #linux274个 教程每周二、四、六更新 虚拟 IP 地址在RS和DS(即LVS ......
实战 常用 重点 模式 LVS

模板方法模式

[toc] ### 1. 概述 在面向对象程序设计过程中,程序员常常会遇到这种情况:设计一个系统时**知道了算法所需的关键步骤,而且确定了这些步骤的执行顺序**,但某些步骤的具体实现还未知,或者说某些步骤的实现与具体的环境相关。 例如,去银行办理业务一般要经过以下4个流程:取号、排队、办理具体业务、 ......
模板 模式 方法

浅析建造者模式

# 0. 前言 建造者模式是创建型设计模式的一种。本篇文章将介绍什么是建造者模式,以及什么时候用建造者模式,同时给出 `Kubernetes:kubectl` 中类似建造者模式的示例以加深理解。 # 1. 建造者模式 ## 1.1 从工厂函数说起 试想构建房子类,其属性如下: ``` type ho ......
模式

VMware ubuntu网卡桥接模式配置

仅对以下环境试验VMware 16.0.0 build-16894299 ubuntu 20.04 开发板:s5p6818 一个fast 家用路由器 连接:一根网线连开发板,一根网线连路由器lan口和主机,一根网线连笔记本和路由器lan口 为什么笔记本不用无线网卡?因为路由器没连网,我要连inter ......
网卡 模式 VMware ubuntu

SpringBoot中通过自定义Jackson注解实现接口返回数据脱敏

场景 SpringBoot中整合Sharding Sphere实现数据加解密/数据脱敏/数据库密文,查询明文: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/131742091 上面讲的是数据库中存储密文,查询时使用明文的脱敏方式 ......
注解 SpringBoot 接口 Jackson 数据

springboot中解决redissonClien无法注入,封装工具雷

引用:https://blog.csdn.net/feiying0canglang/article/details/120464693 问题来源 前几天遇到一个循环依赖问题,是RedissonClient这个bean引起的。RedissonClient是由一个配置类(@Configuration注解 ......
redissonClien springboot 工具

设计模式-法则大全

SOLID原则: 单一职责原则SRP:一个类只负责完成一个职责或功能;要设计粒度小、功能单一的类 开闭原则OCP:对扩展开放、对修改关闭;在已有基础上扩展代码(新增模块、类、方法等),而非修改已有代码(修改模块、类、方法等); 里式替换LSP:父类定义了函数的“约定”(或者协议),那子类可以改变函数 ......
设计模式 法则 模式 大全

Springboot JPA 集成多租户

背景: ​ iot-kit项目用的是jpa,不是mybatis,项目中需要引入多租户 参考文章: 【讲解多租户的实现与原理】 https://www.bilibili.com/video/BV1F84y1T7yf/?share_source=copy_web&vd_source=981718c4ab ......
租户 Springboot JPA

每日一题:SpringBoot中支持的事务类型

以下是每种事务类型的作用、代码示例和对代码的解释: 1. `PROPAGATION_REQUIRED`(默认): - 作用:如果当前存在事务,则方法将在该事务中运行;如果不存在事务,则创建一个新的事务。适用于大多数业务场景,确保方法在事务中执行,如果没有事务,则创建一个新的事务。 - 代码示例: ` ......
SpringBoot 事务 类型

springboot配置2

核心 自动配置原理 @condition条件判断注解 如果没配过就给你配 依赖底层的condition注解 里面参数是条件配置类 红色的就是不满足条件的类 ......
springboot

springboot3

通过maven项目构建springboot项目 创建maven项目 导入springboot依赖 编写一个主程序 必须加上springboot注解 主函数的快捷键psvm ;两个参数一个是主类,一个是主函数参数 部署测试 打包成一个jar文件包,可以在命令行运行直接 场景启动器 COntroller ......
springboot3 springboot

springboot 配置

配置文件yam 名字是固定的,yaml后缀也可以 比XML更适合 大量的标记被浪费 yml语法 把空格玩到极致 如何编写yaml文件并绑定 只有这个组件是容器中的组件才能使用容器的功能@COmponent 如何在properties编写 value配置对比 @Propertysource注解 当我们 ......
springboot

SpringBoot中整合Sharding Sphere实现数据加解密/数据脱敏/数据库密文,查询明文

场景 为防止数据泄露,需要在插入等操作时将某表的字段在数据库中加密存储,在需要查询使用时明文显示。 Sharding Sphere ShardingSphere是一套开源的分布式数据库中间件解决方案组成的生态圈, 它由Sharding-JDBC、Sharding-Proxy和Sharding-Sid ......
数据 密文 明文 SpringBoot Sharding

SpringBoot中集成jasypt-spring-boot实现配置文件数据加密脱敏

场景 经常会遇到这样一种情况:项目的配置文件中总有一些敏感信息,比如数据源的url、用户名、 密码....这些信息一旦被暴露那么整个数据库都将会被泄漏,那么如何将这些配置隐藏呢。 除了使用手动将加密之后的配置写入到配置文件中,提取的时候再手动解密的方式,还可以使用如下 方式。 jasypt-spri ......

聊聊我认为的分布式、集群实现关键点

基于常见的中间件(Mysql、ElasticSearch、Zookeeper、Kafka、Redis)等分布式集群设计的机制,自己总结了在在集群设计过程中需要考虑的通用问题。 ### 节点通信机制 主节点的增加、删除、通信机制。 ### 路由算法 即数据路由到哪个节点的策略机制。在集群内有多个节点, ......
关键点 分布式 集群 关键

02-设计模式-观察者模式

观察者模式涉及的对象: > - 观察者接口、观察者接口的实现类 > - 被观察者接口、被观察者接口的实现类 1、观察者接口-代码: ```java public interface Observer { void update(String msg); } ``` 2、观察者接口的实现类-代码: ` ......
模式 观察者 设计模式 02

01-设计模式-代理模式

## 1、代理模式的分类 代理模式分为: > 静态代理:在编译阶段确定了被代理对象的类型,简单。 > 动态代理:在运行阶段确定了被代理对象的类型,复杂。 ## 2、静态代理 静态代理涉及的类: > 1. 一个接口,下面的例子中命名为`Subject` > 2. 实现了接口的 被代理对象`RealSu ......
模式 设计模式 01

SpringBoot项目优雅停机+Pid暴力停机

# bootstrap.yaml配置项目的pid输出位置 ```yaml spring: pid: file: F:/cloud-nacos/cloud_gateway/application.pid ``` # springboot项目修改启动类启动方式 > 原始启动类 SpringApplica ......
SpringBoot 暴力 项目 Pid

01:SpringBoot2入门

1、系统要求 Java 8 & 兼容java14 . Maven 3.3+ idea 2019.1.2+(示例采用的idea2023.01) Spring Boot 的文档:https://spring.io/projects/spring-boot SpringBoot2.7.13版本文档:htt ......
SpringBoot2 SpringBoot

职责链模式-15

### 概述 职责链模式 (Chain of Responsibility Pattern) 又称责任链模式。它将请求的发送者和接收者解耦,如果有多个接收者,将这些接收者连接成一条链,请求沿着这条链传递,直到被处理。 **优点**:降低耦合度,符合“开闭原则”。 **缺点**:请求不一定会被处理。链 ......
职责 模式 15

SpringBoot+Vue3+MySQL集群 开发健康体检双系统

第1章 课程介绍 试看4 节 | 38分钟观看项目演示,熟悉大健康体检项目主要功能。掌握学习本课程的最佳方法,以及如何利用在线手册学习和答疑。第2章 大健康体检项目全栈环境搭建16 节 | 218分钟利用虚拟机或者云主机安装Linux系统和Docker环境,部署MongoDB、Redis、Minio ......
健康体检 集群 SpringBoot 系统 MySQL