自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

机核动力的博客

我的技术小屋

  • 博客(53)
  • 收藏
  • 关注

原创 用SpringBoot+Mybatis+ES实现一个每秒百万级QPS的高并发系统的设计实现步骤

这个系统我们是用JAVA实现的,应用框架主要是springboot+Mybatis+ES,已经应用于线上生产系统。一个系统的稳定运行,最重要的一般数据层,一般是数据库或者是数据检索系统来保存数据层的数据,这里我用的是Mysql和ES,再往上一级就是应用系统这里我用的是Tomcat。应用系统这里既可以按传统的MVC方式提供用户界面,也可以只提供接口api数据。因为现在的大部分系统都已经是前后端分离,所以这里应用系统只提供api数据,给前端或者是手机app提供基础数据。

2023-08-05 17:15:01 579

原创 Centos7.9云计算CloudStack4.15 高级网络配置(3)

我们看到虚拟路由器绑定了两个网络,一个是来宾网络10.1.1.0/24网段,一个是公网ip地址网段10.10.52.0/24 ,虚拟机把包提交给路由器网关10.1.1.1,然后网关通过SNAT提交到公网网络访问互联网。上两章的文章都是用的CloudStack的基本网络,这一篇我们来介绍CloudStack的高级网络,这里虚拟机用的是自己配置的内部网络,通过nat方式到物理网络。安装进入虚拟机,可以看到分配的ip地址,同时看到外网也是通的。网络方案选择,自己自定义的那个网络方案。添加公网流量的ip分配段。

2024-04-22 14:51:36 709

原创 Centos7.9云计算CloudStack4.15系统本地化存储 (2)

>的方式安装的系统,磁盘的纯写入操作就损失了50%以上的性能,在宿主机上的磁盘写性能是115MB/s,到了虚拟机就只有10MB/s了。接下来也是非常重要的一步了,我当时试了很多次本地磁盘启动都失败了,一个主要的原因就是没有了解,服务方案是怎么使用的。这里如果要本地存储一定要,自己建立一个本地磁盘的计算方案。接下来,我们通过安装的最小系统来做一个模板,这样下次就不要再放入ISO光盘镜像了。等ISO的文件资源域的状态,变成Successfully Installed 就可以使用了。启动实例,开始安装系统。

2024-04-19 08:44:28 341

原创 Centos7.9云计算CloudStack4.15手把手安装部署指南 (1)

提起IaaS平台在开源领域当然首推就是OpenStack,它包含了几乎所有的基础构件服务,从网络,存储,镜像服务,权限管理等等,但同时它也是非常复杂的,对于入门是有非常大的门槛的。相对来说CloudStack就显得相对入手要容易一些。Apache CloudStack 徽标比较Apache CloudStack 最初是在 2008 年作为一个名为 VMOps 的项目开始的。Apache CloudStack 有一个可插拔的模型。

2024-04-18 11:31:21 883 1

原创 kubernetes K8s的监控系统Prometheus升级Grafana,来一个酷炫的Node监控界面(二)

上一篇文章《》中使用的监控界面总感觉监控的节点数据太少,不能快算精准的判断出数据节点运行的状况。今天我找一款非常酷炫的多维度数据监控界面,能够非常有把握的了解到各节点的数据,以及运行状况。

2024-03-28 11:01:06 1292

原创 kubernetes K8s的监控系统Prometheus安装使用(一)

Prometheus 是一款基于时序数据库的开源监控告警系统,非常适合Kubernetes集群的监控。Prometheus的基本原理是通过HTTP协议周期性抓取被监控组件的状态,任意组件只要提供对应的HTTP接口就可以接入监控。不需要任何SDK或者其他的集成过程。这样做非常适合做虚拟化环境监控系统,比如VM、Docker、Kubernetes等。输出被监控组件信息的HTTP接口被叫做exporter。

2024-03-22 13:13:52 1245

