模拟公司真实环境架构搭建

模拟公司真实环境架构搭建

现要求公司的整体架构达到高可用

实验环境:

client(Ansible):192.168.1.1/192.168.2.2、网关192.168.2.1

透明代理:192.168.1.4(192.168.2.1)

Varnish反向代理:192.168.1.5、网关192.168.1.4

负载均衡+keepalived:192.168.1.6/192.168.1.7

LNMP:192.168.1.8/192.168.1.9

Iscsi共享存储:192.168.1.10

高可用架构结业.png

MySQL+PXC高可用集群(多主)

MySQL高可用—PXC集群

percona xtradb cluster

percona:基于mysql数据库二次开发的数据库产品

xtradb:存储引擎

要搭建pxc集群,需要三台虚拟机。三台虚拟机之间不是主从的模式,而是各自为主,三者属于对等的关系,不分主从,这个叫多主架构

MHA+MySQL高可用

MHA+MySQL高可用

Master High Availability

MHA数据库高可用集群,是一套优秀的最为mysql高可用性环境下故障切换主从的软件,在故障切换的过程中,MHA能够做到在30s自动完成数据可的故障切换,并在切换的过程中最大程度保证数据的一致性,以达到真正意义上的高可用。

MHA的特点:

1.故障转移

2.保证数据的一致性

Kafka消息队列

Kafka

Kafka消息队列

Kafka server:消息系统的中间件,接收生产者产生的消息,接收消费者的订阅,将消息交付给消费者处理

producer:生产者

consumer:消费者,多个消费者形成一个组

zookeeper:缓存(用来接收生产者的消息)相当于exchange

parttion:分区,排列数据,通过offset偏移量排列,offset对分区数据进行记录

topic:对消息进行分类,一个类型一个主题

RabbitMQ消息队列

RabbitMQ

RabbitMQ消息队列介绍

AMQP协议:高级消息队列协议,是应用层开放的协议,为面向消息中间件设计, 基于此协议的客户端与消息中间件可以传递消息,并不受客户端/中间件不同产品,不同的开发语言等条件的限制。RabbitMQ就是通过Erlang语言实现的一种消息中间件。

Redis缓存及集群

Redis介绍

非关系型数据库,基于键值对进行存储数据,可以用来缓存动态数据,将动态数据缓存在内存中,通过aof或者持久化方式写入到硬盘中

特点

支持多种数据类型

支持分布式存储

功能丰富

常用命令

select:切换数据库,redis有16个数据库(0-15)

MemCache动态数据缓存

MemCache介绍

动态数据缓存,是一个开源软件,性能好,分布式存储,缓解后端服务器的压力,提高用户的访问速度,缓存的数据存放在内存中,断电清空

把MemCache作为mysql缓存服务器。memcache里面存放的是键值对

memcache依赖libevent服务的API通讯通道,接受客户端请求,将请求作为一个事件进行封装。

MemCache是一个hash环,长度为2的32次方个,数据不是永久的

ISCSI网络共享存储与Raid磁盘创建

iscsi 网络存储

1.数据量大 工作量大 会把数据保存在存储服务器上

2.数据的安全性没有办法保证 如果电脑故障 则数据丢失

3.当服务器出现问题需要维修 在维修期间无法读取数据

概念

网络存储:以数据为中心 将存储设备和服务器分开 集中管理数据 提高性能 保证数据的安全性

Rsync+Inotify数据实时同步

rsync介绍

sync:同步

async:异步

rsync:远程同步,可以将数据同步和它相连的多台主机

特点:

rsync可以增量复制:第一次是完整复制,之后全部为增量复制,传输过程中可以实行压缩及解压缩,因此可以减少带宽

匿名复制和身份验证

可以镜像保存整个目录树和文件系统

Varnish反向代理

varnish代理

varnish是一个高性能的http加速器,是一个反向代理服务器,将数据缓存在内存中,比squid代理的速度快,linux内核版本2.6以上,3台varnish的速度比12台squid的速度还要快

varnish的特点

1、数据缓存在内存中,速度比较快,支持虚拟内存,I/O性能好,能够很好的嵌入到磁盘当中

2、数据不支持持久化,断电或者重启后,数据会丢失(存放不必要的数据)

KeepAlived双机热备

KeepAlived负载均衡


相关概念

Keepalived是针对LVS设计的一款强大的辅助工具,主要用来提供故障切换和健康检查功能——判断LVS负载调度器、节点服务器的可用性,及时隔离并替换为新的服务器,当故障主机恢复后,重新加入群集

KeepAlived保证集群的高可用

高并发:能够同时供多台客户端访问

高可用:防止集群中因为某个节点坏掉,而导致整个集群不能正常提供服务

Haproxy负载均衡web/Mysql群集

Haproxy

Haproxy负载均衡服务器


Haproxy的优点

1、开源免费

2、单进程的工作模式

3、支持拒绝连接,可以防止DDOS攻击

4、支持透明代理

四层负载和七层负载

Nginx/Haproxy/LVS:传输层(四层)负载,基于ip和端口实现,传输的速度非常快,负载不做任何的解析,直接将客户端的请求交给后端服务器,不安全

LVS负载均衡群集

lvs

LVS负载均衡群集

LVS(Linux virtual server)

它是一个负载均衡、高可用性集群,主要针对大业务量的网络应用(比如新闻。电子商务、网上银行…)

LVS是建立在一个主控服务器(双机)及若干个真实服务器组成。真实服务器负责提供服务,主控服务器会根据指定的调度算法对真实的服务器进行控制。LVS集群结构对用户来说是透明的,客户端只与单个IP(虚拟IP)进行通信。客户端向lvs发出服务请求,主控服务器会通过特定的算法来指定某个真实服务器来应答,而客户端只与负载均衡的IP进行通信

Squid代理

img4

Squid

相关概念

Squid:代理服务器

代理分为:正向代理、反向代理

正向代理:

为客户端作代理服务器,可以隐藏客户端的ip,当客户端发送请求,会先在代理服务器上寻找是否有对应的资源,如果有,返回给客户端,反之,代理服务器会去后端服务器上获取对应的资源,缓存到本地,再把请求的数据返回给客户端

正向代理访问的是真实服务器的ip,而真实服务器的后端记录的是代理服务器的ip

反向代理:为web服务器端作代理服务器,可以隐藏服务端的ip

正向代理的优点:

1、访问外网

2、可以用作缓存静态的数据,能够加速访问

自动化之PXE

PXE(preboot execute environment)

预启动执行环境,工作于C/S的网络模式,支持工作站通过网络从远端服务器下载镜像,并支持通过网络启动操作系统

C/S:samba、ftp、dhcp、mysql、fastcgi

工作流程

1、PXE Client 从自己的网卡启动,向本网络中的DHCP服务器索取IP

2、DHCP服务器返回分配给客户机的IP以及PXE文件的放置位置(该文件一般放在一台TFTP服务器上)

3、PEX Client向本网络中的TFTP服务器索取pxelinux.0文件

4、PXE Client取得pxelinux.0文件之后执行该文件




正在载入...
PoweredHexo
HostedAliyun
DNSAliyun
ThemeVolantis
UV
PV
BY-NC-SA 4.0