Spring MVC + zookeeper + Dubbo 配置

1、首先下载zookeeper注册中心,下载地址:http://www.apache.org/dyn/closer.cgi/zookeeper/

2、在conf目录下,有一个zoo_sample.cfg文件,将其命名为zoo.cfg,并且修改配置文件

以下是对各个参数的说明:

tickTime:这个时间是Zookeeper服务器之间或客户端与服务器之间维持心跳的时间间隔,也就是每个tickTime时间就会发送一个心跳。

dataDic:Zookeeper保存数据的目录,默认情况下,Zookeeper将写数据的日志也保存在这个目录里面。

dataLogDir:Zookeeper保存日志文件的目录

clientPort:客户端连接Zookeeper服务器的端口,Zookeeper会监听这个端口,接受客户端的访问请求。

因为Zookeeper需要默认占用8080这个端口,而zookeeper最近的版本中有个内嵌的管理控制台是通过jetty启动,也会占用8080 端口。

通过查看zookeeper的官方文档,发现有3种解决途径:

(1).删除jetty。

(2)修改端口。

修改方法的方法有两种,一种是在启动脚本中增加 -Dzookeeper.admin.serverPort=你的端口号.一种是在zoo.cfg中增加admin.serverPort=没有被占用的端口号

(3)停用这个服务,在启动脚本中增加"-Dzookeeper.admin.enableServer=false"

3.双击bin文件夹中的zkServer.cmd启动注册中心服务。

另外说一下dubbo+Zookeeper与提供者provider、消费者consumer之间的通信过程、

Zookeeper作为注册中心,使用单独的服务器,占用2181端口。

dubbo-admin作为监控中心,与Zookeeper使用相同的服务器,tomcat部署占用8080端口。

provider作为提供者,使用单位服务器,tomcat部署占用8080端口,使用dubbo协议开放20880端口。

consumer作为消费者,单独使用服务器,tomcat部署占用8080端口。

1、用dubbo协议在20880端口暴露服务

在提供者的dubbo配置文件中,一般都配置了

1

<dubbo:protocolname="dubbo"port="20880"/>

表明dubbo协议在20880端口暴露服务,当然如果不配置,默认使用20880端口暴露服务,所有消费者都是通过20880端口进行,对于消费者而言,提供者服务8080端口是透明的,也就是说提供者服务器端口号可以任意改变,服务也不会有任何影响,消费者无需关心。

所以需要提供者开放20880端口给消费者,而不是8080端口给消费者。

2、端口开放情况

    Zookeeper作为注册中心,provider注册服务、consumer订阅服务、dubbo-admin监控服务,所以Zookeeper注册中心的2181端口需要向provider、consumer、dubbo-admin开放;

一把你情况下,dubbo-admin监控中心与Zookeeper注册中心部署在相同的服务器上,Zookeeper可以不考虑端口开放给dubbo-admin的情况;

cunsumer订阅服务,即拿到了provider在20880端口暴露的服务,当consumer请求服务是,直接从consumer跳到provider,而不是consumer到Zookeeper再到provider,所以,provider的2080端口无需开放给Zookeeper;

同理,provider相应服务时,也是直接从provider到consumer,而不是provider到zookeeper再到consumer,所以consumer的8080无需开放 给Zookeeper;

3、总结一下

    Zookeeper的2181开放给provider、 consumer、dubbo-admin

provider的20880开放给所有consumer,但是8080服务端口可以屏蔽

consumer的8080开放给所有的provider

dubbo-admin的8080开放给管理员用户,便于通过浏览器监控注册中心服务的情况。

注册中心只负责服务注册和目录发布,安全授权,实际的服务访问仍然是两个组件之间的点对点连接完成,这种方式下整个架构获取更高的性能,同事服务管理平台也不容易成为大并发服务访问下的单点瓶颈。

附:Dubbo的管理页面

需要下载:dubbo-admin-2.5.3的war包

下载地址:http://download.csdn.net/detail/u013286716/7041185

操作如下:

1,替换掉tomcat/webapps下自带的ROOT文件夹内容(即替换tomcat的启动主页),将下载的war包解压到webapps/ROOT中,直接替换即可

注意:jdk不要使用1.8,本次实验使用的为1.7

2,启动tomcat,访问ip:8080即可或者如果是本地的话使用localhost:8080

输入用户名密码,在E:\apache-tomcat-7.0.6-dubbo\webapps\ROOT\WEB-INF下的dubbo.properties文件中即可查看到,如:

3,访问 http://localhost:8080/dubbo-admin-2.5.3

4,启动我们的服务提供者和消费者即可查看到

