负载均衡和反向代理的区别

Redis的数据持久化

介绍 Redis 的数据持久化方案 Redis 的数据持久化主要有两大机制,AOF 日志和 RDB 快照。 AOF 持久化是通过保存 Redis 服务器所执行的写命令来记录数据库状态。 RDB 持久化是通过保存数据库中的键值对来记录数据库状态。 根据服务器是否启用了 AOF 持久化功能, 服务器载入 ......
数据 Redis

MongoDB - 数据模型的设计模式

在实际开发中,大多数性能问题都可以追溯到糟糕的模型设计。官方也提供分享过文档模型设计的进阶技巧,这里简单翻译记录一下。 ......
设计模式 模型 MongoDB 模式 数据

制作 Python Docker 镜像的最佳实践

概述 📚️Reference: 制作容器镜像的最佳实践 这篇文章是关于制作 Python Docker 容器镜像的最佳实践。(2022 年 12 月更新) 最佳实践的目的一方面是为了减小镜像体积,提升 DevOps 效率,另一方面是为了提高安全性。希望对各位有所帮助。 通用 Docker 容器镜像 ......
镜像 Python Docker

基于 Traefik 的 Basic Auth 配置

前言 Traefik是一个现代的HTTP反向代理和负载均衡器,使部署微服务变得容易。 Traefik可以与现有的多种基础设施组件(Docker、Swarm模式、Kubernetes、Marathon、Consul、Etcd、Rancher、Amazon ECS...)集成,并自动和动态地配置自己。 ......
Traefik Basic Auth

软考复盘:我的一些复习经验分享

今年(2022)复习备考参加了软考高级资格中的系统架构设计师考试,为了多年前的一个所谓的高级职称资格的心愿,刚好也幸运地通过了考试。今天跟大家再次介绍一下软考,以及分享一些我的复习经验,希望对你有所帮助! ......
经验

flutter系列之:移动端手势的具体使用

简介 之前我们介绍了GestureDetector的定义和其提供的一些基本的方法,GestureDetector的好处就是可以把任何一个widget都赋予类似button的功能。 今天将会通过几个具体的例子来讲解一下GestureDetector的具体使用。 赋予widget可以点击的功能 一般情况 ......
手势 flutter

监控Kubernetes集群证书过期时间的三种方案

前言 Kubernetes 中大量用到了证书, 比如 ca证书、以及 kubelet、apiserver、proxy、etcd等组件,还有 kubeconfig 文件。 如果证书过期,轻则无法登录 Kubernetes 集群,重则整个集群异常。 为了解决证书过期的问题,一般有以下几种方式: 大幅延长 ......
集群 Kubernetes 证书 时间 方案

基于容器的PaaS混合云的几种形式

概述 这是 Gartner 的一个图,提供了全球的基于容器的 PaaS 公有云、混合云服务的梳理展示: 这里提供一个其他的视角: 中国市场,基于容器的 PaaS 混合云(公有云 + 私有云)的相关厂商及产品。 ❗️ 注意: 文章目前还是初版,只是厂商和产品的一个简单罗列,后面会进一步细化。 另外由于 ......
容器 形式 PaaS

图解B树及C#实现(2)数据的读取及遍历

前言 本文为系列文章 B树的定义及数据的插入 数据的读取及遍历(本文) 数据的删除 前一篇文章为大家介绍了 B树 的基本概念及其插入算法。本文将基于前一篇的内容,为大家介绍插入到 B树 中的数据该怎么读取及遍历, 本文的代码基于前一篇文章的代码,已经实现的功能可能会被省略,只介绍新增的功能。 在本文 ......
数据

通过surging的后台托管服务编写任务调度并支持规则引擎自定义脚本

简介 过去,如果在业务中需要处理任务调度的时候,大家都会使用第三方的任务调度组件,而第三方组件有一套自己的规则,在微服务的中显得那么格格不入,这样就会造成代码臃肿,耦合性高,如果有分布式还需要搭建新的分布式环境,如果把任务调度做成组件服务,这个就完全满足了微服务的模块化,组件化,而下面谈的是在sur ......
脚本 后台 规则 任务 surging

五年经验的前端社招被问:CPU 和 GPU 到底有啥区别?

