Web Api 基于Zookeeper的服务注册与发现

安装与差异  Zookeeper安装请参考我上篇文章 http://www.cnblogs.com/woxpp/p/7700368.html   基于Nginx的服务提供和消费    基于zookeeper的服务注册和发现  zk的负载均衡是可以调控,nginx只是能调权重,其他需要可控的都需要自己写插件;但是nginx的吞吐量比zk大很多,可以根据业务选择用哪种方式。服务端注册1.创建WEBAPI程序,使用NuGet下载ZookeeperNet安装包         2.WEBAPI我只提供了一个测试方法publicclassDataIndexController:ApiController{[HttpGet]publicList<string>GetList(){List<string>result=newList<string>();result.Add("111");result.Add("222");returnresult;}}3.WEBAPI Global文件中注册服务地址到Zookeeperpu...

Zookeeper 集群安装

负载均衡(LoadBalance)是分布式系统架构设计中必须考虑的因素之一,它通常是指,将请求/数据【均匀】分摊到多个操作单元上执行,负载均衡的关键在于【均匀】。常见互联网分布式架构如上,分为客户端层、反向代理nginx层、站点层、服务层、数据层。现在使用最多的基于软件的负载均衡是Nginx和ZooKeeper: Nginx是著名的反向代理服务器,也被广泛的作为负载均衡服务器 ZooKeeper是分布式协调服务框架,有时也被用来做负载均衡Nginx Nginx的负载均衡配置 (1)把多个webserver配置到nginx中,用户访问Nginx时,就会自动被分配到某个webserver。 (2)当网站规模变大,通常会进行服务拆分,各个服务独立部署,通过远程调用方式协同工作。 (3)为了保证稳定性,每个服务不会只使用一台服务器,也会作为一个集群存在,那么子集群也可以使用Nginx负载均衡。ZooKeeper ZooKeeper的负载均衡模式 (1)ZooKeeper作为一个服务的注册中心,每个服务在其注册中心登...
代码星球 代码星球·2020-09-06

hadoop入门到实战(18)优化技巧汇总_通用优化+Linux 优化+HDFS 优化+MapReduce 优化+HBase 优化+内存优化+JVM 优化+Zookeeper 优化

1.1、NameNode的元数据备份使用SSD1.2、定时备份NameNode上的元数据  建议每小时或者每天备份,如果数据极其重要,可以5~10分钟备份一次。备份可以通过定时任务复制元数据目录即可。1.3、为NameNode指定多个元数据目录  使用dfs.name.dir或者dfs.namenode.name.dir指定。一个指定本地磁盘,一个指定网络磁盘。这样可以提供元数据的冗余和健壮性,以免发生故障。1.4、设置dfs.namenode.name.dir.restore为true  即允许尝试恢复之前失败的dfs.namenode.name.dir目录,在创建checkpoint时做此尝试,如果设置了多个磁盘,建议允许。1.5、NameNode节点必须配置为Raid1(镜像盘)结构1.6、补充:什么是Raid0、Raid0+1、Raid1、Raid5  Standalone:最普遍的单磁盘储存方式。  Cluster:集群储存是通过将数据分布到集群中各节点的存储方式,提供单一的使...

ActiveMQ高可用集群部署(基于Replicated LevelDB Store + Zookeeper)

ActiveMQ集群的三种模式,如图(官网)1、第一种模式基于共享文件系统实现的,例如NFS、GlusterFs2、第二种模式是共享一个数据库3、第三种依赖Zookeeper协调分布式服务 如下记载基于第三种方式的安装与配置,基于3台云服务器(m1,m1s1,m1s2) 一、安装Zookeeper官网下载压缩包,三台机器分别解压,在zookeeper根目录下创建data和logs文件夹,把conf目录下的zoo_sample.cfg文件拷贝一份并改名为zoo.cfg(默认配置名),配置如下#ThenumberofmillisecondsofeachticktickTime=2000#Thenumberofticksthattheinitial#synchronizationphasecantakeinitLimit=10#Thenumberofticksthatcanpassbetween#sendingarequestandgettinganacknowledgementsyncLimit=5#thedirectorywherethesnapshotisstore...

Zookeeper的安装与集群搭建

