对传统项目架构进行拆分:


集群概念:


面向服务分布式架构:

服务层提供被注册的对象需要实现序列化接口Serializable;


配置表现层和服务层:

  依赖包:

  服务层:

 <!-- 定义dubbo服务名称,此名称可以自定义,用于监控中心监控服务关系 -->
<dubbo:application name="content-service" />
<!-- 使用dubbo通过Zookeeper协议注册服务 -->
<dubbo:registry protocol="zookeeper" address="192.168.74.132:2181" />
<!-- 用dubbo协议在20880端口暴露服务 -->
<dubbo:protocol name="dubbo" port="20881" />
<!-- 声明需要暴露的服务接口 -->
<!-- 创建需要发布对象 -->
<bean id="contentCategoryServiceImpl" class="cn.e3.content.service.impl.ContentCategoryServiceImpl"></bean>
<!-- 发布服务 -->
<dubbo:service interface="cn.e3.content.service.ContentCategoryService"
ref="contentCategoryServiceImpl" />
<!-- 发布内容对象 -->
<bean id="contentServiceImpl" class="cn.e3.content.service.impl.ContentServiceImpl"></bean>
<!-- 发布服务 -->
<dubbo:service interface="cn.e3.content.service.ContentService"
ref="contentServiceImpl" />

  表现层:

 <!-- 消费方应用名,用于计算依赖关系,不是匹配条件,不要与提供方一样 -->
<dubbo:application name="manager-web" />
<!-- 使用multicast广播注册中心暴露发现服务地址 -->
<dubbo:registry address="zookeeper://192.168.74.132:2181" />
<!-- 生成远程服务代理,可以和本地bean一样使用demoService -->
<dubbo:reference id="itemService"
interface="cn.e3.manager.service.ItemService" timeout="1000000" retries="2"/>
<!-- 商品类别服务 -->
<dubbo:reference id="itemCatService"
interface="cn.e3.manager.service.ItemCatService" timeout="1000000" retries="2"/>
<!-- 广告分类服务 -->
<dubbo:reference id="contentCategoryService"
interface="cn.e3.content.service.ContentCategoryService" timeout="1000000" retries="2"/>
<!-- 广告内容服务 -->
<dubbo:reference id="contentService"
interface="cn.e3.content.service.ContentService" timeout="1000000" retries="2"/>
<!-- 规格模板服务 -->
<dubbo:reference id="itemParamService"
interface="cn.e3.manager.service.ItemParamService" timeout="1000000" retries="2"/>
<dubbo:reference id="searchItemService"
interface="cn.e3.search.service.SearchItemService" timeout="1000000" retries="2"/>

安装zookeeper注册中心服务器:cd zookeeper/conf,mv zoo_sample.cfg zoo.cfg

配置:vim zoo.cfg

cd ./data ; vi myid (内容为各个节点server后的数字)

启动和登录:

查看节点状态:./zkServer.sh status 同时检测zookeeper是否启动成功

日志查看:cat ./zookeeper.out

查看启动:jps

查看节点信息:ls /      ls /dubbo     ls /zookeeper


Monitor 监控中心,dubbo-admin-2.5.4.war部署在linux上的tomcat即可;

访问:ip:8080/dubbo/
root root


总结:

dubbo服务治理中间件,zookeeper注册中心的更多相关文章

  1. dubbo服务治理中间件,zookeeper注册中心 安装配置

    对传统项目架构进行拆分: 集群概念: 面向服务分布式架构: 服务层提供被注册的对象需要实现序列化接口Serializable: 配置表现层和服务层: 依赖包: 服务层: <!-- 定义dubbo ...

  2. Dubbo_创建Dubbo服务并在ZooKeeper注册,然后通过Jar包执行

    一.安装ZooKeeper(略) 二.创建Dubbo服务  1.DemoService 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 ...

  3. 使用dubbo中间件的zookeeper注册中心时报错

    在项目中搭建soa项目时,使用dubbo服务中间件时需要在虚拟机中创建一个zookeeper注册中心,在配置都没有问题的时候,如果服务端启动成功,但是消费端启动报错并且看不出据地位置时,一定要注意你的 ...

  4. dubbo实战之三:使用Zookeeper注册中心

    欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...

  5. dubbo连接zookeeper注册中心因为断网导致线程无限等待问题【转】

    最近维护的系统切换了网络环境,由联通换成了电信网络,因为某些过滤规则导致系统连不上zookeeper服务器(应用系统机器在深圳,网络为电信线路,zookeeper服务器在北京,网络为联通线路),因为我 ...

  6. Dubbo框架应用之(三)--Zookeeper注册中心、管理控制台的安装及讲解

    我是在linux下使用dubbo-2.3.3以上版本的zookeeper注册中心客户端.Zookeeper是Apache Hadoop的子项目,强度相对较好,建议生产环境使用该注册中心.Dubbo未对 ...

  7. 关于dubbo和zookeeper 注册中心

    Dubbo采用全Spring配置方式,透明化接入应用,对应用没有任何API侵入,只需用Spring加载Dubbo的配置即可,Dubbo基于Spring的Schema扩展进行加载.如果不想使用Sprin ...

  8. Dubbo(二):zookeeper 注册中心

    zookeeper 注册中心 Zookeeper 是 Apacahe Hadoop 的子项目,是一个树型的目录服务,支持变更推送,适合作为 Dubbo 服务的注册中心,工业强度较高,可用于生产环境,并 ...

  9. Dubbo(六):zookeeper注册中心的应用

    Dubbo中有一个非常本质和重要的功能,那就是服务的自动注册与发现,而这个功能是通过注册中心来实现的.而dubbo中考虑了外部许多的注册组件的实现,zk,redis,etcd,consul,eurek ...

随机推荐

  1. MS08_067漏洞学习研究

    p197 MS08-067漏洞渗透攻击 按照书上的设置做,exploit得到错误信息: Exploit failed [unreachable]: Rex::ConnectionRefused The ...

  2. [动态规划]P1854 花店橱窗布置

    题目描述 某花店现有F束花,每一束花的品种都不一样,同时至少有同样数量的花瓶,被按顺序摆成一行,花瓶的位置是固定的,从左到右按1到V顺序编号,V是花瓶的数目.花束可以移动,并且每束花用1到F的整数标识 ...

  3. Drools文档(八) 规则语言参考

    规则语言参考 概述 Drools有一个"本地"的规则语言.这种格式在标点符号上非常轻,并且通过"扩展器"支持自然语言和领域特定的语言,使语言能够变形到您的问题领 ...

  4. F - Capture

    F - Capture 题链 题意 给你两种颜色的物品,有n组,每组有第一种颜色有w个,第二种为d个,每组必须选一种,求最后第一种颜色占的比值不低于K的最少需要选第一种的组数. 思路 首先没组都选第一 ...

  5. (译)学习JavaScript闭包

    原文地址:https://medium.freecodecamp.org/lets-learn-javascript-closures-66feb44f6a44   闭包是JavaScript中一个基 ...

  6. jQuery开发自定义插件 $.extend()与$.fn.extend()

    jQuery extend()和jQuery.fn.extend() jQuery提供两个用于封装扩展的方法: 1.$.extend(); 扩展jQuery类方法,即jQuery全局方法 (在全局可直 ...

  7. 自己动手实现mybatis动态sql

    发现要坚持写博客真的是一件很困难的事情,各种原因都会导致顾不上博客.本来打算写自己动手实现orm,看看时间,还是先实现一个动态sql,下次有时间再补上orm完整的实现吧. 用过mybatis的人,估计 ...

  8. mysql分区分表

    为毛要分表和分区,,,,所有数据库的通病,文件越大,性能越低...那问题就来了.数据越多文件越大...无解?哎,所以说知道 为毛要分区了吧!那分表又是毛线?分表就是把一张表拆分成若干表,,,根据情况常 ...

  9. navigator.userAgent浏览器检测(前端基础系列)

    对于前端来说,浏览器检测已经不陌生了,在做一些页面是,需要针对不同的浏览器进行处理不同的逻辑,最简单的就是区分pc和移动端的浏览器,或是android 和ios下的浏览器. 一.浏览器检测的由来?  ...

  10. js+画曲线和圆 并限制圆的渲染范围

    通过三个点的坐标可确定一条双曲线. 公式: 1)y=ax^2+bx+c; 2) y=a(x-k)+h; 通过已知三点可确定a,b,c,h,k 2.通过圆心坐标(a,b)和半径r可确定一个圆,和已知的x ...