- 博客(80)
- 收藏
- 关注
原创 Docker consul的容器服务更新与发现
什么是服务注册与发现服务注册与发现是微服务架构中不可或缺的重要组件。起初服务都是单节点的,不保障高可用性,也不考虑服务的压力承载,服务之间调用单纯的通过接口访问。直到后来出现了多个节点的分布式架构,起初的解决手段是在服务前端负载均衡,这样前端必须要知道所有后端服务的网络位置,并配置在配置文件中。这里就会有几个问题:既然有这些问题,那么服务注册与发现就是解决这些问题的。后端服务A-N可以把当前自己的网络位置注册到服务发现模块,服务发现就以K-V的方式记录下来,K一般是服务名,V就是IP:PORT。服务发现
2022-12-04 22:30:57
445
原创 Ansible
Ansible是一个基于eythn开发的配置管理和应用部署工具,现在也在自动化管理领域大放异彩。它融合了众多老牌运维工具的优点,Pbet和Saltstack能实现的功能,As;ble基本上都可以实现。Ansible能批量配置、部署、管理上千台主机。比如以前需要切换到每个主机上执行的一或多个作,使用Ansible只需在固定的一台Ansible控制节点上去完成所有主机的操E。Ansible是基于模块工作的,它只是提供了一种运行框架,它本身没有完成任务的能力,真正执行操作的是Ansible的模块,比如copy模块
2022-12-04 22:10:01
1141
1
原创 如何构建GFS分布式存储平台?
与传统的分布式系统一样,GFS 同样追求高性能、高可靠性、高可用性,但同时 Google 基于自身的生产环境、技术环境,有一些自身独有的特点。首先,组件失效是常态化的,而非意外。在 GFS 成百上千的集群中,随时随地都可能发生故障导致机器无法恢复,所以,有一定的容灾、自动恢复能力是必须要整合在 GFS 中的。其次,文件巨大,GB 级别的数据非常普遍。第三,绝大多数文件的写操作都是追加,而非修改,通常的文件场景是顺序写,且顺序读。第四,应用程序和文件系统 API 的协同设计提高了整个系统的灵活性。
2022-11-29 01:09:33
256
原创 Linux系统巡检常用命令
Linux系统需要定期巡检,以检查。查看磁盘参数(仅适用于IDE设备)查看内核/操作系统/CPU信息。查看系统运行时间、用户数、负载。查看内存使用量和交换区使用量。查看启动时IDE设备检测状况。查看所有网络接口的属性。查看所有已经建立的连接。查看所有用户的定时任务。
2022-11-28 18:43:32
3350
原创 Linux vmstat命令详解
vmstat命令是最常见的Linux/Unix监控工具,可以展现给定时间间隔的服务器的状态值,包括服务器的CPU使用率,内存使用,虚拟内存交换情况,IO读写情况。这个命令是我查看Linux/Unix最喜爱的命令,一个是Linux/Unix都支持,二是相比top,我可以看到整个机器的CPU,内存,IO的使用情况,而不是单单看到各个进程的CPU使用率和内存使用率(使用场景不一样)。
2022-11-28 16:17:33
3417
原创 Docker创建私有仓库
Harbor 简介Harbor 是 VMware 公司开源的企业级 Docker Registry 项目,其目标是帮助用户迅速搭建一个企业级的 Docker Registry 服务。Harbor以 Docker 公司开源的 Registry 为基础,提供了图形管理 UI 、基于角色的访问控制(Role Based AccessControl) 、AD/LDAP 集成、以及审计日志(Auditlogging) 等企业用户需求的功能,同时还原生支持中文。
2022-11-28 01:11:55
474
原创 基于Dockerfile创建镜像
创建镜像有三种方法,分别为【基于已有镜像创建】、【基于本地模板创建】以及【基于Dockerfile创建】。 (2)将修改后的容器提交为新的镜像,需要使用该容器的ID号创建新镜像通过导入操作系统模板文件可以生成镜像,模板可以从OPENVZ 开源项目下载,下载地址为:3. 基于Dockerfile 创建1. 联合文件系统(UnionFS )Union文件系统是Docker镜像的基础。镜像可以通过分层来进行继承,基于基础镜像(没有父镜像),可以制作各种具体的应用镜像。特性: 一次同
2022-11-27 22:49:08
268
原创 分布式监控平台——Zabbix
作为一个运维,需要会使用监控系统查看服务器状态以及网站流量指标,利用监控系统的数据去了解上线发布的结果,和网站的健康状态。通过一个友好的界面进行浏览整个网站所有的服务器状态可以在Web 前端方便的查看监控数据可以回溯寻找事故发生时系统的问题和报警情况案列:自定义监控客户端服务器登录的人数需求:限制登录人数不超过 3 个,超过 3 个就发出报警信息在客户端创建自定义 key1.创建模板点击左边菜单栏【配置】中的【模板】,点击【创建模板】
2022-11-24 23:26:08
338
原创 Docker通过Cgroup 资源配置
docker run -cpu-period #设置调度周期时间1000~1000000-cpu-quota #设置容器进程的CPU占用时间,要与调度周期时间成比例--cpu-shares #设置多个容器之间的CPU资源占用比--cpuset-cpus #绑核(第一个CPU编号从0开始)
2022-11-24 23:22:43
837
原创 Docker的数据管理(数据卷、容器互联)
本文介绍了通过数据卷和数据卷容器对容器内数据进行共享、备份和恢复等操作,通过这些机制,即使容器在运行中出现故障,用户也不必担心数据发生丢失,只需要快速地重新创建容器即可。命令说明docker run -v 宿主机目录:数据卷将宿主机目录挂载到容器中docker run -v 数据卷创建数据卷容器docker run --volumes-from 数据卷容器挂载数据卷容器(挂载点路径不变)docker run --link 源容器名称:别名容器互联。
2022-11-22 22:47:00
213
原创 Docker的四种网络模式和相关网络命令
docker 使用linux 桥接,在宿主机虚拟一个docker 容器网桥(docker0) ,docker 启动一个容器时会根据docker 网桥的网段分配给容器一个IP地址,称为Container-IP,同时Docker 网桥是每个容器的默认网关。因为在同一宿主机内的容器都接入同一个网桥,这样容器之间就能够通过容器的 Container-IP 直接通信。
2022-11-22 12:51:36
2620
原创 Docker的基础命令
命令作用docker create -i [–name=容器名称] 镜像名创建容器docker create -it [–name=容器名称] 镜像名 创建容器并导入命令docker start 启动容器docker stop 停止容器docker kill 立即强制停止容器docker ps查询运行状态的容器查询所有容器docker rm [-f] 删除容器 (-f 强制删除正在运行的容器)
2022-11-21 10:17:21
545
原创 Docker概念及安装
裸金属 → 虚拟机 → 容器→ 函数化、代码化云计算涌现出很多改变传统IT架构和运维方式的新技术,比如虚拟机、容器、微服务、Serverless(无服务),无论这些技术应用在哪些场景,降低成本、提升效率是云服务永恒的主题。1.运行物理机,也称为裸金属2.虚拟机VM,可以在一台物理机上创建多个虚拟机,并把物理配置分发成多个虚拟配置虚拟机常用软件:KVM(linux内核)3.容器 (常用软件:docker、podman、rocket、container)4.函数(函数化,代码化)
2022-11-21 04:56:25
289
原创 企业日志分析ELK(Logstash+Elasticsearch+Kibana)介绍及搭建
elk 是什么?Elastic Stack(旧称ELK Stack),是一种能够从任意数据源抽取数据,并实时对数据进行搜索、分析和可视化展现的数据分析框架。(hadoop同一个开发人员)ELK 其实并不是一款软件,而是一整套解决方案,是三个软件产品的首字母缩写Elasticsearch:负责日志检索和储存Logstash:负责日志的收集和分析、处理Kibana:负责日志的可视化这三款软件都是开源软件,通常是配合使用,而且又先后归于 Elastic.co 公司名下,故被简称为 ELK。
2022-11-21 02:17:23
691
原创 Rsync下行同步+inotify实时同步介绍和部署
使用inotify通知接口,可以用来监控文件系统的各种变化情况,如文件存取、删除、移动、修改等。利用这一机制,可以非常方便地实现文件异动告警、增量备份,并针对目录或文件的变化及时作出响应。将inotify机制与rsync工具相结合,可以实现触发式备份(实时同步),即只要原始位置的文档发生变化操作;否则处于静默等待状态。因为inotify 通知机制由 Linux 内核提供,因此主要做本机监控,在触发式备份中应用时更适合上行同步。
2022-11-21 00:12:03
293
原创 部署Squid 代理服务器(内含传统、透明代理服务器的配置、ACL访问控制、日志分析、反向代理)
Squid 主要提供缓存加速、应用层过滤控制的功能。
2022-11-15 10:04:15
250
原创 Redis 群集模式
6379端口:主要用于客户端和服务端之间的通信以及主从复制之间相互通信26379端口:哨兵模式之间相互通信16379端口:集群之间的节点进行通信。
2022-11-09 00:07:19
630
原创 Redis数据库(三)——(主从复制、哨兵模式)
通过持久化功能,redis保证了即使在服务器重启的情况下也不会丢失(或少量丢失)数据,因为持久化会把内存中的数据保存到硬盘上,重启会从硬盘上加载数据,但是由于数据是存储在一台服务器上的,如果这台服务器出现硬盘故障等问题,也会导致数据丢失。为了避免单点故障,通常的做法是将数据库复制多个副本以部署在不同的服务器上,这样即使有一台服务器出现故障其他服务器依然可以继续提供服务,为此,redis提供了复制(replication)功能,可以实现当一台数据库中的数据更新后,自动将更新的数据同步到其他数据库上。
2022-11-07 21:39:14
722
原创 MySQL服务MySQL+MHA高可用服务集群搭建
2、复制上述的master_ip_failover(自动切换时VIP管理的脚本) 到/usr/local/bin目录 这里使用脚本管理VIP。4、创建 MHA 软件目录并复制配置文件,使用app1.cnf配置文件来管理 mysql 节点服务器,配置文件一般放在/etc/目录下。node 安装后也会在/usr/local/bin目录下生成几个脚本,需要进行检查,主要包括以下。1、在 manager 节点上复制相关脚本到/usr/local/bin 目录。(4)在 manager 节点上启动 MHA。
2022-11-07 19:25:55
294
原创 MySQL事务与存储引擎相关设置
MySQL中的数据用各种不同的技术存储在文件中,每种技术都使用不同的存储机制、索引技巧、锁定水平并最终提供不同的功能和能力,这些不同的技术以及配套的功能在MySQL中称为存储引擎存储引擎是MySQL将数据存储在文件系统中的存储方式或者存储格式MySQL常用的存储引擎MyISAMInnoDBMySQL数据库中的组件,负责执行实际的数据I/O操作MySQL系统中,存储引擎处于文件系统之上,在数据保存到数据文件之前会传输到存储引擎,之后按照各个存储引擎的存储格式进行存储。
2022-11-07 06:00:00
222
原创 MYSQL 高级SQL语句(二)
inner join(内连接):只返回两个表中联结字段相等的行(有交集的值)left join(左连接):返回包括左表中的所有记录和右表中联结字段相等的记录right join(右连接):返回包括右表中的所有记录和左表中联结字段相等的记录
2022-11-07 06:00:00
258
原创 MySQL 高级SQL语句(三)——存储过程
前面学习的 MySQL 相关知识都是针对一个表或几个表的单条SQL 语句,使用这样的SQL语句虽然可以完成用户的需求,但在实际的数据库应用中,有些数据库操作可能会非常复杂,可能会需要多条SQL语句一起去处理才能够完成,这时候就可以使用存储过程,轻松而高效的去完成这个需求,有点类似shell脚本里的函数MySQL数据库存储过程是一组为了完成特定功能的SQL语句的集合。存储过程这个功能是从5.0版本才开始支持的,它可以加快数据库的处理速度,增强数据库在实际应用中的灵活性。
2022-11-07 01:56:03
193
原创 MYSQL主从复制与读写分离
读写分离,基本的原理是让主数据库处理事务性增、改、删操作(INSBRI、UPOATE、DBL.TE),而从数据库处理sLECr查询操作。数据南复制被用米把事务性操作导致的变更同步到集群中的从数据库。mysql主从复制原理slave节点与主节点进行连接,建立主从关系,并把从哪开始同步,及哪个日志文件都一并发送到mastermaster将修改的数据保存到binlog中master开启binlog dump线程,将binlog日志推送到连接的slave中。
2022-11-06 22:44:08
345
原创 Redis数据库(一)——介绍、配置与优化
Redis 是一个开源的、使用 C 语言编写的 NoSQL 数据库。Redis 基于内存运行并支持持久化,采用key-value(键值对)的存储形式,是目前分布式架构中不可或缺的一环。
2022-11-04 17:42:13
582
原创 MySQL-日志、完全备份恢复和增量备份恢复
如果恢复某条SQL语句之前的所有数据,就stop在这个语句的位置节点或者时间点如果恢复某条SQ语句以及之后的所有数据,就从这个语句的位置节点或者时间点start。
2022-11-02 23:51:38
307
原创 Mysql索引的创建和使用
1、索引是一个排序的列表,在这个列表中存储着索引的值和包含这个值的数据所在行的物理地址(类似于c语言的链表通过指针指向数据记录的内存地址)。2、使用索引后可以不用扫描全表来定位某行的数据,而是先通过索引表找到该行数据对应的物理地址然后访问相应的数据,因此能加快数据库的查询速度。3、索引就好比是一本书的目录,可以根据目录中的页码快速找到所需的内容。4、索引是表中一列或者若干列值排序的方法。5、建立索引的目的是加快对表中记录的查找或排序。
2022-10-26 01:40:48
1178
原创 Shell 免交互命令和Expect
使用I/O重定向的方式将命令列表提供给交互式程序或命令,比如ftp、cat或read命令。是标准输入的一种替代品可以帮助脚本开发人员不必使用临时文件来构建输入信息,而是直接就地生成出一个“文件”并用作“命令”的标准输入。Here Document 也可以与非交互式程序和命令一起使用。
2022-10-24 07:00:00
306
原创 高效多用的群集-Haproxy搭建Web集群
默认haproxy的日志是输出到系统的syslog中,查看起来不是非常方便,为了更好的管理haproxy的日志,我们在生产环境中一般单独定义出来。需要将haproxy的info及notice日志分别记录到不同的日志文件中。global需要修改rsyslog配置,为了便于管理。将haproxy相关的配置独立定义到haproxy.conf,并放到/etc/rsyslog.d/下,rsyslog启动时会自动加载此目录下的所有配置文件。
2022-10-24 06:45:00
126
原创 Web应用_Tomcat部署及优化
Servlet 是Java Servlet 的简称,可以理解为是一个服务连接器,是用 Java 编写的服务器端程序,具有独立于平台和协议的特性, 简单的理解:servlet 就是一个中间件,包含了接口和方法,将客户端和数据库连接,从而实现动态网页的创建JSP 全称 Java Server Pages,是一种动态网页开发技术。它使用 JSP 标签在HTML网页中插入 Java 代码。标签通常以 结束。
2022-10-24 06:00:00
196
原创 LVS负载均衡群集——LVS-NAT模式部署
Cluster,集群(也称群集)由多台主机构成,但对外只表现为一一个整体,只提供一-个访问入口(域名或IP地址), 相当于一台大型计算机。
2022-10-24 06:00:00
173
原创 Nginx+Tomcat负载均衡、动静分离集群
Nginx实现负载均衡是通过反向代理实现Nginx服务器作为前端,Tomcat服务器作为后端,web页面请求由Nginx服务来进行转发。但是不是把所有的web请求转发,而是将静态页面请求Ncinx服务器自己来处理,动态页面请求,转发给后端的Tomcat服务器来处理。据我们所知,Tomcat是属于轻量级的应用服务器,可接受访问量可能会不足,所以我们需要多台Tromcat服务器,然后通过Nginx配置权重来进行挑选Tomcat服务器去进行处理,负载均衡的一种策略。
2022-10-24 06:00:00
91
原创 MySQL基本操作命令和数据表高级操作
临时表创建成功之后,使用SHOW TABLES命令是看不到创建的临时表的,临时表会在连接退出后被销毁。这种方法会将oldtable中所有的内容都拷贝过来不过这种方法的一个最不好的地方就是新表中没有了旧表的primary key、Extra(auto_increment)等属性。方法二:create table 新的表名 (select * from 想要复制的表);这个方法先是将表的结构进行复制,之后再复制内容,这种方法复制的表内容完整。方法一:create table 新的表名 like 想要复制的表;
2022-10-20 20:01:55
686
原创 Mysql数据库的基本概念
关系数据库系统是基于关系模型组织数据的数据库系统关系模型的数据结构使用简单易懂的二维数据表关系模型可用简单的"实体-关系"(E-R)图来表示E-R图中包括实体(数据对象)、关系和属性三个要素实体也称为实例,对应现实世界中可区别与其他对象的“事件”或“事物”例如银行客户、银行账户等属性实体所具有的某一特性,一个实体可以有多个属性例如“银行客户”实体集中的每个实体均具有姓名、住址、电话等属性联系实体集之间的对应关系称为联系,也称为关系例如银行客户和银行账户之间存在“储蓄”的关系。
2022-10-19 08:43:57
144
原创 LVS-DR+Keepalived 高可用群集
LVS 实际上相当于基于IP地址的虚拟化应用, 为基于IP地址和内容请求分发的负载均衡提出了一种高效的解决方法。
2022-10-17 04:30:00
145
原创 Web网络-Nginx优化与防盗链
也就是缓存一天的时间,一天之内浏览器访问这个页面,都是用缓存中的数据,而不需要向 Nginx 服务器重新发出请求,减少了服务器的使用带宽。当修改文件的权限或者属性的时候,就会更新这个时间,ctime并不是create time,更像是change time,当修改文件的内容数据的时候,就会更新这个时间,而更改权限或者属性,mtime不会改变,这就是和ctime的区别。只有当更新文件的属性或者权限的时候才会更新这个时间,但是更改内容的话是不会更新这个时间。选择 网络 —> 选择 HTML、WS、其他。
2022-10-10 01:04:34
110
原创 Nginx location和rewrite用法
(location =) > (location 完整路径) > (location ^~ 路径) > (location ~,~* 正则顺序) > (location 部分起始路径) > (location /)先看优先级:精准=> 前缀^~ > 正则~ > 一般 > 通用/在没有精准匹配的情况下,先看前缀匹配的长度,然后根据最长的前缀匹配的优先级去确定是否再去看正则匹配,如果最长的前缀匹配带有^~ 则不看正则匹配,如果最长的前缀匹配是没有修饰符的一般匹配则会再去看正则匹配。
2022-10-09 23:20:58
184
原创 Apache配置与应用
虚拟web主机指的是在同一台服务器中运行多个web站点,其中每一个站点实际上并不独立占用整个服务器,因此被称为"虚拟"web主机。通过虚拟web主机服务可以充分利用服务器的硬件资源,从而大大降低网站构建及运行成本。使用httpd服务可以非常方便地构建虚拟主机服务器,只需要运行一个httpd服务就能够同时支撑大量的web站点。httpd服务支持的虚拟主机类型包括三种:基于域名、基于IP地址和基于端口。
2022-10-06 06:00:00
206
原创 Nginx web网站服务应用
Nginx是开源、高性能、高可靠的 Web 和反向代理服务器,而且支持热部署,几乎可以做到 7 * 24 小时不间断运行,即使运行几个月也不需要重新启动,还能在不间断服务的情况下对软件版本进行热更新。对HTTP并发连接的处理能力高,单台物理服务器可支持30000~50000个并发请求。Apache是以进程为基础的结构,进程要比线程消耗更多的系统开支,不太适用于多处理器环境,因此,在一个apache Web站点扩容时,通常是增加服务器或扩充群集节点而不是增加处理器。
2022-10-06 06:00:00
1258
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人