分布式与集群理解之部署结构
上个篇章的例子中我们来个简单的项目部署结构
乘客:使用终端发起购票申请
调度员:nginx作为分发以及负载均衡
窗口:负责业务处理,这里我启动了4台tomcat 端口分别为 8081,8082,8083,8084 来处理购买车票A的业务 8081,购买车票B的业务 8082,购买车票C的业务 8083,8084
那么关键点在于第一个调度员的消息分发路由,起作用是将不同的购票请求分发到不同的后台服务器进行业务处理来实现分布式部署,
第二个调度员实现负载的均衡,将购票请求平均分配到服务器
这里 nginx 的配置如下:
worker_processes 1; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; upstream server_c { server 127.0.0.1:8083; //窗口E server 127.0.0.1:8084; //窗口F } server { listen 2016; server_name localhost; location /passengerA { //购买车票A proxy_pass http://localhost:8081/; //窗口A proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } location /passengerB { //购买车票B proxy_pass http://localhost:8082/; //窗口B proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } location /passengerC { //购买车票C proxy_pass http://server_c/; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } } }