「内容分发网络原理与实践」
基本原理基本概念定义
C:分发内容-Content
D:分发策略-Delivery
N:分发网络-Network
分发内容
静态资源:图片、文字、动画
动态内容:流媒体
工作过程
内容注入
用户请求调度
用户发起请求
CDN授权DNS服务器(全局负载均衡GLSB)将节点设备IP返回用户或者将l另一个GSLB设备的IP返回用户
用户向GLSB设备发起内容访问请求
根据用户IP地址以及访问URL,选择用户所属地域负载均衡设备(SLB),并让用户向该SLB发起访问
SLB设备通过决策为用户选择最佳服务器,用户向服务器发起访问请求
若服务器内容未命中,则该服务器向上级节点请求内容,然后由该服务器提供服务
内容分发
内容服务
内容接入
内容存储接入
互联网内容源提前将内容注入CDN
内容永久存储CDN
包括对内容的增加、删除和更新,可以使用系统或者手动方式主动发起内容删除并立即实现全网删除
对用户服务质量保障最佳,但对CDN资源消耗大、成本高,主要用于IPTV、视频点播
内容预注入
源站在内容发布之前注入CDN
只进行内容缓存,CDN根据热度实现智能删除
删除之后,仍可通过回源 ...
内核虚拟化KVM的使用
概念KVM全称为Kernel Virtual Machine内核虚拟机,它是硬件辅助的全虚拟化解决方案,支持x86架构,并已移植到ARM、MIPS、PowerPC等架构。KVM作为可加载的内核模块包含在Linux内核之中,除了通用模块kvm.ko外,针对不同的CPU还有不同的模块,例如针对Intel的CPU的kvm-intel.ko,针对AMD的kvm-amd.ko.
KVM的体系结构的核心是一组实现虚拟化功能的Linux内核模块,包括提供虚拟化能力的kvm.ko,还包括特定CPU的模块和管理中断、时钟等设备管理模块。而其他设备例如网卡、显卡、存储控制器和磁盘则由QEMU(Quick Emulator)来负责。它通过/dev/kvm接口设置一个Guest操作系统的地址空间,从而提供模拟的I/O设备。Libvirt是管理虚拟机和其他虚拟化功能的软件集合,包括API库、守护进程(libvirtd)和其他工具,它在KVM解决方案中扮演管理工具的角色。
入门创建虚机准备安装以Rocky Linux 8为例,需要准备一台对应虚机,并开启相关嵌套虚拟化功能。
# 最小 ...
CentOS主机清理旧内核
CentOS7上删除旧内核centos7 上有专门的清理工具,package-cleanup来执行内核的清理。
[root@centos7 ~]# package-cleanup --oldkernels --count=1Loaded plugins: fastestmirror, langpacks--> Running transaction check---> Package kernel.x86_64 0:3.10.0-1160.el7 will be erased---> Package kernel.x86_64 0:3.10.0-1160.88.1.el7 will be erased--> Finished Dependency Resolutionbase/7/x86_64 ...
CCSK思维导图
CCSK前导知识
Kubernetes的部署
概要Kubernetes 这个名字源于希腊语,意为“舵手”或“飞行员”。k8s 这个缩写是因为 k 和 s 之间有八个字符的关系。 Kubernetes 是一个可移植、可扩展的开源平台,用于管理容器化的工作负载和服务,可促进声明式配置和自动化。 Kubernetes 拥有一个庞大且快速增长的生态,其服务、支持和工具的使用范围相当广泛。
随着容器的广泛应用,Kubernetes能够满足容器的资源管理和任务编排的需要,它可以实现:
服务发现和负载均衡 Kubernetes 可以使用 DNS 名称或自己的 IP 地址来暴露容器。 如果进入容器的流量很大, Kubernetes 可以负载均衡并分配网络流量,从而使部署稳定。
存储编排 Kubernetes 允许你自动挂载你选择的存储系统,例如本地存储、公共云提供商等。
自动部署和回滚 你可以使用 Kubernetes 描述已部署容器的所需状态, 它可以以受控的速率将实际状态更改为期望状态。 例如,你可以自动化 Kubernetes 来为你的部署创建新容器, 删除现有容器并将它们的所有资源用于新容器。
自动完成装箱计算 你为 K ...
胎压计的内部构造
因缘际会,我手里多了两个外置的胎压监测器。一个是170元的铁将军E3,一个是80块的杂牌胎压监测。实际使用下来,其实两者相差不大。拆机看一下:
铁将军
杂牌
铁将军的材质和做工确实要好一些,但其实也对不起100块的差价吧。
Docker的基本使用
简介Docker是什么Docker是一个在2013年开源的使用go语言编写的PaaS服务。特点是交付速度快、资源消耗低。Docker采用客户端/服务端架构,使用远程API来管理和创建Docker容器。它的三大理念是build、ship、run,使用Namespace及cggroup等来提供容器的资源隔离与安全保障。
Docker的组成
Docker主机(Host):物理机或者虚机,用于运行Docker服务进程和容器;
Docker服务端(Server):Docker守护进程,运行Docker容器;
Docker客户端(Client):客户端使用docker命令或者其他工具调用相应API;
Docker仓库(Registroy):保存镜像的仓库,类似git这样的版本控制系统;
Docker镜像(Images):镜像可以理解为创建实例使用的模板;
Docker容器(Container):容器是从镜像生成对外提供服务的一个或者一组服务。
NameSpace技术命名空间保证容器之间的运行环境互相隔离,可以使每个进程看起来都拥有自己的隔离的全局系统资源。
MNT NameSpace ...
大型网站技术架构核心原理与案例分析
此为《大型网站技术架构核心原理与案例分析》的记录
概述大型网站架构演化特点
高并发、大流量
高可用
海量数据
用户分布广泛、网络情况复杂
安全环境恶劣
需求快速变更、发布频繁
渐进式发展
历程
单体服务器
前后端分离、应用服务和数据服务分离
加入缓存和分布式缓存服务器
使用服务器集群改善并发处理能力
数据库读写分离
使用反向代理和CDN加速网站响应
使用分布式文件系统和分布式数据库系统
使用noSQL和搜索引擎
业务拆分
分布式服务
价值观
大型网站架构技术的核心价值随网站所需灵活应对
驱动大型网站技术发展的主要力量是网站的业务发展
误区
一味追随大公司的解决方案
为技术而技术
企图用技术解决所有问题
大型网站架构模式
分层,基本分为应用层、服务层、数据层,各层必须合理规划层次边界和接口,严格遵循分层架构的约束,禁止跨层调用和逆向调用;
分割,将不同功能按照高内聚低耦合模块单元进行分割,提高并发处理能力和功能扩展能力;
分布式
分布式应用和服务
分布式静态资源
分布式数据和存储
分布式计算
集群,独立部署的服务器集群化,通过负载均衡设备共同对外提供服务
缓存,使用缓存的 ...
定时删除Wazuh日志索引
前情生产和办公环境部署的Wazuh系统,因为对接的大量的Agent,每日的数据量在1.2GB左右。为减少实际运行成本并根据实际使用情况,原始日志导入一份到日志服务器外,Wazuh的安全日志只保留一个自然月。
脚本
使用Shell脚本来实现定时删除Wazuh的ElasticSearch索引的功能:
#!/bin/bash#本脚本用于按月份清理ES存储数据#获取本月份与索引中的日期进行比较,本月份前的索引数据将被删除。#删除前要确认ES_URL=http://127.0.0.1:9200NOW_Year=`date +%Y` NOW_Mon=`date +%m`ALLLINES=`/usr/bin/curl -s -XGET $ES_URL/_cat/indices?v| grep wazuh-alerts-4.x-*` echoecho "THIS IS WHAT SHOULD BE DELETED FOR ES:"echo echo "${ALLLINES}" | while read linedo # echo $ ...