原创 K8S精进之路-控制器Deployment-(1)

Deployment资源对象是可以进行回滚的,它有一个属性revisionHistoryLimit,是一个可选配置项,用来指定可以保留的旧的ReplicaSet数量,默认保存记录10个。每个Deployment的该配置都保存在ReplicaSet中,然而,一旦删除的旧的RepelicaSet,Deployment就无法再回退到那个revison了。StatefulSet:管理有状态应用,比如数据库基本都是有状态应用的,你数据保存在指定的节点,那么下次运行时就必须在这个节点去运行,这样就是有状态的了。

2023-11-21 16:00:10 802

原创 Centos7.9用rancher来快速部署K8S

Rancher 是一个 Kubernetes 管理工具,让你能在任何地方和任何提供商上部署和运行集群。Rancher 可以创建来自 Kubernetes 托管服务提供商的集群,创建节点并安装 Kubernetes,或者导入在任何地方运行的现有 Kubernetes 集群。Rancher 基于 Kubernetes 添加了新的功能,包括统一所有集群的身份验证和 RBAC,让系统管理员从一个位置控制全部集群的访问。

2023-11-14 11:13:49 925

原创 Cento7 Docker安装Zabbix,定制自定义模板

1.先安装docker环境yum -y install yum-utils device-mapper-persistent-data lvm2#导入docker安装库yum-config-manager \ --add-repo \ https://download.docker.com/linux/centos/docker-ce.repo#按指定版本安装好dockeryum install docker-ce-20.10.5 docker-ce-cli-20.10.5 d

2023-09-20 17:36:16 406

原创 SpringBoot中级开发--事务配置管理(10)

事务在整个开发框架中是一个非常常用的功能,特别涉及到数据库操作。像Mysql,就有4个数据库级别:(1) READ UNCOMMITTED(读未提交):允许读取未提交的数据。这种级别的事务可以读取到其他事务未提交的数据,可能会导致脏读、不可重复读和幻读等问题。(2)READ COMMITTED(读已提交):只能读取已经提交的数据。这种级别的事务可以避免脏读,但可能会出现不可重复读和幻读等问题。(3)REPEATABLE READ(可重复读):保证在同一个事务中多次读取同一份数据时,得到的结果是一致的。

2023-09-19 11:29:34 225

原创 Cento7 Docker-compose安装以及使用InfluxDB

InfluxDB是一个时序数据库,主要用于监控场景的数据支撑,对于那些写少读多按时间序查询数据的场景是非常适用的。接下来我们用docker-compose的形式安装。首先先装好docker,docker-compose命令文件保存好后,启动运行InfluxDB安装成功后,用命进行cli初始化,分别填上用户,密码,组织,默认桶名。

2023-09-06 16:31:20 825

原创 SpringBoot初级开发--多环境配置的集成(9)

在Springboot的开发中,我们经常要切换各种各样的环境配置,比如现在是开发环境,然后又切换到生产环境,这个时候用多环境配置就是一个明智的选择。接下来我们沿用上一章的工程来配置多环境配置工程。

2023-08-31 18:15:35 253

原创 SpringBoot初级开发--服务请求(GET/POST)所有参数的记录管理(8)

我们紧接上一章的工程源码来做import com//get请求 if(null!} else {} //POST请求 Enumeration < String > keys = request . getParameterNames();if(null!= keys) {} }//get请求 if(null!} else {

2023-08-30 16:55:30 353

原创 SpringBoot初级开发--整体应用的统一性异常管理(7)

在整个系统中,通常会要求有统一性的异常抛出,统一的异常格式,统一的异常界面,而不是把整个堆栈错误信息抛出,这样对整个系统的安全性以及错误定位都非常不好,接下来我们紧接上一章的源码,加上统一异常。

2023-08-30 10:47:52 589

原创 Cento7 Docker-compose安装RabbitMQ

