发表于: 2017-07-20 19:10:20

1 1207


今天开始做任务8的第3和第4部分:


3.部署两台Service,在WEB中随机访问任意一台Service。


4.部署两台WEB,通过Nginx配置两台WEB随机访问,两台WEB可以随机访问两台Service。


首先需要部署四个工程,两个Web端和两个Service端。
两个Web端工程分别部署到Jetty:run的8080端口和tomcat的8081端口;
两个Service端工程分别在配置文件中配1099端口和1199端口;
在Nginx中,相应的做两个反向代理:
Web端是把80端口代理到8080和8081;
Service端是把90端口代理到1099和1199端口;
upstream web {
                server 127.0.0.1:8080;
                server 127.0.0.1:8081;
        }    
upstream server {
                server 127.0.0.1:1099;
                server 127.0.0.1:1199;
        }
server {
        listen       80;
        server_name  localhost;
        location / {
            root   html;
            index  index.html index.htm;
            proxy_pass http://web;
        }
}
server {
        listen       90;
        server_name  localhost2;
        location / {
            root   html;
            index  index.html index.htm;
            proxy_pass http://server;
        }

}


运行后Web端正常,Service端报错,说端口被占用,查看端口后发现,90端口有两个进程在监听,一个是Nginx,一个是Tomcat(Service都在tomcat上),查百度说是端口不能有其他应用。


后来因为任务上说的是Web端用Nginx代理,Service端没说,就用生成随机数的方法先简单实现了。

因为两个端口是1099和1199,写一个生成0和1随机数的类:


public class Random01 {
    public static int random(){
        return ThreadLocalRandom.current().nextInt(0, 2);
    }
}


把配置文件的URL路径上加上这个随机数:

<bean id="userService" class="org.springframework.remoting.rmi.RmiProxyFactoryBean">
    <property name="serviceUrl" value="rmi://localhost:1#{T(tech.zengtian.springrmi.util.Random01).random()}99/UserService"/>
    <property name="serviceInterface" value="tech.zengtian.springrmi.service.UserService"/>
</bean>

确认端口被tomcat监听:

最后在服务器上用80端口访问页面和服务接口,都正常,可以通过一个地址访问两个Web服务器,两个服务器也是随机访问两个Service服务器。


问题:端口问题


总结:任务8完成度比较一般,但也已经用了好几天。



返回列表 返回列表
评论

    分享到