- 博客(58)
- 收藏
- 关注

原创 用SpringBoot+Mybatis+ES实现一个每秒百万级QPS的高并发系统的设计实现步骤
这个系统我们是用JAVA实现的,应用框架主要是springboot+Mybatis+ES,已经应用于线上生产系统。一个系统的稳定运行,最重要的一般数据层,一般是数据库或者是数据检索系统来保存数据层的数据,这里我用的是Mysql和ES,再往上一级就是应用系统这里我用的是Tomcat。应用系统这里既可以按传统的MVC方式提供用户界面,也可以只提供接口api数据。因为现在的大部分系统都已经是前后端分离,所以这里应用系统只提供api数据,给前端或者是手机app提供基础数据。
2023-08-05 17:15:01
829
原创 K8S精进之路-控制器DaemonSet -(3)
DaemonSet就是让一个节点上只能运行一个Daemonset Pod应用,每个节点就只有一个。比如最常用的网络组件,存储插件,日志插件,监控插件就是这种类型的pod.如果集群中有新的节点加入,DaemonSet也会在新的节点创建出来。DaemonSet如何保证每个节点,只有一个Pod副本运行呢?DaemonSet首先从Etcd获取所有Node的列表,然后它会去检查所有的Node,如果这个节点上没有所要运行的DaemonSet,就会启动一个出来。
2024-09-29 11:43:52
978
原创 K8S精进之路-控制器StatefulSet有状态控制 -(2)
在进行StatefulSet部署之前,我们首先可能要了解一下,什么是"有状态应用"和"无状态应用"。无状态应用就是pod无论部署在哪里,在哪台服务器上提供服务,都是一样的结果,比如经常用的nginx。有状态应用中,最经常用的那就属数据库了,因为数据库一般都是绑定了网络状态和存储状态。特别是主从数据库,哪些是主数据库,哪些是从数据库,都有明显的状态标识。离开标识的这台机器,可能就用不了了。那在K8S中主要表现的状态有哪些呢,如果抽象成现实应用中,一般就是网络拓扑状态和存储状态。
2024-09-25 17:47:23
936
原创 Centos7.9在K8s安装生产级别的分布式存储Rook+Ceph
在k8s云原生平台中,存储是除了网络之外的另一个核心,因为他涉及到了数据的保存,以及容灾等一系列的问题,做生产级别的应用,一定要具有多节点分布式,灾备及时恢复,数据平滑迁移等多种特性。Rook+Ceph就是我们在生产中常用的k8s存储方案。接下来,我们在k8s上安装该存储系统。
2024-09-24 10:42:51
1098
原创 搭建私有化Cenos7,docker的安装镜像源
最近Centos7结束了服役周期,但是还有些小伙伴们很多还是用的Centos7作为主体,官方安装源已经开始失效,这个时候我们就可以自己做个镜像源来代替原来的镜像源。
2024-08-19 08:27:21
1149
原创 Centos7.9 Kickstart自动应答,无人值守安装
有时候安装一两台服务器是轻松的事,但是如果要安装2,3百台的时候那就不是很轻松了,这时候无人值守的操作系统安装就变得非常重要。通过网络自动安装是非常方便而且快捷的。先关闭防火墙吧。
2024-08-17 11:13:32
696
原创 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
1180
原创 Centos7.9云计算CloudStack4.15系统本地化存储 (2)
>的方式安装的系统,磁盘的纯写入操作就损失了50%以上的性能,在宿主机上的磁盘写性能是115MB/s,到了虚拟机就只有10MB/s了。接下来也是非常重要的一步了,我当时试了很多次本地磁盘启动都失败了,一个主要的原因就是没有了解,服务方案是怎么使用的。这里如果要本地存储一定要,自己建立一个本地磁盘的计算方案。接下来,我们通过安装的最小系统来做一个模板,这样下次就不要再放入ISO光盘镜像了。等ISO的文件资源域的状态,变成Successfully Installed 就可以使用了。启动实例,开始安装系统。
2024-04-19 08:44:28
555
原创 Centos7.9云计算CloudStack4.15手把手安装部署指南 (1)
提起IaaS平台在开源领域当然首推就是OpenStack,它包含了几乎所有的基础构件服务,从网络,存储,镜像服务,权限管理等等,但同时它也是非常复杂的,对于入门是有非常大的门槛的。相对来说CloudStack就显得相对入手要容易一些。Apache CloudStack 徽标比较Apache CloudStack 最初是在 2008 年作为一个名为 VMOps 的项目开始的。Apache CloudStack 有一个可插拔的模型。
2024-04-18 11:31:21
3960
1
原创 kubernetes K8s的监控系统Prometheus升级Grafana,来一个酷炫的Node监控界面(二)
上一篇文章《》中使用的监控界面总感觉监控的节点数据太少,不能快算精准的判断出数据节点运行的状况。今天我找一款非常酷炫的多维度数据监控界面,能够非常有把握的了解到各节点的数据,以及运行状况。
2024-03-28 11:01:06
1579
原创 kubernetes K8s的监控系统Prometheus安装使用(一)
Prometheus 是一款基于时序数据库的开源监控告警系统,非常适合Kubernetes集群的监控。Prometheus的基本原理是通过HTTP协议周期性抓取被监控组件的状态,任意组件只要提供对应的HTTP接口就可以接入监控。不需要任何SDK或者其他的集成过程。这样做非常适合做虚拟化环境监控系统,比如VM、Docker、Kubernetes等。输出被监控组件信息的HTTP接口被叫做exporter。
2024-03-22 13:13:52
1575
1
原创 K8S精进之路-控制器Deployment-(1)
Deployment资源对象是可以进行回滚的,它有一个属性revisionHistoryLimit,是一个可选配置项,用来指定可以保留的旧的ReplicaSet数量,默认保存记录10个。每个Deployment的该配置都保存在ReplicaSet中,然而,一旦删除的旧的RepelicaSet,Deployment就无法再回退到那个revison了。StatefulSet:管理有状态应用,比如数据库基本都是有状态应用的,你数据保存在指定的节点,那么下次运行时就必须在这个节点去运行,这样就是有状态的了。
2023-11-21 16:00:10
864
原创 Centos7.9用rancher来快速部署K8S
Rancher 是一个 Kubernetes 管理工具,让你能在任何地方和任何提供商上部署和运行集群。Rancher 可以创建来自 Kubernetes 托管服务提供商的集群,创建节点并安装 Kubernetes,或者导入在任何地方运行的现有 Kubernetes 集群。Rancher 基于 Kubernetes 添加了新的功能,包括统一所有集群的身份验证和 RBAC,让系统管理员从一个位置控制全部集群的访问。
2023-11-14 11:13:49
1318
原创 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
667
原创 SpringBoot中级开发--事务配置管理(10)
事务在整个开发框架中是一个非常常用的功能,特别涉及到数据库操作。像Mysql,就有4个数据库级别:(1) READ UNCOMMITTED(读未提交):允许读取未提交的数据。这种级别的事务可以读取到其他事务未提交的数据,可能会导致脏读、不可重复读和幻读等问题。(2)READ COMMITTED(读已提交):只能读取已经提交的数据。这种级别的事务可以避免脏读,但可能会出现不可重复读和幻读等问题。(3)REPEATABLE READ(可重复读):保证在同一个事务中多次读取同一份数据时,得到的结果是一致的。
2023-09-19 11:29:34
315
原创 Cento7 Docker-compose安装以及使用InfluxDB
InfluxDB是一个时序数据库,主要用于监控场景的数据支撑,对于那些写少读多按时间序查询数据的场景是非常适用的。接下来我们用docker-compose的形式安装。首先先装好docker,docker-compose命令文件保存好后,启动运行InfluxDB安装成功后,用命进行cli初始化,分别填上用户,密码,组织,默认桶名。
2023-09-06 16:31:20
1258
原创 SpringBoot初级开发--多环境配置的集成(9)
在Springboot的开发中,我们经常要切换各种各样的环境配置,比如现在是开发环境,然后又切换到生产环境,这个时候用多环境配置就是一个明智的选择。接下来我们沿用上一章的工程来配置多环境配置工程。
2023-08-31 18:15:35
312
原创 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
448
原创 SpringBoot初级开发--整体应用的统一性异常管理(7)
在整个系统中,通常会要求有统一性的异常抛出,统一的异常格式,统一的异常界面,而不是把整个堆栈错误信息抛出,这样对整个系统的安全性以及错误定位都非常不好,接下来我们紧接上一章的源码,加上统一异常。
2023-08-30 10:47:52
641
原创 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
888
原创 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
1069
原创 SpringBoot初级开发--加入Swagger展现接口文档(5)
Swagger 是一个规范且完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。作为web开发,它已经成了接口文档服务的代名词了。现在很多协作型项目,都用它生成api文档,让大家能够很好的协作开发。紧接上一章,我们在工程中接入Swagger来接生成接口API服务。
2023-08-25 16:12:37
275
原创 Cento7 Docker-compose安装mongo
MongoDB是一个基于分布式文件存储的数据库,在互联网公司应用的非常广泛。接下来我们用docker-compose的形式安装。首先先装好docker,docker-compose命令。把mongodb的默认用户和密码设置成root 密码:123456。通过docker命令连接mongo,然后执行命令。文件保存好后,启动运行mongo。
2023-08-24 14:58:02
180
原创 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
282
原创 Centos7.9安装ElasticSearch6
ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口,同时也可以作为一个近实时的数据存储系统。接下来我们快速安装一个集群模式的ES.## 1.安装JDK1.8修改配置/etc/profile配置文件,加上如下配置。
2023-08-22 17:56:20
316
原创 SpringBoot初级开发--工程的指标监控spring-boot-starter-actuator(3)
spring-boot-starter-actuator主要用于Springboot工程项目的健康指标数据的监控,接上面第2部分的内容,我们接入指标监控模块。
2023-08-21 13:49:33
84
原创 Cento7 Docker-compose安装Redis
Redis作为缓存系统,在业内非常受欢迎,今天我们以docker-compose的形式安装使用Redis.首先装好docker。redis的默认密码是:admin1001。文件保存好后,启动运行redis。然后通过命令访问redis.至此,redis安装成功。
2023-08-19 17:53:32
203
原创 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
99
原创 SpringBoot初级开发--做一个简单应用开始(1)
现在java的开发基本都用IntelliJ IDEA,这里我用的一个版本是2020.2.3 x64,可以去下载一个试用版来做开发使用。首先我们先构建一个SpringBoot的应用。
2023-08-18 15:14:29
74
原创 Cento7 Docker-compose安装Minio
MinIO是一款高性能高可用的文件系统服务,可以用来替换FastDFS,接下来我们docker-compose的形式来安装。编写Minio的docker-compose.yml文件。通过浏览器登录minio控制台,填上面的用户名和密码。首先提前装好docker.
2023-08-17 15:23:37
218
原创 Centos7部署使用JumpServer堡垒机
堡垒机的用途,应该不言而喻。从功能上讲,它综合了核心系统运维和安全审计管控两大主干功能,从技术实现上讲,通过切断终端计算机对网络和服务器资源的直接访问,而采用协议代理的方式,接管了终端计算机对网络和服务器的访问。JumpServer 是全球首款开源的堡垒机,使用 GNU GPL v2.0 开源协议,是符合 4A 规范的运维安全审计系统。
2023-08-16 11:45:16
624
原创 做一个大规模,高并发,高可用,可扩展的三层和四层负载均衡系统ECMP+LVS
首先四层的负载均衡我们用LVS,三层的我们通过ECMP(OSPF)来实现。支持ECMP特性的路由器将IP报文转发到不同的负载均衡服务器上,LVS通过NAT的方式进行负载均衡。首先看看这个实现的网络拓扑结构。总共有9台机器,LVS负载均衡服务器2台,RealServer真实服务器4台,2台客户端访问机器,1台Quagga主路由器.
2023-08-14 14:58:19
437
原创 Centos7用shell做一个Mysql全量备份的脚本
由于公司出于容灾的需要,需要对重要的数据进行全量备份。我们的数据库结构是一主多从结构。所以我全量备份的是从数据库,并且是按定时任务,每6个小时备份一次。
2023-08-05 08:58:30
175
原创 Centos7 Devpos中的明星Jenkins的部署安装
Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,也是Devpos中的超级神器。现在我们用最简单,快捷的方式安装,部署,使用。启动成功后,开始初始化,Jenkins,默认初始密码在/root/.jenkins/secrets/initialAdminPassword。先安装好JDK,配置好环境变量。加入Jenkins安装源,选择相对应的JDK对应版本安装(新手选择“安装推荐的插件”,专业的就选择第二个。接下来根据需要,创建管理员账号,密码。选择好后,进入安装过程。
2023-07-25 18:04:22
70
原创 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
104
原创 centos7 gitlaba快速安装
Gitlab代码库,对于大多数开发者应该不陌生了吧,它是Devpos里面重要的一环,现在我们做一个快速的安装。直接按ip访问http://xxx.xxx.xxx.xxx,默认修改root的超级管理员密码。添加自己的绑定域名,默认是80端口,如果80已经使用,请自定义其它端口。后面的操作,就是建立项目源码包,用户上传源代码。下载Gitlab安装包,并且安装。配置,启动gitlab。
2023-07-24 14:43:16
181
原创 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
3194
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
940
原创 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
396
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人