当前位置: 首页 > news >正文

垂直门户网站怎么做教育类app开发价格表

垂直门户网站怎么做,教育类app开发价格表,流媒体网站建设方案,网站如何添加百度地图服务器动态上下线监听案例 需求 在分布式系统中#xff0c;主节点可以有多台#xff0c;可以动态上下线#xff0c;任意一台客户端都能实时感知到主节点服务器的上下线。 需求分析 客户端能实时洞察到服务器上下线的变化 基本流程#xff1a; ​ 1.服务端启动时去注册…服务器动态上下线监听案例 需求 在分布式系统中主节点可以有多台可以动态上下线任意一台客户端都能实时感知到主节点服务器的上下线。 需求分析 客户端能实时洞察到服务器上下线的变化 基本流程 ​ 1.服务端启动时去注册信息创建的都是临时节点 ​ 2.客户端获取到当前在线服务器列表并注册监听 ​ 3.当服务器节点下线 ​ 4.服务器节点上下线的通知 ​ 5.process()重新再去获取服务器列表并注册监听 具体实现 环境准备 在pom.xml添加相关依赖 dependenciesdependencygroupIdjunit/groupIdartifactIdjunit/artifactIdversionRELEASE/version/dependencydependencygroupIdorg.apache.logging.log4j/groupIdartifactIdlog4j-core/artifactIdversion2.8.2/version/dependencydependencygroupIdorg.apache.zookeeper/groupIdartifactIdzookeeper/artifactIdversion3.6.1/version/dependency/dependencies1、启动zookeeper集群在集群上创建/servers节点 [rootkk01 ~]# xzk.sh start # zk集群启动脚本# 如果没有脚本使用下面命令去集群的每台机器收到启动zkServer也可以 zkServer.sh start# 进入zk客户端 [rootkk01 ~]# zkCli.sh -server# 创建servers节点 [zk: localhost:2181(CONNECTED) 3] ls / [zookeeper] [zk: localhost:2181(CONNECTED) 4] create /servers servers Created /servers 2.服务器端向zookeeper注册代码 public class DistributeServer {private String connectString kk01:2181,kk02:2181,kk01:2181;private int sessionTimeout 2000;private ZooKeeper zk;public static void main(String[] args) {DistributeServer server new DistributeServer();try {// 1.获取zk连接server.getConnect();// 2.注册服务器到zk集群server.regist(args[0]);// 3.业务逻辑因为是演示所以睡眠即可server.business();} catch (IOException e) {e.printStackTrace();} catch (KeeperException e) {e.printStackTrace();} catch (InterruptedException e) {e.printStackTrace();}}private void business() throws InterruptedException {// 模拟业务逻辑Thread.sleep(Long.MAX_VALUE);}private void regist(String hostname) throws KeeperException, InterruptedException {zk.create(/servers/hostname, hostname.getBytes(),// CreateMode.EPHEMERAL_SEQUENTIAL 表示创建的是临时顺序节点ZooDefs.Ids.OPEN_ACL_UNSAFE, CreateMode.EPHEMERAL_SEQUENTIAL);System.out.println(hostname is online);}private void getConnect() throws IOException {zk new ZooKeeper(connectString, sessionTimeout, new Watcher() {Overridepublic void process(WatchedEvent event) {}});} } 3.客户端获取到当前在线服务器列表并注册监听代码如下 public class DistributeClient {private String connectString kk01:2181,kk02:2181,kk01:2181;private int sessionTimeout 2000;private ZooKeeper zk;public static void main(String[] args) {DistributeClient client new DistributeClient();try {// 1.获取zk连接client.getConnect();// 2.监听 /server 下面子节点的增加和删除client.getServerList();// 3.业务逻辑因为是演示所以睡眠即可client.business();} catch (IOException e) {e.printStackTrace();} catch (KeeperException e) {e.printStackTrace();} catch (InterruptedException e) {e.printStackTrace();}}private void business() throws InterruptedException {// 模拟业务逻辑Thread.sleep(Long.MAX_VALUE);}private void getServerList() throws KeeperException, InterruptedException {ListString children zk.getChildren(/servers, true);ListString servers new ArrayList();for (String child : children) {byte[] data zk.getData(/servers/ child, false, null);servers.add(new String(data));}// 打印System.out.println(servers);}private void getConnect() throws IOException {zk new ZooKeeper(connectString, sessionTimeout, new Watcher() {Overridepublic void process(WatchedEvent event) {try {getServerList();} catch (KeeperException e) {e.printStackTrace();} catch (InterruptedException e) {e.printStackTrace();}}});} } 测试 1、在Linux上zk客户端命令行增加减少服务器 1启动 DistributeClient 客户端 即在idea上运行 2在kk01上的zk客户端 /servers 目录下创建 临时带序号节点 [zk: localhost:2181(CONNECTED) 11] create -e -s /servers/hadoop100 hadoop100 Created /servers/hadoop1000000000000 [zk: localhost:2181(CONNECTED) 12] create -e -s /servers/hadoop101 hadoop101 Created /servers/hadoop1010000000001 [zk: localhost:2181(CONNECTED) 13] create -e -s /servers/hadoop103 hadoop103 Created /servers/hadoop1030000000002 [zk: localhost:2181(CONNECTED) 18] ls /servers [hadoop1000000000000, hadoop1010000000001, hadoop1030000000002] 3观察idea控制台变化 [] [] [hadoop100] [hadoop101, hadoop100][hadoop101, hadoop100, hadoop103] 4执行删除操作删除部分节点 [zk: localhost:2181(CONNECTED) 19] delete /servers/hadoop1030000000002 [zk: localhost:2181(CONNECTED) 20] ls /servers [hadoop1000000000000, hadoop1010000000001] 5再次观察idea控制台变化 [hadoop101, hadoop100]2、在idea上操作增加减少服务器 1启动 DistributeClient客户端如果前面已经启动过了则忽略此步骤 2启动DistributeServer服务 ​ 在args[]数组传入 hadoop103 3观察idea控制台发现打印了如下信息 hadoop103 is online4在zkClient查询节点信息如下 [zk: localhost:2181(CONNECTED) 33] ls /servers [hadoop1000000000000, hadoop1010000000001, hadoop1030000000003]
http://www.dnsts.com.cn/news/90546.html