官网地址:点我直达百度云盘:点我直达官网下载一定要下载带bin的 要不然zookeeper起不起来,找不到加载类,原来从版本3.5.5开始,带有bin名称的包才是我们想要的下载可以直接使用的里面有编译后的二进制的包,而之前的普通的tar.gz的包里面是只是源码的包无法直接使用。好想吐槽下啊,Zookeeper的包的变动,源码的包就不能向其他的安装包一样加个src的标识吗?见名知意多好,以避免误下载。注:修改完快照存储目录后,用:xvim/etc/profile使配置生效:source/etc/profile./zkServer.shstart  linux需要有jdk,关闭防火墙  克隆1台上面单机配置好的linux,用于搭建集群。  来到刚才zoo.cfg设置的快照存储目录下,我这里是/usr/data/zookeeper  修改conf/zoo.cfg格式server.1=192.168.1.101:2888:3888server.2=192.168.1.102:2888:3888server.3=192.168.1.103:2888:3888格式:server.myid...

linux下安装zookeeper

我们来说说怎么在linux下安装zookeeper。1、下载。http://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/选择你想装的版本号。我这里用的是http://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/zookeeper-3.3.6/2、放到linux。而且解压到你的目标文件夹。命令是:tar-xzvf文件文件夹-C目标文件夹。例如以下图:3、配置。首先来到你的安装位置。而且cd进去。列出全部文件。例如以下图:这里有bin文件夹和conf文件夹以及一些jar等。bin是运行文件的目录。conf是配置文件的目录。这里来说说配置,我们来看看conf里面都有些什么鬼。watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center">我们看到有一个log4j日志文件。另一个zoo_sample文件,zoo_s...
代码星球 代码星球·2020-08-28

springboot多模块开发以及整合dubbozookeeper进行服务管理

  之前研究了springboot单工程的使用,参考git地址:https://github.com/qiao-zhi/springboot-ssm  下面研究springboot多模块开发的过程。springboot-ssm-soa: 父工程springboot-ssm-common:  公共类工程,包括工具类等(其实这一模块还可以再分)springboot-ssm-bean   实体类工程springboot-ssm-service   服务层接口(不包括实现)springboot-ssm-dao     dao层接口与实现springboot-ssm-service-provider  服务层实现springboot-ssm-web    控制层与页面以及静态资源 2.1 springboot-ssm-soa父工程 pom文件:定义公用的jar包以及引入相应模块<?xmlversion=...

ZKClient操作zookeeper

  前面简单研究了curator的使用,下面简单研究zkclient的使用。privatestaticfinalStringCONNECT_ADDR="127.0.0.1:2181,127.0.0.1:2182,127.0.0.1:2183";privatestaticZkClientgeneClient(){returnnewZkClient(newZkConnection(CONNECT_ADDR),10000);}创建客户端的方法:ZKClient(Arguments)参数1:zkServerzookeeper服务器的地址,用","分割参数2:sessionTimeout超时回话,为毫秒,默认是30000ms参数3:connectionTimeOut连接超时会话参数4:IZKConnection接口的实现类参数5:zkSerializer兹定于序列化实现1.创建节点  可以递归创建节点,只不过递归创建的节点值为空。//创建节点geneClient.create("/test1","sssss",CreateMode.PERSISTENT);//递归创建节点,只是节点的值为空gen...
代码星球 代码星球·2020-08-27

springboot整合dubbozookeeper做注册中心

  springboot整合dubbo发布服务,zookeeper做注册中心。前期的安装zookeeper以及启动zookeeper集群就不说了。   dubbo-admin-2.5.4.war:dubbo服务管理项目,下载完后部署到tomcat即可查看(登录的用户名和密码默认都是root)。pom文件引入dubbo以及zkcli包:<!--引入dubbo-spring-boot-starter以及zkclient依赖--><dependency><groupId>com.alibaba.spring.boot</groupId><artifactId>dubbo-spring-boot-starter</artifactId><version>2.0.0</version></dependency><dependency><groupId>com.101tec</groupId><artifactId>zkclient&...

zookeeper的ACL权限控制

  ACL:AccessControlList  访问控制列表0.概述ACL权限控制,使用:scheme:id:perm 来标识,主要涵盖3个方面:  权限模式(Scheme):授权的策略  授权对象(ID):授权的对象  权限(Permission):授予的权限其特性如下:  ZooKeeper的权限控制是基于每个znode节点的,需要对每个节点设置权限  每个znode支持设置多种权限控制方案和多个权限  子节点不会继承父节点的权限,客户端无权访问某节点,但可能可以访问它的子节点例如:setAcl/test2ip:128.0.0.1:crwda 1. scheme 采用何种方式授权  world:默认方式,相当于全部都能访问  auth:代表已经认证通过的用户(cli中可以通过addauthdigestuser:pwd来添加当前上下文中的授权用户)  digest:即用户名:密码这种方式认证,这也是业务系统中最常用的。用 username:password 字符串来产生一个MD5串,然后该串被用来作为A...