首先来看 CPU 和 GPU 的百科解释: CPU(Central ProcessingUnit,中央处理器):功能主要是解释计算机指令以及处理计算机软件中的数据 GPU(Graphics ProcessingUnit,图形处理器;又称显示核心、显卡、视觉处理器、显示芯片或绘图芯片):GPU 不同于 ......
前端 经验 CPU GPU

CPU 和 CPU Core 有啥区别?多核 CPU?多个 CPU?

CPU 全称 Central Processing Unit,中央处理器,计算机的大脑,长这个样子: CPU 通过一个插槽安装在主板上,这个插槽也叫做 CPU Socket,它长这个样子: 而我们说的多核 CPU,一个 CPU 有几个核,这个核就是 Core 其实在很久之前是没有 Core 的概念的 ......
CPU 多个 Core

开局一张图,构建神奇的 CSS 效果

假设,我们有这样一张 Gif 图: 利用 CSS,我们尝试来搞一些事情。 图片的 Glitch Art 风 在这篇文章中 --CSS 故障艺术,我们介绍了利用混合模式制作一种晕眩感觉的视觉效果。有点类似于抖音的 LOGO。 像是这样: 假设,我们有这样一张图: 只需要一个标签即可 <div clas ......
开局 效果 CSS

现代 CSS 高阶技巧,完美的波浪进度条效果!

本文是 CSS Houdini 之 CSS Painting API 系列第三篇。 现代 CSS 之高阶图片渐隐消失术 现代 CSS 高阶技巧,像 Canvas 一样自由绘图构建样式! 在上两篇中,我们详细介绍了 CSS Painting API 是如何一步一步,实现自定义图案甚至实现动画效果的! ......
高阶 波浪 进度 效果 技巧

时间片差分调度法-充分利用MCU的资源

前言 通过该篇学习了嵌入式的任务调度(即时间片论法)后,了解到通过以1ms为调度时间单位轮询判断是否需要执行函数任务,那么下面介绍如何基于时间片论法的任务调度模式充分利用MCU的资源,姑且先称这种方式为时间片差分调度法。 充分利用MCU的资源指的是在不影响原有的函数调度情况下合理进行分配,避免MCU ......
时间 资源 MCU

手画图解,关于死锁,面试的一切都在这里了

什么是死锁(Deadlock) 死锁是指两个或两个以上的线程在执行过程中,因争夺资源而造成的一种互相等待的现象。若无外力作用,它们都将无法推进下去。 产生死锁的四个必要条件得烂熟于心: 互斥条件:进程要求对所分配的资源进行排他性控制,即在一段时间内某资源仅为一个进程所占用。此时若有其他进程请求该资源 ......

Docker进阶-Dockerfile建立一个自定义的镜像执行自定义进程

前言 docker对我来说是一个很方便的工具,,上一篇文章也写了docker基本的一些使用,这篇文章重点描述一下Dockerfile的使用,从零建立一个自己定制化的镜像,并可以执行我们需要的任务。 作者:良知犹存 转载授权以及围观:欢迎关注微信公众号:羽林君 或者添加作者个人微信:become_me ......
Dockerfile 进程 镜像 Docker

自己动手基于 Redis 实现一个 .NET 的分布式锁类库

分布式锁的核心其实就是采用一个集中式的服务,然后多个应用节点进行抢占式锁定来进行实现,今天介绍如何采用Redis作为基础服务,实现一个分布式锁的类库,本方案不考虑 Redis 集群多节点问题,如果引入集群多节点问题,会导致解决成本大幅上升,因为 Redis 单节点就可以很容易的处理10万并发量了,这 ......
分布式 Redis NET

微服务组件-----Spring Cloud Alibaba 注册中心Nacos的CP架构Raft协议分析

前言 本篇幅是继 注册中心Nacos源码分析 的下半部分。 意义 【1】虽说大部分我们采用注册中心的时候考虑的都是AP架构,为什么呢?因为性能相对于CP架构来说更高,需要等待的时间更少【相对于CP架构,采用的是二段提交,AP架构是直接落盘数据,然后进行数据扩散,来达到最终一致,所以客户端收到响应会更 ......
架构 组件 Alibaba Spring Cloud

