对传统项目架构进行拆分:
集群概念:
面向服务分布式架构:
服务层提供被注册的对象需要实现序列化接口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
总结: