Mycat

一、 什么是Mycat

基于阿里开源的Cobar产品而研发,Cobar的稳定性、可靠性、优秀的架构和性能以及众多成熟的使用案例使得MYCAT一开始就拥有一个很好的起点,站在巨人的肩膀上,我们能看到更远。业界优秀的开源项目和创新思路被广泛融入到MYCAT的基因中,使得MYCAT在很多方面都领先于目前其他一些同类的开源项目,甚至超越某些商业产品。

MYCAT背后有一支强大的技术团队,其参与者都是5年以上资深软件工程师、架构师、DBA等,优秀的技术团队保证了MYCAT的产品质量。

MYCAT并不依托于任何一个商业公司,因此不像某些开源项目,将一些重要的特性封闭在其商业产品中,使得开源项目成了一个摆设。

二、 Mycat 的下载与安装

  1. 从官网下载mycat

wget http://dl.mycat.io/1.6-RELEASE/Mycat-server-1.6-RELEASE-20161028204710-linux.tar.gz

  1. 解压Mycat压缩包
    在这里插入图片描述

  2. 移动到usr目录中

在这里插入图片描述

  1. 配置mycat环境变在这里插入图片描述量(推荐配置/root/.bash_profile)
    在这里插入图片描述

  2. 配置mycat中conf下的配置schema.xml
    在这里插入图片描述在这里插入图片描述

<mycat:schema xmlns:mycat=”http://io.mycat/”> 
<!-- 定义MyCat的逻辑库  -->   
    <schema name="给mycat起的逻辑名称" checkSQLschema="false" sqlMaxLimit="100" dataNode="testNode"></schema>
    <!-- 定义MyCat的数据节点 -->
    <dataNode name="testNode" dataHost="dtHost" database="真是数据库的名称" />
   <dataHost name="dtHost" maxCon="1000" minCon="10" balance="1"
                writeType="0" dbType="mysql" dbDriver="native" switchType="-1"  slaveThreshold="100">
                <heartbeat>select user()</heartbeat>
                <!-- can have multi write hosts -->
                <writeHost host="hostM1" url="192.168.28.128:3306" user="root"
                        password="root">
                        <!-- can have multi read hosts -->
                <readHost host="hostS1" url="192.168.28.129:3306" user="root" password="root" />
                </writeHost>
   </dataHost>
</mycat:schema>
  1. 配置登陆mycat的权限server.xml
    在这里插入图片描述在这里插入图片描述

注意:mycat6要将utf8mb4改为utf8

Test_schema指schema.xml中的mycat逻辑名称

在这里插入图片描述

  1. 修改日志文件 log4j2.xml
    在这里插入图片描述

在这里插入图片描述

  1. 启动mycat
    在这里插入图片描述

  2. 查看mycat日志并测试
    在这里插入图片描述

  3. 测试mycat

jdbc:mysql://192.168.216.6:8066/mycat
mycat是schema.xml的逻辑名
8066是mycat的端口号
192.168.216.6是mycat所在的虚拟机

Nginx

三、 Nginx是什么

Nginx是一款轻量级Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行。由俄罗斯的程序设计师Igor Sysoev所开发,供俄国大型的入口网站及搜索引擎Rambler(俄文:Рамблер)使用。其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:京东新浪网易腾讯淘宝等。

优点:

Nginx 可以在大多数 Unix like OS 上编译运行,并有 Windows 移植版。 Nginx 的1.4.0稳定版已经于2013年4月24日发布,一般情况下,对于新建站点,建议使用最新稳定版作为生产版本,已有站点的升级急迫性不高。Nginx 的源代码使用 2-clause BSD-like license。

Nginx 是一个很强大的高性能Web反向代理服务器,它具有很多非常优越的特性:

在高连接并发的情况下,Nginx是Apache服务器不错的替代品:Nginx在美国是做虚拟主机生意的老板们经常选择的软件平台之一。能够支持高达 50,000 个并发连接数的响应。

四、 Nginx的安装

\11. 从官网下载一个nginx 的tar.gz 版。
在这里插入图片描述

\12. 第一步:解压tar -zxvf nginx-1.7.4.tar.gz

