- 博客(260)
- 收藏
- 关注
原创 docker容器镜像加速
自从阿里的加速地址不能用之后,简直可以算是面临新的一大挑战,别的加速地址也是经常翻车,如果有能力还是选择科学上网的方式吧。由于国内访问国外的容器镜像仓库速度比较慢,因此国内企业创建了容器镜像加速器,以方便国内用户使用容器镜像。了解即可,现在仅限阿里云用户在其支持公网访问的阿里云产品上使用该镜像加速能力。,使用时参照配置阿里云镜像加速时的方式对加速地址进行替换即可。配置如下内容,添加镜像加速地址。
2024-12-03 15:16:01 128
原创 Docker容器镜像
Docker 镜像是只读的容器模板(字帖),是Docker容器基础(临摹)为Docker容器提供了静态文件系统运行环境(rootfs)是容器的静止状态容器是镜像的运行状态联合文件系统(union filesystem)联合文件系统是实现联合挂载技术的文件系统联合挂载技术可以实现在一个挂载点同时挂载多个文件系统,将挂载点的原目录与被挂载内容进行整合,使得最终可见的文件系统包含整合之后的各层文件和目录。
2024-12-03 11:56:07 813
原创 容器运行应用及Docker命令
docker attach 退出容器时,如不需要容器再运行,可直接使用exit退出;docker ps 查看正在运行的容器,本案例由于没有命令在容器中运行,因此容器被停止了,所以本次查看没有结果。如果容器处于运行状态,则需要提前关闭容器后,再删除容器。为前面生成的容器ID号前4位,使用这个ID号时,由于其较长,使用时能最短识别即可。命令,查看正在运行的容器,如果想查看没有运行的容器,需要在此命令后使用。键,可以退出交互式的容器,容器会处于运行状态。可以查看正在运行的和停止运行的容器。
2024-12-03 11:33:55 566
原创 容器技术所涉及Linux内核关键技术
很多编程语言都包含了命名空间的概念,我们可以认为命名空间是一种封装,封装本身实际上实现了代码的隔离在操作系统中命名空间命名空间提供的是系统资源的隔离,其中系统资源包括了:进程、网络、文件系统…实际上linux系统实现命名空间主要目的之一就是为了实现轻量级虚拟化服务,也就是我们说的容器,在同一个命名空间下的进程可以感知彼此的变化,而对其他命名空间的进程一无所知,这样就可以让容器中的进程产生一个错觉,仿佛它自己置身于一个独立的系统环境当中,以此达到独立和隔离的目的。
2024-12-03 10:29:14 620
原创 容器技术前世今生
这就意味着,底层容器的实现方式变成了一种可变的方案,无论是使用namespace、cgroups技术抑或是使用systemd等其他方案,只要实现了Libcontainer定义的一组接口,Docker都可以运行。Process容器于2006年由谷歌公司推出,旨在对一整套进程集合中的资源使用量(包括CPU、内存、磁盘I/O以及网络等等)加以限制、分配与隔离。随着Docker的不断发展,它开始有了更为远大的目标,那就是反向定义容器的实现标准,将底层实现都抽象化到Libcontainer的接口。
2024-12-03 08:53:37 558
原创 应用(Application)部署容器化演进之路
虚拟机采用虚拟化技术手段实现物理服务器计算资源打包的方式,为应用程序提供类物理服务器运行环境能够实现应用程序与应用程序之间的隔离使用自动化技术部署应用程序及应用程序迁移较方便可横向扩展容器容器是轻量级物理服务器计算资源的打包方式,即轻量级虚拟机,为应用程序提供类虚拟机运行环境。可在物理服务器中实现高密度部署容器与虚拟机对比对比属性容器(Container)虚拟机(VM)隔离性基于进程隔离提供资源的完全隔离启动时间毫秒级或秒级秒级或分钟级内核共用宿主机内核使用独立内核。
2024-12-03 08:43:55 324
原创 CentOS 9 配置静态IP
CentOS 7 于 2014年6月发布,基于 RHEL 7,并在 2024年6月30日 结束维护。CentOS 9 作为目前的最新版本,今天闲来闲来无事下载下来后研究研究。为了方便学习使用,第一步就是配置静态IP,方便ssh服务远程连接。所以我按照以往配置静态ip的经验进行了如下操作:但是出现了如下问题
2024-12-01 14:53:58 715
原创 kubernetes-sigs / nfs-subdir-external-provisioner
【代码】kubernetes-sigs / nfs-subdir-external-provisioner。
2024-11-27 18:39:39 226
原创 SpringAOP模拟实现
MethodInvocation 的编程技巧在实现拦截器、过滤器时能用上。代理对象调用流程如下(以 JDK 动态代理实现为例)图中不同颜色对应一次环绕通知或目标的调用起始至终结。获得 MethodInterceptor 链。
2024-11-18 18:31:30 777
原创 Shell脚本语法随笔
Shell 脚本是用于自动化任务、配置管理和系统管理的重要工具。本文将详细介绍如何编写 Shell 脚本,包括基本语法、变量、条件判断、循环、函数、数组和文件测试等内容。
2024-11-09 23:21:02 981
原创 ServletContext介绍
当tomcattomcattomcat服务器启动的时候,会为每个Web项目创建一个唯一的ServletContextServletContext对象,该对象代表当前整个Web应用项目。该对象不仅封装了当前Web应用的所有信息,而且实现了多个servletservletservlet的数据共享。在ServletContextServletContext。
2024-11-06 01:05:47 1196
原创 SpringBoot健康监控
每一个微服务在云上部署以后,我们都需要对其进行监控、追踪、审计、控制等。SpringBoot就抽取了Actuator场景,使得我们每个微服务快速引用即可获得生产级别的应用监控、审计等功能。SpringBoot Admin 有两个角色,客户端(Client)和服务端(Server)。会发现内容多了,里面的地址分别都可以访问,记录的是对应的健康监测的信息。1、创建 admin_server 模块,引入依赖。3、暴露所有监控信息为HTTP。1、在任意服务里面引入依赖。能够搭建 可视化监控平台。
2024-11-05 16:24:08 733
原创 Servlet梳理
Servlet 是一个接口,即规范。 定义的实现类必须实现接口中的所有的抽象方法。 S e r v l e t Servlet 全称 Server Applet 服务器端的程序。 是sun公司提供一套规范,用来处理客户端请求、响应给浏览器的动态web资源。 其实 S e r v l e t Servlet的实质就是 j a v a java代码,通过 j a v a java的API动态的向客户端输出内容,并且从客户端接收数据。 一个类要想通过浏览器被访问到,那么这个类就必须直接或间接
2024-11-05 00:38:16 983
原创 Filter&Listener组件
生活中的过滤器净水器、空气净化器、地铁安检web中的过滤器当用户访问服务器资源时,过滤器将请求拦截下来,完成一些通用的操作FilterFilterFilter的作用拦截客户端对web资源的请求(重要!拦截web资源对客户端的响应应用场景如:登录验证、统一编码处理、敏感字符过滤FilterFilterFilter表示过滤器接口,我们想使用该接口必须自定义类实现接口并实现该接口中的所有抽象方法。方法说明过滤器对象创建的时候调用的方法。
2024-11-05 00:34:42 1038
原创 Maven随笔
Maven 是 Apache 旗下的一个开源项目,是一款用于管理和构建项目的工具,它基于项目对象模型(Project Object Model,简称: POM) 的概念,通过一小段描述信息来管理项目的构建、报告和文档。
2024-11-03 00:08:26 1338
原创 Linux命令
比如,简单的ls命令就有:-a -A -b -c -C -d -D -f -F -g -G -h -H -i -I -k -l -L -m -n -N -o -p -q -Q -r-R -s -S -t -T -u -U -v -w -x -X -1等选项,可以发现选项是极其多的。通常情况下是采用“[n1[n2]]”操作参数的格式。为Linux中的文本编辑器,vim是vi的加强版,不仅能编辑文本而且还具有 shell 程序编辑的功能,可以用不同颜色的字体来辨别语法的正确性,极大方便了程序设计和编辑性;
2024-11-01 02:17:27 821
原创 Could not retrieve mirrorlist http://mirrorlist.centos.org/?release=7&arch=x86_64&repo=os&infra=stoc
的官方支持已经结束,部分仓库已被移至归档库。这导致了你的 yum 命令无法找到所需的元数据文件。CentOS 7 的官方仓库在 2024 年。出现这个错误是因为使用的 CentOS 7 仓库已经被归档,当前的镜像地址无法找到所需的文件。6 月 30 日之后已经停止维护。因此,使用最新的 CentOS 7 官方仓库可能会遇到问题。抓包正常,网络没有问题;尝试更新yum,再次运行还是异常。发现镜像已改为了阿里云的,可以正常使用了。
2024-10-31 15:10:19 372
原创 Kubernetes介绍与集群架构
node节点用于运行以及维护Pod, 管理volume(CVI)和网络(CNI),维护pod及service等信息kubelet负责维护容器的生命周期(创建pod,销毁pod),同时也负责Volume(CVI)和网络(CNI)的管理kube-proxy通过在主机上维护网络规则并执行连接转发来实现service(iptables/ipvs)
2024-10-29 17:56:16 591
原创 MISCONF Redis is configured to save RDB snapshots, but it is currently not able to persist on disk.
分析,docker文件目录下,磁盘占用过多,怀疑是错误日志,清除掉就好了。磁盘空间满了报错,redis无法生成RDB快照文件在磁盘上。
2024-10-27 21:29:37 132
原创 Zookeeper
ZooKeeperZooKeeperZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是 Google 的 Chubby 一个开源的实现,是HadoopHadoopHadoop和HbaseHbaseHbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。维护、协调、管理、监控。
2024-10-27 19:10:07 1376
原创 Spring Retry框架
Retry重试框架,支持AOP切入的方式使用,支持注解:重试次数、重试延迟、重试触发条件、重试的回调方法等功能来实现重试机制。项目中我们可以通过两种不同的方式使用SpringRetrySpringRetry重试功能,一种是@Retryable注解的方式,另一种是方式。合理使用重试机制能够增强系统的健壮性,但需要根据实际情况配置重试策略,避免因配置不当引起的性能问题。除此之外,还有一些其他的注解也可以完成重试的功能,比如库。
2024-10-25 01:21:06 1041 1
原创 Gradle学习总结
Gradle构建脚本中最重要的两个概念是project和Task,任何一个Gradle构建都由一个或者多个project组成。每个project包括许多的构建部分,可以是一个jar包,也可以是一个web应用,也可以是多个jar的整合,可以部署应用和搭建环境。如果有子项目的话:每个项目,对应一个的构建脚本,而中存放着项目整体的结构。案例:将自己的项目打成jar包,供给另外的项目使用1、新建一个Gradle项目:plugins {
2024-10-23 23:33:23 1006
原创 Groovy语法随笔END
/属性//定义构造器:// }@Override'}';//创建对象://不用构造器:println s1//这种方式是将一个Map传递过去def s5 = new Student(name: "齐格飞", age: 19)println s5def s6 = new Student(name: "慎重")println s6def s2 = new Student("齐格飞",19)def s3 = ["鲍勃",17] as Student。
2024-10-23 14:45:00 635
原创 分布式理论基础
在分布式系统中,系统间的网络不能100%保证健康,一定会有故障的时候,而服务有必须对外保证服务。因此不可避免。当节点接收到新的数据变更时,就会出现问题了:如果此时要保证一致性,就必须等待网络恢复,完成数据同步后,整个集群才对外提供服务,服务处于阻塞状态,不可用。如果此时要保证可用性,就不能等待网络恢复,那 node01、node02 与 node03 之间就会出现数据不一致。也就是说,在P一定会出现的情况下,A和C之间只能实现一个。系统架构师往往需要把精力花在如何根据业务特点在C(一致性) 和A。
2024-10-22 14:17:20 1624
原创 分布式ID生成策略
号段模式是当下分布式ID生成器的主流实现方式之一,号段模式可以理解为从数据库批量的获取自增ID,每次从数据库取出一个号段范围,例如 (1,1000] 代表1000个ID,具体的业务服务将本号段,生成1~1000的自增ID并加载到内存。它是分布式的,并克服了雪花算法的并发限制。Snowflake,雪花算法是有Twitter开源的分布式ID生成算法,以划分命名空间的方式将64bit位分割成了多个部分,每个部分都有具体的不同含义,在Java中64Bit位的整数是Long类型,所以在Java中。
2024-10-21 13:15:00 738
原创 SpringBoot整合HTTPS
HTTPS 是安全套接层超文本传输协议,可以保证网站的信息从用户浏览器到服务器之间的传输是高强度加密传输的,是不会被第三方窃取和篡改的,还能避免网站被劫持而插入广告等,防止被钓鱼网站攻击,从而保护网站的安全性和完整性。在 HTTP 网站数据以明文方式传输,客户的隐私极容易被盗取和泄露,而部署 SSL 证书,数据以 HTTPS 加密传输,可以保护通信不被第三方监听和窃取,从而保护用户隐私及安全。需要注意的是,在实际生产环境中,还需要配置服务器的防火墙、负载均衡等相关组件,保证。分别指定证书的类型和别名。
2024-10-17 14:07:37 1378
原创 Git 总结
希望本文可以更好的帮助你在工作中更加有效的使用Git。另外附上一张包含常用 Git 命令大全的表格(来源Chat,不一定准确)。命令名称描述用法示例其他相关信息git init初始化一个新的 Git 仓库git init在当前目录创建一个新仓库git clone克隆一个远程仓库到本地git add将文件添加到暂存区git add .git commit提交暂存区中的更改到仓库添加 -a 参数可以跳过暂存区直接提交所有更改git status显示工作目录和暂存区的状态git status。
2024-10-14 00:11:23 1387
原创 InfluxDB快速掌握
时序数据库是近几年一个特殊的概念,与传统的Mysql关系型数据库相比,它的最大的特点是:数据按照时间顺序存储。举例来说,日志数据,是以时间顺序存储的,所以用时序数据库存储是一种很好的选择。使用Mysql在存储的过程中,不对这种基于时间的数据进行优化的,所以在查询、插入上有一些瓶颈。专为时间序列数据编写的自定义高性能数据存储。TSM引擎允许高摄取速度和数据压缩完全用 Go 语言编写。它编译成单个二进制文件,没有外部依赖项简单,高性能的写入和查询HTTP API。
2024-10-12 18:34:13 1279 1
原创 前端发送了请求头的参数,经debug发现后端请求对象请求头中没有该参数
原因是RequestHeaders中设置的请求参数含有下划线,NGINX将静默地丢弃带有下划线的HTTP标头,这样做是为了防止在将头映射到CGI变量时出现歧义,因为在该过程中,短划线和下划线都映射到下划线。debug测试,发现前端发来请求头中确实没有找到添加的请求头参数,但是 Network 中却显示请求头中有该参数信息。2、修改请求头信息,如将 access_token 修改为 access-token。1、需要在最外层 nginx 的 http 全局中,添加或修改。然后重新加载nginx配置文件。
2024-10-10 19:37:30 449
原创 Groovy语法随笔FIRST
数据类型 变量名 = 初始值int a = 18根据值可以推断出变量的数据类型,所以类型不用显示声明,直接用def即可def 变量名 = 初始值def c = 18d = 17用def这种弱类型定义可以随便改变类型。如果不希望别人改变数据类型,用强类型如果是你自己使用,并且想要随意更改类型,那么就用弱类型单引号定义方式//单引号形式定义字符串:等价于Java中双引号的定义方式:双引号定义方式//双引号形式定义字符串:三引号定义方式。
2024-10-07 14:51:08 628
原创 通过 Groovy 实现业务逻辑的动态变更
Groovy语言作为一种基于JVM的动态语言,它可以编译为与Java相同的字节码,然后将字节码文件交给JVM去执行,并且可以与Java类无缝地互操作。Groovy可以透明地与Java库和代码交互,可以使用Java所有的库使用Java所有的库使用Java所有的库,并且有着简洁灵活的语法、动态类型和闭包等特性。Groovy无缝地集成了Java的强大功能,并提供了许多额外的特性,如DSL(领域特定语言)的支持和元编程能力,使得开发者能够以更加简洁和优雅的方式表达复杂的逻辑。
2024-10-06 18:14:45 1056
原创 MongoDB数据库
介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的,它支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。MongoDB的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现了类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。特性面向集合文档的存储:适合存储Bson(json的扩展)形式的数据;格式自由,数据格式不固定,生产环境下修改结构都可以不影响程序运行;
2024-09-25 16:30:35 960
原创 理解高并发
另外,由于软硬件环境、技术栈、以及产品逻辑都没法做到完全一致,这些都会导致同样的业务场景,就算用相同的技术方案也会面临不同的问题,这些坑还得一个个趟。但是从高并发系统的整体架构角度来看,扩展的目标不仅仅是把服务设计成无状态就行了,因为当流量增加10倍,业务服务可以快速扩容10倍,但是数据库可能就成为了新的瓶颈。了解了高并发设计的3大目标后,再系统性总结下高并发的设计方案,会从以下两部分展开:先总结下通用的设计方法,然后再围绕高性能、高可用、高扩展分别给出具体的实践方案。:即服务器每秒处理的事务数。
2024-09-14 12:27:14 990
原创 Neo4j图数据库
随着社交、电商、金融、零售、物联网等行业的快速发展,现实社会织起了了一张庞大而复杂的关系网,传统数据库很难处理关系运算。大数据行业需要处理的数据之间的关系随数据量呈几何级数增长,急需一种支持海量复杂数据关系运算的数据库,图数据库应运而生。社交领域:Facebook, Twitter,Linkedin用它来管理社交关系,实现好友推荐零售领域:eBay,沃尔玛使用它实现商品实时推荐,给买家更好的购物体验金融领域:摩根大通,花旗和瑞银等银行在用图数据库做风控处理。
2024-09-11 17:59:30 3054
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人