RabbitMQ是一个消息中间件,是用Erlang语言编写的。RabbitMQ据说具有良好的性能和时效性,同时还能够非常好的支持集群和负载部署,非常适合在较大规模的分布式系统中使用。接下来我们就以docker形式安装。通过浏览器访问http://xxx.xxx.xxx.xxx:15672,然后用上面的用户名和密码进入控制台。默认的管理员用户名:admin 密码:39289133718b91e0b5e。文件保存好后,启动运行RabbitMQ。1.先安装docker环境。

2023-08-28 17:56:25 821

原创 SpringBoot初级开发--加入Log4j进行日志管理打印(6)

日志记录在整个java工程开发中占着很重要的比重,因为很多问题的排查需要通过日志分析才能确认。在SpringBoot中我用得最多的就是log4j这个日志框架。接下来我们具体配置log4j.log4j定义了8个级别的log(除去OFF和ALL,可以说分为6个级别),优先级从高到低依次为:OFF、FATAL、ERROR、WARN、INFO、DEBUG、TRACE、 ALL。

2023-08-28 17:05:29 922

原创 SpringBoot初级开发--加入Swagger展现接口文档(5)

Swagger 是一个规范且完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。作为web开发,它已经成了接口文档服务的代名词了。现在很多协作型项目,都用它生成api文档,让大家能够很好的协作开发。紧接上一章,我们在工程中接入Swagger来接生成接口API服务。

2023-08-25 16:12:37 216

原创 Cento7 Docker-compose安装mongo

MongoDB是一个基于分布式文件存储的数据库,在互联网公司应用的非常广泛。接下来我们用docker-compose的形式安装。首先先装好docker,docker-compose命令。把mongodb的默认用户和密码设置成root 密码:123456。通过docker命令连接mongo,然后执行命令。文件保存好后,启动运行mongo。

2023-08-24 14:58:02 97

原创 SpringBoot初级开发--加入ElasticSearch数据源(4)

这里有个注意的地方就是在运行之前,要去建立索引,可以用ElasticSearch-Head去建立 一个esinfoindex的索引,并且运行的ES在elasticsearch.yml属性中加上xpack.security.enabled: false属性。type:字段类型,是枚举:FieldType,可以是text、long、short、date、integer、object等。elasticsearch可以对日期格式化为字符串存储,但是建议我们存储为毫秒值,存储为long,节省空间。

2023-08-23 18:10:38 220

原创 Centos7.9安装ElasticSearch6

ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口,同时也可以作为一个近实时的数据存储系统。接下来我们快速安装一个集群模式的ES.## 1.安装JDK1.8修改配置/etc/profile配置文件,加上如下配置。

2023-08-22 17:56:20 248

原创 SpringBoot初级开发--工程的指标监控spring-boot-starter-actuator(3)

spring-boot-starter-actuator主要用于Springboot工程项目的健康指标数据的监控,接上面第2部分的内容,我们接入指标监控模块。

2023-08-21 13:49:33 35

原创 Cento7 Docker-compose安装Redis

Redis作为缓存系统,在业内非常受欢迎,今天我们以docker-compose的形式安装使用Redis.首先装好docker。redis的默认密码是:admin1001。文件保存好后,启动运行redis。然后通过命令访问redis.至此,redis安装成功。

2023-08-19 17:53:32 109

原创 SpringBoot初级开发--做一个MVC的Web整体工程(2)

改完controller之后,增加thymeleaf的视图页面,在src/resources/templates目录下增加一个welcomeindex.html的页面。这样从数据库一直到controller的流程就通了,接下来我们增加thymeleaf的视图页面的表达,先增加依赖配置,然后再次修改controller。在Welcome的Controller中增加对service的调用,返回数据库中的数据,并且把po数据拷贝给vo对象。同时我们把整个工程的编码设置成UTF8,整个工程src的目录结构分别是。

2023-08-19 17:23:32 50

