2014/5/8
设想:每台服务器上都部署相关模块,比如在192.168.1.9上部署所有模块,不同的模块部署到不同的tomcat上。假如有10个模块,则分别配置10个tomcat,他们的端口号各不相同。同样的,在其他服务器上也同时部署相同的模块。
使用nginx做负载均衡。
下面是我写的一个小demo和配置。
为了是Url好看一点,我在host上配置了如下
192.168.1.6 liuyiyou.com
在一台机器上配置两个tomcat。端口分别是8080,9080.
每个tomcat上都部署了一个模块test。事实上,两个模块应该完全相同。但是为了测试。我显示的内容不同。其中8080上显示的是1而8081上显示的是2
在nginx上做如下配置:
http {
upstream test {
#根据ip计算将请求分配各那个后端tomcat,许多人误认为可以解决session问题,其实并不能。
#同一机器在多网情况下,路由切换,ip可能不同
#ip_hash;
server liuyiyou.com:9080;
server liuyiyou.com:8080;
}
server {
listen 80;
server_name liuyiyou.com;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
proxy_connect_timeout 3;
proxy_send_timeout 30;
proxy_read_timeout 30;
proxy_pass http://test/;
}
}
}
主要是upstream中的配置。该种配置下,是按照时间分别访问不同的模块
启动两个tomcat。在浏览器中输入:http://liuyiyou.com/test/index.jsp
则分别打印1 和2
假如1死了。则直接打印2
实验成功后:
之前:
1:192.168.1.5 已启动 lcp_server_5 登录模块
2:192.168.1.9 已启动 lcp_server_3 搜索模块和用户中心模块
3:192.168.1.11 已启动 lcp_server_1
3:192.168.1.10 已启动 lcp_server_4 购物车模块
3:192.168.1.12 已启动 lcp_server_2
修改后:
每个服务器上都有全部的模块。
只是不同的模块对应不同端口的tomcat
这样,其中一台宕机,任然可以正常访问。
相关推荐
Nginx+Tomcat分布式部署案例
jdk、redis、zookeeper、kafka、mongodb、jenkins、svn、mariadb(mysql)、sonarQube 、nginx、svn数据迁移、mysql备份附带脚本等一些自己整理的文档
我这里部署的是一个spring boot 项目 里面暴露了如下接口, 很简单 暴露了一个 get 请求返回 hello world 的restful 接口. 将此程序部署到 linux 服务器上. 部署步奏不再赘述, 自行百度 spring boot 部署 即可. 在此...
fastDFS 是以C语言开发的一项开源轻量级分布式文件系统,他对文件进行管理,主要功能有:文件存储,文件同步,文件访问(文件上传/下载),特别适合以文件为载体的在线服务,如图片网站,视频网站等
分布式web server集群部署后需要实现session共享,针对 tomcat 服务器的实现方案多种多样,比如 tomcat cluster session 广播、nginx IP hash策略、nginx sticky module等方案,本文主要介绍了使用 redis 服务器进行...
互联网安全架构-Web常用攻击手段之防盗链&防止CSRF模拟请求............12分布式解决方案-分布式配置中心-SpringBoot客户端整合Apollo分布式配置中心.......14-分布式解决方案-分布式锁解决解决方案-基于Redis方式...
基于CentOS 7的Kubernetes...Kubernetes(简称K8s)具有完备的集群管理能力,它是当前被业界广泛认可和看好的Docker分布式系统解决方案,能够实现自动化资源管理、无缝动态扩容以及跨多个数据中心的资源利用率最大化。
ActiveMQ高可用集群企业及部署方案 ActiveMQ P2P及PUB/SUB模式详解 ActiveMQ消息确认及重发策略 ActiveMQ基于Spring完成分布式消息队列实战 Kafka Kafka基于Zookeeper搭建高可用集群实战 kafka消息处理过程...
单节点系统部署在一台机器上来了直接写代码不需要考虑复杂应用场景分布式系统方案1前后端分离,前端使用CDN来进行负载应用层使用nginx进行负载数据库层换上了oc
实战篇(第11~13章)通过几个经典案例,包括大规模Nginx集群的部署方案、分布式监控系统部署方案、OpenStack快速部署方案等,使读者能快速将Puppet运用到实践中;进阶篇(第14~20章)综合讲解了Puppet的扩展模式、...
web服务部署多个,nginx反向代理,其中要实现session共享,采用spring-session的redis集群存储方案 mysql主从复制,读写分离 3技术要点 后端: spring-boot、spring-session、spring-security等全家桶 dubbo + ...
web服务部署多个,nginx反向代理,其中要实现session共享,采用spring-session的redis集群存储方案 mysql主从复制,读写分离 3技术要点 后端: spring-boot、spring-session、spring-security等全家桶 dubbo + ...
6、最后,为了支撑更高的并发,追求更好的性能,可以对服务器的部署模型进行优化,部分请求走正常的秒杀流程,部分请求直接返回秒杀失败,缺点是开发部署时需要维护两套逻辑。 分层优化 1、前端优化:活动开始前生成...
后端采用Koa + Typescript轻量级构建,支持分布式部署; 前端使用vue + view-design 轻量级开发方案,借助node.js的高io、异步、cluster等特性 完善的权限管理,精细到每一个菜单 对接公众号和小程序,数据打通 ...
基于 Spring Boot + Spring Cloud + Mybatis 为主流框架搭建的分布式敏捷开发系统架构,为中、小型项目打造企业级基础开发多种解决方案。 项目模块简介 mi-common 框架公共模块,提供相关共用工具类,以及代码...
09-SSH企业案例_CRM-客户管理系统(6天) ... day02_登录_客户管理模块 day03_客户管理&联系人管理...9品优购部署方案 10Docker简介 11Docker安装与启动 12Docker镜像操作 13Docker容器操作 14部署应用 15备份与迁移
Qt+go-Fastdfs 仿百度云盘开发笔记,基于Nginx作为反向代理和轻量级web服务器,客户端使用Qt搭建,后台...分布式解决方案用Go-Fastdfs,简介和安装部署可参考Go-Fastdfs安装部署,数据存储使用mysql和redis进行缓存。
分布式方案:将该任务拆分成 10 个子任务,每个子任务只需要 0.1 小时完成,10 台机器分别部署不同的子任务,1 个任务完成总计需要 0.1 小时,10 个任务完成耗费 1 小时。集群与分布式:集群:代表业务的物理的形态...
NGINX技术中台方案 从机器人攻击看应用安全需求的变化 拥抱云原生,构筑安全新防线 云原生全栈防护-打造容器云的多维安全 低延时高并发安全防护架构 快速部署管理分布式应用 从F5新一代平台看应用交付的未来与趋势 ...
5、Redis 和 Zookeeper 分别是如何实现分布式锁的?优缺点各是什么? 6、目前线上业务的 Redis 使用了什么部署架构?了解哨兵是如何保证 Redis 高可用的吗?知道哨兵架构下 Master 节点的选举流程吗? 7、是否了解...