时间: 2024-10-21 11:23:29

Spring MVC + zookeeper + Dubbo 配置的相关文章

Spring MVC全注解配置 - 无web.xml

Serlvet 3以后,我们可以使用注解来配置Servlet,对于像Spring这类的框架来说是一个很好的适应.Spring也对此特性加入了很多的新功能.本文就将简单的对之前的xml配置转换为java代码的配置.代码配置让程序员们觉得更加具有流程化,不像配置很多代码程序员们都不愿意look into. 接下来,进行替换我们之前的web.xml和spring-mvc.xml的配置.也就是在你的web工程里面看不到这两个配置文件了.(可能有的童鞋会说,这样配置可能对以后的修改不方便,无法达到只修改配

spring MVC、mybatis配置读写分离

spring MVC.mybatis配置读写分离 1.环境: 3台数据库机器,一个master,二台slave,分别为slave1,slave2 2.要实现的目标: ①使数据写入到master ②读数据时,从slave1和slave2中读取 以此来实现数据库的读写分离 3.原理: 使用MySQL驱动自带的replicationDriver来实现,replicationDriver简单来说就是存在两个Connection,一个masterConnection,一个slaveConnection:

Spring4.X + spring MVC + Mybatis3 零配置应用开发框架搭建详解(1) - 基本介绍

Spring4.X + spring MVC + Mybatis3 零配置应用开发框架搭建详解(1) - 基本介绍 spring集成 mybatis Spring4.x零配置框架搭建 两年前一直在做后台的纯Java开发,很少涉及web开发这块,最近换了个纯的互联网公司,需要做Web后台管理系统,之前都是用xml配置的项目,接触了公司Spring4.x的零配置项目,觉得非常有感觉,不仅仅配置简单,而且条理清晰,所以,这里把学习的内容记录下来,一来加深对这块技术的印象,另外准备做个简单的教程,如果给

Spring MVC原理及配置详解

Spring MVC原理及配置 1.Spring MVC概述: Spring MVC是Spring提供的一个强大而灵活的web框架.借助于注解,Spring MVC提供了几乎是POJO的开发模式,使得控制器的开发和测试更加简单.这些控制器一般不直接处理请求,而是将其委托给Spring上下文中的其他bean,通过Spring的依赖注入功能,这些bean被注入到控制器中. Spring MVC主要由DispatcherServlet.处理器映射.处理器(控制器).视图解析器.视图组成.他的两个核心是

Spring MVC XML 的配置

JavaEE体系结构包括四层,从上到下分别是应用层.Web层.业务层.持久层.Struts和这篇文章中讲解的SpringMVC是Web层的框架,Spring是业务层的框架,之前文章中讲解的Hibernate和MyBatis是持久层的框架. SpringMVC是一种基于Java,实现了Web MVC(模型 - 视图 - 控制器)设计模式,请求驱动类型的轻量级的开源的Web框架,即用了MVC架构模式的思想,将Web层进行职责解耦.基于请求驱动指的就是使用请求-响应模型,框架的目的就是帮助我们简化开发

Spring MVC原理及配置

Spring MVC原理及配置 1. Spring MVC概述 Spring MVC是Spring提供的一个强大而灵活的web框架.借助于注解,Spring MVC提供了几乎是POJO的开发模式,使得控制器的开发和测试更加简单.这些控制器一般不直接处理请求,而是将其委托给Spring上下文中的其他bean,通过Spring的依赖注入功能,这些bean被注入到控制器中. Spring MVC主要由DispatcherServlet.处理器映射.处理器(控制器).视图解析器.视图组成. 2. Spr

spring MVC中Dubbo的配置

1.服务提供方的bubbo配置: <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:context="http://www.springf

spring 4 + jpa(hibernate 3/4) + spring mvc 多数据源配置

先从persistence.xml开始: <?xml version=”1.0″ encoding=”UTF-8″?><persistence version=”2.1″ xmlns=”http://java.sun.com/xml/ns/persistence” xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance” xsi:schemaLocation=”http://java.sun.com/xml/ns/persistence

【Spring】Spring MVC原理及配置详解

1.Spring MVC概述: Spring MVC是Spring提供的一个强大而灵活的web框架.借助于注解,Spring MVC提供了几乎是POJO的开发模式,使得控制器的开发和测试更加简单.这些控制器一般不直接处理请求,而是将其委托给Spring上下文中的其他bean,通过Spring的依赖注入功能,这些bean被注入到控制器中. Spring MVC主要由DispatcherServlet.处理器映射.处理器(控制器).视图解析器.视图组成.他的两个核心是两个核心: 处理器映射:选择使用