原创 SpringBoot初级开发--做一个简单应用开始(1)

现在java的开发基本都用IntelliJ IDEA,这里我用的一个版本是2020.2.3 x64,可以去下载一个试用版来做开发使用。首先我们先构建一个SpringBoot的应用。

2023-08-18 15:14:29 36

原创 Cento7 Docker-compose安装Minio

MinIO是一款高性能高可用的文件系统服务,可以用来替换FastDFS,接下来我们docker-compose的形式来安装。编写Minio的docker-compose.yml文件。通过浏览器登录minio控制台,填上面的用户名和密码。首先提前装好docker.

2023-08-17 15:23:37 146

原创 Centos7部署使用JumpServer堡垒机

堡垒机的用途,应该不言而喻。从功能上讲,它综合了核心系统运维和安全审计管控两大主干功能,从技术实现上讲,通过切断终端计算机对网络和服务器资源的直接访问,而采用协议代理的方式,接管了终端计算机对网络和服务器的访问。JumpServer 是全球首款开源的堡垒机,使用 GNU GPL v2.0 开源协议,是符合 4A 规范的运维安全审计系统。

2023-08-16 11:45:16 421

原创 做一个大规模,高并发,高可用,可扩展的三层和四层负载均衡系统ECMP+LVS

首先四层的负载均衡我们用LVS,三层的我们通过ECMP(OSPF)来实现。支持ECMP特性的路由器将IP报文转发到不同的负载均衡服务器上,LVS通过NAT的方式进行负载均衡。首先看看这个实现的网络拓扑结构。总共有9台机器,LVS负载均衡服务器2台,RealServer真实服务器4台,2台客户端访问机器,1台Quagga主路由器.

2023-08-14 14:58:19 266

原创 Centos7用shell做一个Mysql全量备份的脚本

由于公司出于容灾的需要,需要对重要的数据进行全量备份。我们的数据库结构是一主多从结构。所以我全量备份的是从数据库,并且是按定时任务,每6个小时备份一次。

2023-08-05 08:58:30 130

原创 kubernetes K8s的常用的管理命令集

K8S有一系列的管理命令,让我们能在字符界面很好的管理K8s系统。

2023-07-30 11:39:32 75