在这里插入图片描述

\13. 第二步:进入nginx-1.7.4,执行./configure --prefix=/usr/nginx 命令

在这里插入图片描述

\14. 出现错误需要安装gcc

在这里插入图片描述

\15. 安装gcc依赖

rpm -Uvh libgcc-4.4.7-17.el6.i686.rpm  tzdata-2016d-1.el6.noarch.rpm

rpm -ivh kernel-headers-2.6.32-642.1.1.el6.i686.rpm

rpm -Uvh glibc-common-2.12-1.192.el6.i686.rpm  glibc-2.12-1.192.el6.i686.rpm

rpm -ivh  glibc-headers-2.12-1.192.el6.i686.rpm  glibc-devel-2.12-1.192.el6.i686.rpm mpfr-2.4.1-6.el6.i686.rpm  cpp-4.4.7-17.el6.i686.rpm  ppl-0.10.2-11.el6.i686.rpm cloog-ppl-0.15.7-1.2.el6.i686.rpm libgomp-4.4.7-17.el6.i686.rpm gcc-4.4.7-17.el6.i686.rpm

\16. 继续编译报错需要安装 pcre-devel

在这里插入图片描述

安装pcre-devel

rpm -Uvh pcre-7.8-7.el6.i686.rpm

rpm -ivh pcre-devel-7.8-7.el6.i686.rpm

\17. 继续编译报错需要安装 zlib-devel

在这里插入图片描述

安装zlib rpm -ivh *.rpm

\18. 编译通过执行make 命令

\19. 执行make install命令

五、 N****ginx的负载均衡实现

\1. 启动nginx服务器

在nginx目录下有一个sbin目录,sbin目录下有一个nginx可执行程序。

./nginx

\2. 关闭

./nginx -s stop

\3. 准备多台tomcat

在这里插入图片描述

\4. 分别修改tomcat服务器的端口

在这里插入图片描述在这里插入图片描述
在这里插入图片描述

注意:在一台机器上开启多个tomcat以上三个端口都不能相同

\5. 在nginx中配置

upstream tomcat-servers {

		#ip_hash;

		server 192.168.134.160:8082;

		server 192.168.134.160:8083;

		server 192.168.134.160:8084;

}

在这里插入图片描述

跳转路径

location / {

			 proxy_pass http://tomcat-servers;

			 proxy_redirect    off;

			 proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

			 proxy_set_header X-Real-IP $remote_addr;

			 proxy_set_header Host $http_host;

			 proxy_next_upstream http_502 http_504 error timeout invalid_header;

		   }

在这里插入图片描述

六、 负载均衡策略

  1. 轮询

  2. Ip_hash

  3. weight

七、 MSM(Memcache Session Manager)session管理

  1. 安装memcache

在这里插入图片描述在这里插入图片描述

  1. 导入jar

在这里插入图片描述在这里插入图片描述

\3. 启动memcache 服务器

Memcached -p 11211 -vvv -u root

在这里插入图片描述

\4. 配置tomcat目录中conf目录中context.xml文件加入如下配置

在这里插入图片描述

\5. 重启tomcat测试

八、 Nginx的动静分离

\1. 配置如下:

动态资源应用服务器获取

location ~ .*.(php|jsp|cgi)?$ {

proxy_pass http://tomcat-servers;

proxy_redirect off;

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

proxy_set_header X-Real-IP $remote_addr;

proxy_set_header Host $http_host;

proxy_next_upstream http_502 http_504 error timeout invalid_header;

}
在这里插入图片描述

静态资源nginx获取

#配置Nginx动静分离,定义的静态页面直接从Nginx发布目录读取。

location ~ .*.(html|htm|gif|jpg|jpeg|bmp|png|ico|txt|js|css)$ {

root **/usr/local/****shop/html;**将工程放入文件夹中

#expires定义用户浏览器缓存的时间为3天,如果静态页面不常更新,可以设置更长,

#这样可以节省带宽和缓解服务器的压力

expires 3d;

}

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GnoFYbOh-1569941144831)(file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml\wpsA344.tmp.jpg)]


Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