相关文章:

  • wordpress分类筛选wordpress内部优化
  • 电子商务网站购物流程图东莞企业制作网站
  • 网站icp证明做影视后期有哪些资源网站
  • 有没有好的做海报的网站阿里企业邮箱app
  • 如何开发一个手机网站电子商务专业就业前景如何
  • 黄埔网站建设价格炫客网站建设
  • 简历生成网站wordpress 点击特效
  • 在360怎么做网站品牌设计公司主营
  • 知名高端网站建设公司wordpress熊掌号推送
  • 网站视觉优化的意义网站建设怎么开发客户
  • 怎么做网站文章伪原创义乌市建设银行网站
  • 企业网站备案域名可以用个人的什么网站可以做问卷
  • 化妆品公司网站建设方案h5的网站
  • 网站建设与管理试题 答案网页设计素材主题
  • 软件下载网站整站源码网站建设的整体设计流程
  • 商城网站建设的步骤外贸seo网站大全
  • 广州h5网站建设WordPress 302重定向
  • 做circrna的网站互联网小程序开发
  • 怎么用服务器lp做网站网站建设百度资源
  • 网站信息资源建设焦作网站建设的公司
  • 阿里云可以做电影网站网站微信认证
  • 图片瀑布流网站模板园林景观设计公司企业文化
  • 昆明企业网站设计公司松江做移动网站
  • wordpress建2个网站吗太原网站开发公司
  • 专门做母婴的网站有哪些网站跨机房建设方案
  • 怎么样通过做网站赚钱中国建设工程招标网官网
  • dw设计一个简单网站应用开发者
  • 建公司网站哪里好app手机程序开发
  • 摄影网站的设计免费网站建设报价
  • 劳务公司找项目平台杭州seo推广服务