上一章节 nginx+tomcat+redis负载均衡,实现session共享,本次我们使用另一种方式来实现session会话共享,以及实现一套线上运行的环境,
本次将重点列于 memcache 以及keepalived功能的实现上
jdk: 8u141
tomcat: 8.5.30 * 2
nginx: 1.12.1 * 2
keepalived: yum
memcache: yum * 2
ansible: yum
IP地址: 192.168.172.129-134 总六台 第一次手动加简单的ansible,第二次直接用ansible其它的(学习中)
软件下载:
memcached-session-manager
需要下载的包[memcached-session-manager-tc8-2.3.0、spymemcached-2.12.3、memcached-session-manager-2.3.0、msm-javolution-serializer-2.1.1,javolution-5.4.3.1]
java 需要下载的包jdk-8u141-linux-x64
??1、keepalived实现Nginx负载均衡高可用, keepalived实现服务高可用将在本章节实现它;
??2、nginx反向代理tomcat服务器,我们这里反代将不在使用ip地址的方式,直接使用主机名来实现,当tomcatA挂掉之后直接上线tomcatB替代但主机名不变,使用docker network方式;
??3、session保持我们将直接使用memcacehd的方式来实现,本章将重点来强调它,以及最后与redis的对比;
??4、有木有招人的收了我吧,名称即我Q可随时加我,北京地区。
??5、如果想实现数据库的预热功能以及KEY对应memcached的功能,那就需要跟开发对接一下了。
??Memcached是一个开源的,高性能的内存绶存软件,memcached作为高速运行的分布式缓存服务器,具有以下的特点。
memcace教程
??Memcached简洁而强大。它的简洁设计便于快速开发,减轻开发难度,解决了大数据量缓存的很多问题。它的API兼容大部分流行的开发语言。
??一般的使用目的是,通过缓存数据库查询结果,减少数据库访问次数,以提高动态Web应用的速度、提高可扩展性。
1、Memcached是什么,有什么作用?
??Memcached是一个开源的,高性能的内存绶存软件
??作用:通过事先规划好的内存空间中临时缓存数据库中的各类数据,以达到减轻数据库的直接并发访问,从而提升数据库的访问性能。
2、memcache内存管理机制
??memcache利用slab allocation机制来分配和管理内存,大概原理,先按照预定的大小,将分配memcache的内存分割成特定长度的内存块,再将块分组,这些内存块不会释放,可以重复利用。
??Slab Allocator的缺点: 由于分配的是固定的长度,因为无法有效的利用分配内存
3、memcache与redis有哪些区别
??数据类型:redis比memcache支持更多的数据类型,数据特性,如set list
??性能:memcache是完全基于内存的,而redis是支持持久化的 redis的缓存是比不上memcached的, 但memcached重启之后数据就会完全丢失
??持久化: memcache一旦重启,数据将全部丢失,redis有多种机制比如,主从,哨兵+主从,集群的方式
4、Memcached服务分布式集群如何实现?
??Memcached集群和web服务集群是不一样的,所有Memcached的数据总和才是数据库的数据。每台Memcached都是部分数据。
yum -y install ansible
# Host ]# vim /etc/ansible/hosts 最后添加所有主机
[all]
192.168.175.129
192.168.175.130
192.168.175.131
192.168.175.132
192.168.175.133
192.168.175.134
# 直接免交互输入
Host ]# ssh-keygen -t rsa -P "" -f ~/.ssh/id_rsa
Host]# cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
Host]# scp ~/.ssh/authorized_keys root@192.168.175.130:/root/.ssh/
进行测试
Host]# ansible all -a date
192.168.175.129 | SUCCESS | rc=0 >>
2018年 05月 05日 星期六 23:40:34 CST
....... 成功
原文地址:http://blog.51cto.com/xiong51/2113138