原创 Centos7 Devpos中的明星Jenkins的部署安装

Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,也是Devpos中的超级神器。现在我们用最简单,快捷的方式安装,部署,使用。启动成功后,开始初始化,Jenkins,默认初始密码在/root/.jenkins/secrets/initialAdminPassword。先安装好JDK,配置好环境变量。加入Jenkins安装源,选择相对应的JDK对应版本安装(新手选择“安装推荐的插件”,专业的就选择第二个。接下来根据需要,创建管理员账号,密码。选择好后,进入安装过程。

2023-07-25 18:04:22 36

原创 Centos7 安装企业级容器镜像仓库Harbor

启动之后,修改windows机器下的C:\Windows\System32\drivers\etc\hosts文件,把harbor.sports-xw.com这个域名指向,你安装harbor的服务器。Harbor是为企业用户设计的容器镜像仓库开源项目,包括了权限管理(RBAC)、LDAP、审计、安全漏洞扫描、镜像验真、管理界面、自我注册、HA 等企业必需的功能,也是当今最流行的容器仓库,也是Devpos非常重要的一环。下载docker-compose的最新版本。在docker配置里面加上域名验证。

2023-07-24 17:44:17 59

原创 centos7 gitlaba快速安装

Gitlab代码库,对于大多数开发者应该不陌生了吧,它是Devpos里面重要的一环,现在我们做一个快速的安装。直接按ip访问http://xxx.xxx.xxx.xxx,默认修改root的超级管理员密码。添加自己的绑定域名,默认是80端口,如果80已经使用,请自定义其它端口。后面的操作,就是建立项目源码包,用户上传源代码。下载Gitlab安装包,并且安装。配置,启动gitlab。

2023-07-24 14:43:16 143

原创 Centos7.9 安装Openstack Train版 详细手把手每一步搭建

查看配置是否启动成功,这里要记住如果你写错了rabbitmq的密码后,将来nova-conductor只从mysql中读取rabbitmq的密码,而不会读取/etc/nova/nova.conf的rabbitmq的密码,一定要切记。vi /etc/neutron/plugins/ml2/ml2_conf.ini 删除老的文件,复制上面网址的全部内容,然后填上如下选项。先准备两台机器,我这里准备的是2台,32G,16核,500G硬盘的服务器,一台作为master,一台作为计算节点机器。

2023-07-21 16:52:21 2088 1

原创 安装nginx进行Qos,限制下载和上传速度

limit_conn addr 是每个ip最多能建立多少个连接,上面的例子是100个连接。limit_rate_after 是在下载多少后,开始限速,上面是现在200k后开始限速。limit_upload_rate 是上传限速,上面的例子是100k上传速度。在nginxi的配置location块加入如下配置。limit_rate 是下载限速,上面限速是5k。安装的操作系统是Centos7.9。

2023-07-19 17:41:12 579

原创 Sysdig对linux系统进行统计分析

这里显示网络传输功能,实际效果和tcpdump抓包是一样的。而且其本身也支持sysdig -w dump.scap抓包保存(可以配置-X或-A使用),抓好包也支持sysdir -r dump.scap读取。有时候由于版本过高,显示不正常,可以安装低版本的。我这里的centos7.9安装的是sysdig-0.27.1-1.x86_64。显示已启动“tar”命令的所有登录shell的ID。显示登录shell使用给定ID执行的所有命令。显示在/etc中打开的每个文件。观察passwd的文件的读写。

2023-07-19 16:53:00 283

原创 Centos7高效易用的堡垒机teleport安装及使用

现在直接用浏览器访问http://xxx.xxx.xxx.xxx:7190/配置完成之后,再次用浏览器访问7190端口的项目,就进入登录界面。选在操作->管理远程账号 添加好账号后,进行测试连接。在资产->主机及账号菜单中,添加需要管理的主机。添加完主机后,然后给主机添加登录用户。

2023-07-17 17:14:33 384 1

原创 Docker常用管理命令

docker系统参数,目前拥有四个子命令,分别是:下载镜像,运行镜像查看镜像的操作历史docker镜像的导入导出删除镜像把正在运行的容器生成为一个镜像查看当前的镜像列表重启某个服务交互式运行container查看镜像的事件–since 是unix时间戳,从这个时间往后的。

2023-07-14 15:30:05 85 1

原创 Centos7 安装libvirt+KVM进行虚拟化

有时候在小规模虚拟云计算范围内,用libvirt+KVM是比较方便的,除非服务器规模大了再启用Openstack这样的重型武器。今天我们就试一下libvirt+KVM的功能。

2023-07-11 17:32:48 1058

原创 Centos7 统计整个服务器的流量出入

有时候需要统计服务器在什么时候达到流量峰值,这个时候有一个小巧的软件就可以实现我们的功能。

2023-07-10 16:23:13 913 1

原创 Centos7 Mysql5.7.21的编译安装

有时候需要更灵活的配置,就需要对软件进行编译安装。开始编译安装mysql5.7,这个消耗时间根据你机器的性能来决定。修改mysql配置文件vi /etc/my.cnf。安装软件之间,先安装gcc,以及一些必要库。boots库移动到/usr/local目录。提取码: gr9q 这里去获得。默认访问数据库,root密码为空。把mysql加入系统自启动。

2023-07-10 16:03:06 99 1

Facebook早期架构设计以及缓存系统

Facebook早期架构设计以及缓存系统

2023-07-26

Mysql-5.7.22源代码

Mysql5.7编译安装的源码

2023-07-10

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除