zookeeper
redis
lts
中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源。中间件位于客户机/ 服务器的操作系统之上,管理计算机资源和网络通讯。是连接两个独立应用程序或独立系统的软件。相连接的系统,即使它们具有不同的接口,但通过中间件相互之间仍能交换信息。 |
中间件是什么
中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源。中间件位于客户机/ 服务器的操作系统之上,管理计算机资源和网络通讯。是连接两个独立应用程序或独立系统的软件。相连接的系统,即使它们具有不同的接口,但通过中间件相互之间仍能交换信息。
执行中间件的一个关键途径是信息传递。通过中间件,应用程序可以工作于多平台或 OS 环境。
中间件是介于操作系统和应用软件之间,为应用软件提供服务功能的软件,有消息中间件,交易中间件,应用服务器等。由于介于两种软件之间,所以,称为中间件。
常见的中间件
tomcat
适用于本地开发,小项目,或者是个人开发(免费的开放源代码的Web 应用服务器),Apache 为HTML页面服务,而Tomcat 实际上运行JSP 页面和Servlet,但是Tomcat处理静态[HTML]的能力不如Apache服务器
特点:
weblogic
大项目或者商业项目,Java的动态功能和Java Enterprise标准的安全性引入大型网络应用的开发、集成、部署和管理之中,是美国bea公司出品的一个基于j2ee架构的中间件。
特点:
jetty
一些示例项目或者小项目常(开源的servlet容器),是使用Java语言编写的,Jetty的运行速度较快,而且是轻量级的,可以在Java中可以从test case中控制其运行。从而可以使[自动化测试]不再依赖外部环境,顺利实现自动化测试
特点:
JBoss
管理EJB的容器和服务器(开放源代码的项目),JBoss遵循商业友好的LGPL授权分发,并且由开源社区开发
特点:
WebSphere
IBM 的软件平台,它包含了编写、运行和监视全天候的工业强度的随需应变 Web 应用程序和跨平台、跨产品解决方案所需要的整个中间件基础设施,如服务器、服务和工具。WebSphere 提供了可靠、灵活和健壮的软件。WebSphere 是一个模块化的平台,基于业界支持的开放标准。可以通过受信任和持久的接口,将现有资产插入 WebSphere,可以继续扩展环境。WebSphere 可以在许多平台上运行,包括 Intel、Linux 和 z/OS。
特点:
安装jdk
yum install java-1.8.0-openjdk.x86_64
linux安装zk
cd到某个目录下开始下载tar.gz包
wget https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/zookeeper-3.4.14/zookeeper-3.4.14.tar.gz
解压 tar -zxvf zookeeper-3.4.14.tar.gz
cd zookeeper-3.4.14
cp conf/zoo_sample.cfg conf/zoo.cfg
修改 zoo.cfg 的 dataDir 和 dataLog
dataDir=/usr/local/zookeeper-3.4.14
dataLogDir=/usr/local/zookeeper-3.4.14/log
启动zk
bin/zkServer.sh start
进入zk
bin/zkCli.sh
linux安装redis
实测是可以起来 但具体的配置啥的 抽空看视频回忆下把
yum install redis
systemctl start redis
systemctl status redis
systemctl stop redis 停止服务
systemctl restart redis 重启服务
systemctl enable redis 设置开机自启动
// 不要用
systemctl start firewalld 开启防火墙
systemctl status firewalld 查看状态
//
开放端口号
firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --zone=public --add-port=6379/tcp --permanent
vi /etc/redis.conf修改配置文件
修改未非本机也可以访问,保护模式修改为no
密码修改为123456
保存退出 esc +:wq
然后重启redis
systemctl restart redis
linux安装ng
yum -y install gcc pcre-devel zlib-devel openssl openssl-devel
cd /usr/local
mkdir nginx
cd nginx
下载
wget http://nginx.org/download/nginx-1.9.12.tar.gz
解压
tar -xvf nginx-1.9.12.tar.gz
然后到nginx-1.9.12目录下执行者两步
./configure --prefix=/usr/local/nginx
make
make install
之后nginx目录下就会出现sbin
// 这是用的目录 有没有成功忘记了
./sbin/nginx 启动
./sbin/nginx -s reload 重启
-s stop
之后通过ip:80 就可以了
实测是绝对可行的!!!
注意: 这里的nginx 配置文件是sbin同级目录的
配置多个静态资源:
location / {
root /usr/local/dist/;
index index.html index.htm;
}
location /core {
alias /usr/local/static/dist/;
index index.html index.php index.htm;
}
api 表示这个打头的 替换成 parxy_pass的地址
root 表示 映射的html地址
linux 守护进程的方式启动 springboot项目
nohup java -jar coreWeb.jar --spring.profiles.active=groupA
java -jar coreWeb.jar --spring.profiles.active=groupA
nohup java -jar 111.jar --spring.profiles.active=test-groupA > 111.log 2>&1 &
各类软件对虚机&物理机的资源配置需求建议
(1) 内存中
(2) CPU中
(3) 硬盘中低 (主要是日志)
(4)Nginx性能评测:测试工具:ab(apacheBench)、静态文件3Kbytes
硬件环境:Intel xeon cpu E5-2682 v4 2.50GHz 4 core 8GBytes
26000次响应/秒(平均值)
吞吐量111Mbytes/秒(平均值)
并发数300
每次请求响应时间:10.8ms(平均值)
性能:处理性能优、CPU占用平均50%
(1) RAID必不可少
(2) 尤其处理流媒体视频、作为游戏服务器、逻辑、地图、聊天(CPU和内存需求比较高)
(3) 内存中高
(4) CPU中高
(5) 硬盘中高(日志+程序+备份)
(6) tomcat评测:测试工具:ab(apacheBench)
环境:Centos7、32G内存、1颗6核的CPU Intel(R) Xeon(R) CPU E5-2603 v3 @ 1.60GHz
测试方法:ab -kc 100 -n 1000000 http://localhost:9099(静态页面:并发100个用户连续发送100万请求)
测试过程中的CPU最高使用率:Tomcat8为44%、Tomcat6为30%
表格对比得出Tomcat8在当前配置情况下,并发用户数为1500,吞吐率和请求处理时间 最佳
而Tomcat6 则是在并发用户数为100时吞吐率和请求处理时间 最佳
(1) 两台互为主备
(2) 邮件根据用户量计算所需硬盘大小
(3) 内存中
(4) CPU中
(5) 硬盘中高
(1) 高CPU
(2) 高内存
(3) 高硬盘
(4) 可扩容性
(5) 主从+数据备份
(6) RAID
(1)内存高
(2)CPU高
(3)硬盘低
(4)具体要根据消息量和并发峰值
(5)Mysql评测报告:工具:Mysqlslap、Mysql5.1 (存储引擎Myisam)
环境:linux6.1、服务器3台、16G内存、230G硬盘
数据插入测试:mysqlslap--concurrency=200 --iterations=1 --query="callmyisamtest.p_test_t1_disk;" --number-of-queries=10000 -uroot -p1234 -h192.168.23.168 --create-schema=myisamtest
结果:开200个并发线程同时插入数据
1亿条记录:每线程执行50次存储过程(200*50*10000记录)用时10212.541seconds(约2小时50分)
2亿条记录:每线程执行100次存储过程(200*100*10000记录)用时20125.405seconds(约5小时35分)
数据查询单线程测试:
(1)高CPU
(2)内存中
(3)硬盘中(历史记录)
(1)CPU中
(2)内存(30并发平均2G左右、管理100台服务器要8G+)
(3)硬盘中