代码星球 代码星球·2020-08-27

Zookeeper客户端Curator基本API

  在使用zookeper的时候一般不使用原生的API,Curator,解决了很多Zookeeper客户端非常底层的细节开发工作,包括连接重连、反复注册Watcher和NodeExistsException异常等等。Curator包含了几个包:curator-framework:对zookeeper的底层api的一些封装curator-client:提供一些客户端的操作,例如重试策略等curator-recipes:封装了一些高级特性,如:Cache事件监听、选举、分布式锁、分布式计数器、分布式Barrier等Maven依赖:<dependency><groupId>org.apache.curator</groupId><artifactId>curator-framework</artifactId><version>2.12.0</version></dependency><dependency><groupId>org.apache.curator</g...

zookeeperCli和Java操作zookeeperAPI

  推荐一个zookeeper可视化工具:zktools.exe  eclipse集成的工具: http://www.massedynamic.org/eclipse/updates/ 1.链接并查看基本命令.zkCli.cmd-server127.0.0.1:2181 其基本命令如下ZooKeeper-serverhost:portcmdargsstatpath[watch]setpathdata[version]lspath[watch]delquota[-n|-b]pathls2path[watch]setAclpathaclsetquota-n|-bvalpathhistoryredocmdnoprintwatcheson|offdeletepath[version]syncpathlistquotapathrmrpathgetpath[watch]create[-s][-e]pathdataacladdauthschemeauthquitgetAclpathcloseconnecthost:port2.创建Znodes---  ...

Zookeeper环境搭建

  zookeeper支持windows、linux、mac等操作系统,其搭建方式也有集群、伪集群、单机环境。下面研究三种方式的搭建。  单机环境:windows操作系统  伪集群:windows  集群:linux  下面在windows下面搭建zookeeper的单机环境。windows下面也适合做开发。但是不适合生产环境的部署安装。1.Java安装  这个就不说了,zookeeper依赖于Java环境,所以先自行安装JDK。2.zookeeper下载以及安装(1)下载zookeeperxxx.tar.gz  下载地址:http://zookeeper.apache.org/releases.html 下载xxx.tar.gz解压即可,里面有sh脚本,也有cmd脚本。     (2)解压上面下载的文件(3)在conf目录下面创建zoo.cfg(在conf目录下面提供了一分样本文件zoo_sample.cfg),或者复制一分样本文件改名为zoo.cfgtickTime=2000dataDir=E:/zookeeper/zookeeper-3.4.13/datacl...
代码星球 代码星球·2020-08-27

Zookeeper简介

1.1什么是zookeeper  Zookeeper是一个开源的分布式的,为分布式应用提供协调服务的Apache项目。  Zookeeper从设计模式角度来理解:是一个基于观察者模式设计的分布式服务管理框架,它负责存储和管理大家都关心的数据,然后接受观察者的注册,一旦这些数据的状态发生变化,Zookeeper就将负责通知已经在Zookeeper上注册的那些观察者做出相应的反应,从而实现集群中类似Master/Slave管理模式  总结:   Zookeeper=文件系统(共享数据)+通知机制。(1)文件系统   其实你简单的理解为zookeeper是一个类似于ztree的树形结构,每个节点都可以挂接数据,我们可以对这个目录树进行操作来满足我们的各种分布式需求。数据又可以自动按顺序排列等。    (2)通知机制  一个zk的节点可以被监控,包括这个目录中存储的数据的修改,子节点目录的变化,一旦变化可以通知设置监控的客户端,这个功能是zookeeper对于应用最重要的特性,通过这个特性可以实现的功能包括配置的集中管理,集群管理,分布式锁等等。 &nb...
代码星球 代码星球·2020-08-27

zookeeper + kafka 集群安装部署教程(linux环境下)

kafka自带zookeeper也可以使用kafka内置的zookeeper  进入目录下载tarzxvfapache-zookeeper-3.5.7-bin.tar.gz-C./ cd./apache-zookeeper-3.5.7-bin/confcpzoo_sample.cfg./zoo.cfg#启动shzkServer.shstart#查看启动状态sh./zkServer.shstatus启动成功          tarzxvfkafka_2.12-2.3.0.tgz-C./viserver.properties1、把broker.id改0,1,2三台机器不一样broker.id=0   2、把listeners生效,并加上本机iplisteners=PLAINTEXT://本机ip:9092 3、指定zookeeper连接地址,改为zookeeper服务器地址zookeeper.connect=192.16...
首页上一页...56789...下一页尾页