LVS 负载均衡

LVS 负载均衡 本篇主要介绍一下 lvs 是什么 以及它的 nat 模式的搭建 配合nginx来演示 1.概述 LVS 是 Linux Virtual Server 的简写 (Linux 虚拟服务器 ), 是由章文嵩博士主导, 它虚拟出一个服务器集群,然后进行负载均衡的项目, 目前LVS 已经被集 ......
LVS

你不知道的Map家族中的那些冷门容器

概述 本篇文章主要讲解下Map家族中3个相对冷门的容器,分别是WeakHashMap、EnumMap、IdentityHashMap, 想必大家在平时的工作中也很少用到,或者压根不知道他们的特性以及适用场景,本篇文章就带你一探究竟。 WeakHashMap 介绍 WeakHashMap称为弱三列映射 ......
冷门 容器 家族 Map

使用C# 11的静态接口方法改进 面向约定 的设计

C# 11带来了一个我期待已久的特性——接口方法。我们知道接口是针对契约的定义,但是一直以来它只能定义一组“实例”的契约,而不能定义类型(的静态成员)的契约,因为定义在接口中的方法只能是实例方法。由于缺乏针对“类型契约”的支持,我们在设计一些框架或者类库的时候,只能采用“按照约定”的设计,比如ASP... ......
静态 接口 方法

甜点cc的2022年回顾总结

希望我会像十七八岁时那样勇敢、无畏、做自己,充满无穷的力量,想去的地方一下子就能飞的到,无限膨胀,膨胀到全世界都知道我的存在! ......
甜点 2022

JAVA中的注解可以继承吗?

前言 注解想必大家都用过,也叫元数据,是一种代码级别的注释,可以对类或者方法等元素做标记说明,比如Spring框架中的@Service,@Component等。那么今天我想问大家的是类被继承了,注解能否继承呢?可能会和大家想的不一样,感兴趣的可以往下看。 简单注解继承演示 我们不妨来验证下注解的继承 ......
注解 JAVA

深度学习炼丹-不平衡样本的处理

数据层面的处理方法总的来说分为数据扩充和数据采样法,数据扩充会直接改变数据样本的数量和丰富度,采样法的本质是使得输入到模型的训练集样本趋向于平衡,即各类样本的数目趋向于一致。 ......
样本 深度

推荐8个提高工作效率的IntelliJ插件

前言 欢迎关注微信公众号「JAVA旭阳」交流和学习 IntelliJ目前已经成为市面上最受欢迎的Java开发工具,这得益于里面非常丰富的插件机制。本文我将分享在日常开发中我经常使用的5个插件,它们可以帮助您提高工作效率。 1. GenerateAllSetter 作为开发人员,我们总是需要new() ......
插件 IntelliJ 效率

Gradle 使用maven本地仓库 带来的思考

Gradle 使用maven本地仓库 带来的思考 本篇主要探究一下 在使用Gradle 的时候一般会配置 maven 的本地仓库的,那是不是Gradle 可以直接使用 maven本地仓库的jar呢 ? 下面来探究一下 思考 当我们在使用Gradle的时候 一配置一个 mavenLocal() 代表它 ......
仓库 Gradle maven

git相关问题解析,你想要的都有🔥

我是甜点cc,git版本管理工具,只要是软件开发人员都会使用到,了解git的使用会带来事半功倍的效果,git相关问题最全解析? ......
128293 问题 git

记一次InputStream流读取不完整留下的惨痛教训

前言 首先,问问大家下面这段流读取的代码是否存在问题呢? inputStream = .... try { // 根据inputStream的长度创建字节数组 byte[] arrayOfByte = new byte[inputStream.available()]; // 调用read 读取字节 ......
InputStream 教训

8个Spring事务失效的场景,你碰到过几种?

前言 作为Java开发工程师,相信大家对Spring种事务的使用并不陌生。但是你可能只是停留在基础的使用层面上,在遇到一些比较特殊的场景,事务可能没有生效,直接在生产上暴露了,这可能就会导致比较严重的生产事故。今天,我们就简单来说下Spring事务的原理,然后总结一下spring事务失败的场景,并提 ......
场景 事务 Spring