自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(61)
  • 收藏
  • 关注

原创 zookeeper+kafka

1.1 zookeeper的概述ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。ZooKeeper的目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户。Zookeeper是一个开源的分布式的,为分布式框架提供协调服务的Apache项目。

2023-08-25 14:20:29 5068

原创 tomcat

Tomcat是Apache软件基金会(Apache Software Foundation)的Jakarta项目中的一个核心项目,由Apache,Sun和其他一些公司及个人共同开发而成Tomcat服务器是一个免费的开放源代码的Web应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选.Tomcat和Nginx,Apache(httpd),lighttpd等Web服务器一样,具有处理HTML页面的功能,另外它还。

2023-08-25 14:18:07 4986

原创 架构 elk

登录--左侧面板选择visualize--点击“+”号--选择图表类型--选择索引--Buckets--x-Axis--Aggregation(选择Terms)--(参考文档:https://www.elastic.co/guide/en/beats/filebeat/6.6/index.html)/usr/lib/systemd/system/elasticsearch.service #添加系统服务文件。

2023-08-25 14:10:38 5075

原创 redis

CLUSTER SETSLOT <slot> NODE <node_id> 将槽 slot 指派给 node_id 指定的节点,如果槽已经指派给另一个节点,那么先让另一个节点删除该槽>,然后再进行指派。只要这些节点彼此可以正常通信,最终他们会打成一致的状态,当节点出现故障,新节点加入,主从角色变化等,它能够给不断的ping/pong消息,从而达到同步目的。前面说了,我们虽然有6个节点,但是真正负责数据写入的只有3个节点,其他3个节点只是作为主节点的从节点,也就是说,只需要分配期中三个节点的槽位就可以了。

2023-08-25 14:09:25 4943

原创 jenkins

(1)点击左上角logo--回到主页面--选择新项目“New Item”--填写项目名--选择项目类型“Freestyle project”--save保存。(1)点击左上角logo--回到主页面--选择新项目“New Item”--填写项目名--选择项目类型“Freestyle project”--save保存。(3)选择项目--左侧选择“build now”--下面构建历史出现蓝色标志--选择蓝色标志下拉列表--console output--输出执行过程。

2023-08-25 14:04:57 4875

原创 架构 git

DevOps: Development和Operations的组合可以把DevOps看作开发(软件工程)、技术运营和质量保障(QA)三者的交集减少变更范围加强发布协调自动化更小、更频繁的变更──意味着更少的风险让开发人员更多地控制生产环境更多地以应用程序为中心来理解基础设施定义简洁明了的流程尽可能地自动化促成开发与运营的协作git:分布式版本控制系统,是当前最流行的版本控制软件。林纳斯.拖瓦兹公开的代码仓库:github.com 国外。

2023-08-25 14:03:23 5180

原创 ansible

是一个配置管理系统(configuration management system),当下最流行的批量自动化运维工具之一.常用的运维工具:ssh/puppet(ruby)/ansible(无客户端,中小规模)(python)/saltstack(master-minion)(python)大规模Ansible的作用:批量部署,服务安装,日常备份Ansible官方文档:Ansible的特性:无客户端软件,通过ssh远程管理安装后不需要启动服务。

2023-08-25 14:01:06 4874

原创 zabbix(全)

(1)检查磁盘的tps(2)在agent客户端的配置文件目录下新增监控配置文件(键值对命名法)添加:保存退出(3)客户端查看监控项(4)在服务端安装zabbix-get,查看客户端(192.168.8.20)新增监控项(5)在zabbix web 界面进行监控项关联配置--主机--找到对应主机--监控项--创建监控项--命名--键值(iostat)--信息类型(浮点数)--应用集名监测--最新数据。

2023-08-25 13:53:46 4962

原创 nginx基础架构

基础架构搭建环境准备:配置ip,关闭防火墙和selinuxifup ens33。

2023-08-25 13:48:33 4882

原创 nginx和ssl模块

PKI:公钥基础设施,主要功能是绑定证书持有者的身份和相关的密钥对(通过为公钥及相关的用户身份信息签发数字证书),5.客户机修改hosts文件,使用https://https.benet.com访问测试。并利用数字证书及相关的各种服务(证书发布,黑名单发布,时间戳服务等),8.模拟案例:配置https的blog、zh(web2和web1配置相同)选做。为用户提供方便的证书申请、证书作废、证书获取、证书状态查询的途径,https显示绿色,说明整个网站都是https的。https显示红色,证书不认或过期。

2023-08-24 09:32:10 5814

原创 负载均衡和高可用

代理等待后端服务器的响应时间。面对高并发web请求,使用各种调度算法(rr,wrr,lc,wlc,ip_hash),分散转发到后台web群集节点,提高数据吞吐量,高容灾。router_id lb2 #路由id号,和主服务器必须不同(删除vrrp_strict行)fail_timeout 经过max_fails失败后,服务的暂停时间。

2023-08-24 09:29:24 5507

原创 共享nfs和nginx负载均衡

环境:在第六章的分布式基础上搭建nfs。

2023-08-24 09:24:11 5611

原创 nginx-blog、zh

'username' => 'wangwu', #MySQL数据库用户名。'host' => '192.168.8.20', #新MySQL主机ip。'password' => '123.com', #MySQL数据库密码。'dbname' => 'zh', #zh数据库的名称。

2023-08-24 09:16:31 5499

原创 nginx模块

log_format main '$remote_addr - $remote_user [$time_iso8601] "$request" ' #定义日志输出格式main。

2023-08-24 09:14:59 5466

原创 nginx源码安装和基础配置

HAProxy的优点能够补充Nginx的一些缺点,比如支持Session的保持,Cookie的引导;世界最大web服务器软件,以高并发、低消耗著称,源自于俄罗斯,创建者 Igor(伊戈尔),2004年开源,最早以代理服务器的身份出现,2015成立nginx公司,对后端服务器的健康检查,只支持通过端口检测,不支持url来检测。工作稳定,抗负载能力很强,有完整的双机热备方案,如LVS(DR)+ Keepalived。源码安装负载均衡lb,yum安装nginx网站节点,修改节点的默认首页,客户端访问验证。

2023-08-24 09:11:34 5477

原创 架构 网站优化

extension = /usr/local/php5.6/lib/php/extensions/no-debug-zts-20131226/xcache.so #把xcache.so前的路径换成自己make install的最后一行路径。定位并去除“#”号:LoadModule deflate_module modules/mod_deflate.so。定位并去除“#”号:LoadModule expires_module modules/mod_expires.so。如果有显示,则表示已启用压缩;

2023-08-24 09:03:30 5507

原创 http和Apache

MaxRequestsPerChild 0 #推荐设置:小=10000 中或大=10000~50000(此外,如果MaxClients/ThreadsPerChild大于16,还需额外设置ServerLimit参数,ServerLimit必须大于等于 MaxClients/ThreadsPerChild 的值。Remote Address: [2408:80f0:410c:1d:0:ff:b07a:39af]:443 #请求的地址(ipv4或ipv6)配置相对复杂,自身无法解析动态网页。

2023-08-24 08:57:14 5502

原创 docker服务发现

Consul是基于GO语言开发的开源工具,主要面向分布式、服务化的系统提供服务注册、服务发现和配置管理的功能。Consul的功能都很实用,其中包括:服务注册/发现、健康检查、Key/Value存储、多数据中心和分布式一致性保证等特性。Consul本身只是一个二进制的可执行文件,所以安装和部署都非常简单,只需要从官网下载后,在执行对应的启动脚本即可。

2023-08-24 08:48:22 5715

原创 Swarm集群

目录一、什么是Docker Swarm二、Docker Swarm 基本结构三.Swarm的几个关键概念1.Swarm2.Node 3.Service4.Task四、Swarm的调度策略五、Swarm Cluster模式特性六、Dcoker Swarm 集群部署七、Docker Swarm 容器网络  Swarm是Docker公司推出的用来管理docker集群的平台,几乎全部用GO语言来完成的开发的,代码开源在https://github.com/docker/swarm, 它是将一群Docker宿主机变成

2023-08-24 08:45:53 5695

原创 Prometheus(普罗米修斯)

Prometheus提供多种语言的客户端SDK,这些SDK可以快速让应用程序纳入到Prometheus的监控当中。description: "{{ $labels.instance }}: {{ $labels.mountpoint }} 分区使用大于80% (当前值: {{ $value }})"Prometheus:监控服务的运行状态,基于Prometheus丰富的Client库,用户可以轻松的在应用程序中添加对Prometheus的支持,从而让用户可以获取服务和应用内部真正的运行状态。

2023-08-23 12:40:31 6405 1

原创 Docker的监控

docker-compose回顾:模板命令:version: "3" #最新支持到3.8 https://docs.docker.com/engine/reference/builder/services: #用来书写当前项目中的那些容器、服务tomcat:image: hub.c.163.com/library/tomcat #指定使用镜像container_name: tomcat #指定容器名。

2023-08-23 12:39:00 1336

原创 docker-compose:docker开源项目

docker容器的编排工具:定义和运行多个相关联的容器(单台dockerhost上) ,简单理解:可以同时管理(增、删、改、查等)多个容器。但没有资源管理功能,需要k8s。官网文档地址: https://docs.docker.com/compose/overview/docker镜像在创建之后,往往需要自己手动pull来获取镜像,然后执行run命令来运行。当服务需要用到多种容器,容器之间又产生了各种依赖和连接的时候,部署一个服务的手动操作是令人感到十分厌烦的。

2023-08-23 12:36:22 1333

原创 docker服务器搭建

Spring Boot目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境,是一个让 JavaScript 运行在服务端的开发平台。Spring框架是Java平台上的一种开源应用框架,提供具有控制反转特性的容器。war 过渡 tomcat。"text": ["中华人民共和国"]jar 主流 jdk。

2023-08-23 12:33:26 1339

原创 docker数据卷

对于一些容器我们我往往需要经常的修改配置文件,频繁的进入容器显得很麻烦。对于容器(mysql)中的数据,我们希望可以持久化到本地,作为一种备份。docker run -v 数据卷名(自动创建):容器内路径。用来实现容器与宿主机之间或容器与容器之间的数据共享。2.运行Tomcat容器,并挂载数据卷到网页根目录。1.创建两个容器,数据卷共享testvolume1。4.追踪查看容器日志,修改数据卷内容,看日志变化。5.数据卷容器共享,并设置容器内目录只读。数据卷容器:容器间数据双向同步共享。

2023-08-23 12:24:46 1302

原创 跨主机网络

下面我们就来创建一个 macvlan 网络。同一 Docker Overlay 网络中的容器可以通信,但不同网络之间无法通信,要实现跨网络访问,只有将容器加入多个网络。同理,因为是自定义网络,符合自定义网络的特性,可以直接通过docker容器的名称相互通信,当然也可以在自定义网络的时候,指定它的网段,那么使用此网络的容器也可以指定IP地址。在docker02上创建的网络,我们可以看到它的SCOPE定义的是global(全局),意味着加入到consul这个服务的docker服务,都可以看到我们自定义的网络。

2023-08-23 12:04:38 1300

原创 docker单机网络

我们为什么需要自定义网络?将容器放在自定义的网络(数据局域网)中,容器之间是可以相互通信的,这样的话,我们就不需要使用 --link(旧技术,已淘汰) 来实现通信了。如何自定义网络?查看容器网络docker network ls,容器启动时默认的网络是bridge(桥接)模式(即,容器启动时默认是存在--net bridge)

2023-08-23 12:01:50 1311

原创 Docler 私有仓库

修改完配置文件后,在当前目录执行./install.sh,Harbor服务就会根据当前目录下的docker-compose.yml开始下载依赖的镜像,检测并按照顺序依次启动,并且注意,harbor默认使用的是80端口,最好确认是否有冲突,或者也可以在docker-compose.yml中修改对应的端口。这里注意,既然是私有仓库,肯定是要考虑多台DockerHost共用的情况, 如果有其他的DockerHost想要使用私有仓库,仅需要修改docker的配置文件,指定私有仓库的IP和端口即可。

2023-08-23 11:58:32 1310

原创 dockerfile

dockerfile 是用来构建docker镜像的文件!命令参数脚本!构建步骤:1、 编写一个dockerfile文件2、 docker build 构建称为一个镜像3、 docker run运行镜像4、 docker push发布镜像(DockerHub 、阿里云仓库)官方镜像一般都是基础包,很多功能没有,我们通常会自己搭建自己的镜像!

2023-08-23 11:54:01 1295

原创 Docker的底层原理+基础命令

然而同 VM 不同的是,容器的进程间交互实际上还是 host 上具有相同 pid 名字空间中的进程间交互,因此需要在 IPC 资源申请时加入名字空间信息,每个 IPC 资源有一个唯一的 32 位 id。mnt 名字空间允许不同名字空间的进程看到的文件结构不同,这样每个名字空间 中的进程所看到的文件目录就被隔离开了。同时由于允许嵌套,因此可以很方便的实现嵌套的 Docker 容器。默认情况下,所有容器都能够平等的读写磁盘,也可以通过--blkio-weight参数改变容器的blockIO 的优先级。

2023-08-23 11:43:14 1306

原创 docker 安装与加速

2、通过其完整的软件包名称安装特定版本,该软件包名称是软件包名称(docker-ce)加上版本字符串(第二列),从第一个冒号(:)一直到第一个连字符,并用连字符(-)分隔。dockerhub是在国外,我们在下载镜像的时候,速度非常慢,且经常会出现`timeout`的情况,因此,我们这里决定配置一个加速器,能够帮组我们快速的下载镜像,常用的加速器有很多,这里我们说两个。Docker 的可移植性和轻量级的特性,还可以使您轻松地完成动态管理的工作负担,并根据业务需求指示,实时扩展或拆除应用程序和服务。

2023-08-22 19:58:29 1498

原创 Java 总结

String 对象的内容一旦初始化,将不能再发生改变,而 StringBuffer 类的字符串可以进行插入、连接、反转等各种操作。StringBuiIder 是新增的字符串处理类,它与 StringBuffer 类似,不同之处在于 StringBuffer 是线程安全的,执行速度较慢,而StringBuider 是线程非安全的,执行速度较快。需要注意的是,Java 中虽然提供了多维数组的语法,但实际上只有一维数组,没有多维数组,二维数组可以理解为数组中的每个元素又是一个数组,可以通过自学来学习这部分内容。

2023-08-22 19:46:31 1429

原创 Java 字符串

在现实生活中,大家一定注册过电子邮箱,用户名和密码等使用的就是字符串。字符串是一系列字符组成的序列。其实,从进入Java编程世界的第一天起,大家就已经在使用字符串了,如程序从控制台输出字符串"欢迎进入"、"教育改变生活"等,可以说字符串无处不在。

2023-08-22 19:39:37 1526

原创 java 带参数的方法

通过前面的学习,我们知道,类的方法是一个功能模块,其作用是"做一件事情",实现某一个独立的功能,可供多个地方使用。在现实生活中,大家使用过榨汁机吗?榨汁机提供了一个很好的"榨汁"功能。如果放进去的是苹果,榨出来的就是苹果汁。如果放进去的是草莓,榨出来的就是草莓汁。如果同时放入两种水果,榨出来的就是苹果草莓汁。如果什么都不放,那就无法榨汁。因此,在使用榨汁机时,必须提供一个被榨的水果。再如,使用 ATM 取钱时,要先输入取款金额,然后ATM 才会"吐出"纸币。

2023-08-22 19:30:05 2579

原创 Java 类的无参方法

例如,第11章编写的showcenter()方法,它的作用就是输出中心的信息,创建类的对象之后,可以直接调用这个方法,而不再去考虑这个方法是如何实现的。知道实现此功能的类和它的方法名,就可以直接调用,而不用重复编码。如果要使用在方法calcAvg()中获得的avg结果,可以编写带有返回值的方法,然后从方法showAvg()中调用这个方法,而不是直接使用在这个方法中定义的变量。但是,其他类的方法要调用AutoLion类的成员方法时,就必须首先创建这个类的一个对象,然后才能通过操作符使用它的成员方法。

2023-08-22 19:20:07 1510

原创 java 类与对象

在Java中要创建一个类,需要使用一个class、一个类名和一对大括号。其中,class是创建类的关键字。在class前有一个public,表示"公有"的意思。编写程序时,要注意编码规范,不要漏写public。在class关键字的后面要给定义的类命名,然后写上一对大括号,类的主体部分就写在{}中。类似于给变量命名,类的命名也要遵循一定的规则。

2023-08-22 19:14:31 1517

原创 Java 知识总结

对于二重循环,我们主要学习了几种循环结构单一的二重嵌套,如while结构中嵌套while结构,for结构中嵌套for结构。关于数据类型转换部分,大家已经学习了自动类型转换和强制类型转换,除了这两种转换,还可以通过基本数据类型的包装类进行类型转换,关于包装类的知识大家可以查阅相关资料。在实际编程中,还经常用到字符串与其他数据类型的转换,会在后面的课程中学习。return语句将在后面的章节学习,而goto语句在实际编程中很少使用,或者说不推荐使用,大家查阅相关资料了解即可。,在第二学期的课程中将会学习到。

2023-08-22 19:00:52 1580

原创 Java循环结构进阶

所以在内层循环中的continue语句,跳转时是跳过了内层循环中的剩余语句进入内层循环的下一次循环。上面四种形式中,循环条件 1 和循环操作 1 对应的循环称为外层循环,循环条件 2 和循环操作 2对应的循环称为内层循环,内层循环结束后才执行外层循环的语句。外层循环控制行数,内层循环控制每行的字符*的个数。当continue和break语句用在内层循环时,只会影响内层循环的执行,对外层循环没有影响,它们的不同点在于执行该语句后,程序跳转的位置不同,以二重for循环为例,两个语句的对比如表9-1所示。

2023-08-22 18:57:36 1677

原创 java 数组

问题:Java 考试结束后,老师给张浩分配了一项任务, 让他计算全班学员 ( 30 人)的平均分。张浩想了一下,要计算平均分不难,首先要定义变量。可是班里有 30 个学员,就要定义 30 个变量。这么一想,就开始头疼了。不过没办法,师命难违。因此,他写出了下面的代码。

2023-08-22 17:55:16 1448

原创 Java循环结构

对上面的问题,循环条件:老师没有给出满意的评价,就要继续执行任务。由以上分析可以看出,所有的循环结构都有这样的特点:首先,循环不是无休止进行的,满足一定条件的时候循环才会继续,称为"循环条件",循环条件不满足的时候,循环退出;生活中的调试一般是指初装电器或电器出现问题时排除故障的过程,首先发现问题所在,然后调整电器的某些设置,最后使其达到正常的运行状态。当程序发生错误时,分析错误的位置,在该位置设置断点,程序运行到断点处就会停下来,即可在IDEA的变量视图中看到变量的值,然后通过单步执行,一步步运行程序。

2023-08-22 17:44:25 1664

原创 Java选择结构

省略 break 的后果如下:当某个 case后的常量值与 switch 后小括号中的值相匹配时,执行该 case 块的代码,后面的 case 就不再进行条件判断,而直接执行后面所有 case 块中的代码,直到遇到 break 结束。可见,括号中的 mingCi 的值为 1 , 与第一个 case 块中的常量值匹配,因此执行它后面的代码,输出"参加麻省理工大学组织的 1 个月夏令营",然后执行语句 "break;在case后面的代码块中,break语句是可以省略的,还可以让多个case执行同一语句。

2023-08-21 14:09:42 1193

空空如也

空空如也

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

TA关注的人

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