# 杜发根_stage3_module2 **Repository Path**: dufg/stage_3_module_2 ## Basic Information - **Project Name**: 杜发根_stage3_module2 - **Description**: 阶段三模块二作业 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-04-05 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 杜发根_stage3_module2 #### 介绍 阶段三模块二作业 #### 作业介绍 1. 第一题因不部署集群所以在/app节点下将所有服务创建**临时节点**,临时节点中的值就是IP地址和端口号,客户端监听/app节点下的子节点列表变化,有变更则重新获取/app节点下的服务信息 2. 第二题是单个服务集群部署,在/app2节点下,每个服务注册时会以服务名称创建一个持久节点,每一台该服务下的服务节点会在该服务名节点下创建临时节点;客户端同时监听/app2下的节点列表变化以及每个服务节点下的子节点列表变化,有变更则重新读取服务注册信息。 负载均衡策略实现:调用服务时,会在该服务器节点下保存最后一次调用的时间以及耗时,当客户端调用服务时,先从所有服务其中找出耗时最小的节点(超过5秒前调用的服务器调用时间按0计算),再从最小调用时间的服务器中使用随机策略选择服务器进行调用 3. Configmanager工程:在测试模块通过调用测试类ConfigmanagerApplicationTests模拟修改zk上的数据库配置,将数据库配置信息以JdbcConfig实体类的形式保存在/config/jdbc节点上。 server1/server2:两个web应用,通过http://localhost:8080/findUser/1,http://localhost:8081/findUser/1,访问数据库查询用户信息,启动时将会监听/config/jdbc节点,当数据改动时将会更新数据源,在Configmanager工程中jdbc.properties文件中更改数据库配置(将database1改为database2测试切换数据库),再从页面访问可以发现数据已是最新配置的数据