分布式常用的中间件
Mycat一、 什么是Mycat基于阿里开源的Cobar产品而研发,Cobar的稳定性、可靠性、优秀的架构和性能以及众多成熟的使用案例使得MYCAT一开始就拥有一个很好的起点,站在巨人的肩膀上,我们能看到更远。业界优秀的开源项目和创新思路被广泛融入到MYCAT的基因中,使得MYCAT在很多方面都领先于目前其他一些同类的开源项目,甚至超越某些商业产品。MYCAT背后有一支强大的技术团队,其参与...
Mycat
一、 什么是Mycat
基于阿里开源的Cobar产品而研发,Cobar的稳定性、可靠性、优秀的架构和性能以及众多成熟的使用案例使得MYCAT一开始就拥有一个很好的起点,站在巨人的肩膀上,我们能看到更远。业界优秀的开源项目和创新思路被广泛融入到MYCAT的基因中,使得MYCAT在很多方面都领先于目前其他一些同类的开源项目,甚至超越某些商业产品。
MYCAT背后有一支强大的技术团队,其参与者都是5年以上资深软件工程师、架构师、DBA等,优秀的技术团队保证了MYCAT的产品质量。
MYCAT并不依托于任何一个商业公司,因此不像某些开源项目,将一些重要的特性封闭在其商业产品中,使得开源项目成了一个摆设。
二、 Mycat 的下载与安装
- 从官网下载mycat
wget http://dl.mycat.io/1.6-RELEASE/Mycat-server-1.6-RELEASE-20161028204710-linux.tar.gz
-
解压Mycat压缩包

-
移动到usr目录中

-
配置mycat环境变
量(推荐配置/root/.bash_profile)
-
配置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>
- 配置登陆mycat的权限server.xml


注意:mycat6要将utf8mb4改为utf8
Test_schema指schema.xml中的mycat逻辑名称

- 修改日志文件 log4j2.xml


-
启动mycat

-
查看mycat日志并测试

-
测试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;
}

六、 负载均衡策略
-
轮询
-
Ip_hash
-
weight
七、 MSM(Memcache Session Manager)session管理
- 安装memcache


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



所有评论(0)