DUBBO-ZOOKEEPER-SPRING-MAVEN-TOMCAT集群配置~

应用:

随着网站业务架构越来越庞大,数据交互会十分频繁。“服务治理”,这个概念就出来了.
目前比较火的,服务化框架,DUBBO,SPRING CLOUD.最近接触了下DUBBO,略有收获.
DUBBBO的介绍网上还是蛮多的,在我通俗的认知中,类似于一个新兵报到处,它负责签收新兵,分配新兵,新兵身体测试,新兵分配情况记录。
而DUBBO最推荐的注册中心ZOOKEEPER,就是报到处的记录本本,还是实时的那种,里面记录了新兵(服务)来自哪个地区(IP),名字(服务名称)叫啥~当然ZOOKEEPER的功能不仅仅如此。

ZOOKEEPER集群:

下载解压
进入正题,首先下载个ZOOKEEPER,我下的是3.4.6版本
解压之~#tar zxvf zookeeper-3.4.6.tar.gz
再复制成三份 完成后你的目录中应该是:
root@ubuntu:/home/ubuntu/share# ls
zookeeper-3.4.6-node1 zookeeper-3.4.6-node2
zookeeper-3.4.6-node3
配置ZOO.CFG
conf下新建zoo.cfg 进行配置:
tickTime=2000
initLimit=10
syncLimit=5
#这个目录需要新建 需要存放myid(1.vim myid 
#2.存入数字1.2.3 其跟server序号对应)
dataDir=/home/ubuntu/share/zookeeper-3.4.6-node1/data
clientPort=2181
server.1=127.0.0.1:2887:3887
server.2=127.0.0.1:2888:3888
server.3=127.0.0.1:2889:3889
启动 ZK集群
root@ubuntu:/home/ubuntu/share/zookeeper-3.4.6-node1/bin# ./zkServer.sh start
root@ubuntu:/home/ubuntu/share/zookeeper-3.4.6-node2/bin# ./zkServer.sh start
root@ubuntu:/home/ubuntu/share/zookeeper-3.4.6-node3/bin# ./zkServer.sh start
查看是否成功启动:
root@ubuntu:/home/ubuntu/share/zookeeper-3.4.6-node1/bin# ./zkServer.sh status
root@ubuntu:/home/ubuntu/share/zookeeper-3.4.6-node2/bin# ./zkServer.sh status
root@ubuntu:/home/ubuntu/share/zookeeper-3.4.6-node3/bin# ./zkServer.sh status

DUBBO-ADMIN配置:

接下来配置DUBBO的后台:
1.首先https://github.com/alibaba/dubbo上下载dubbo源码
2.如果你的JDK不是1.8,该步骤可以跳过
参考http://blog.csdn.net/blue_dd/article/details/51298438(亲测可用)
3.解压至服务器TOMCAT WEBAPPS-ROOT下(先清空ROOT目录)
4.修改其WEB-INF下的 dubbo.properties文件:
这里写图片描述
5.启动TOMCAT~ 即可在你TOMCAT上查到咯~
这里写图片描述

DUBBO项目配置

当然这个时候是啥服务都没有的~
接下来引入DUBBO三层思想:API PROVIDER CUSTOMER

API项目
十分简单就是一个提供接口的  不提供其实现类的项目,一般会将其打成JAR包导入至PROVIDER CUSTOMER项目中 
这里就不详细介绍。
此处我将其打成JAR包并传至本地MAVEN仓库
mvn install:install-file -Dfile=c:\dubbo_api_test.jar -DgroupId=com.panchen -DartifactId=dubbo_api_test -Dversion=0.1 -Dpackaging=jar
PROVIDER
顾名思义提供服务~
其实现API项目的接口~  贴下主要配置~
applicationContext-dubbo.xml:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.1.xsd
    http://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd">

    <!-- 提供方应用信息,用于计算依赖关系 -->
    <dubbo:application name="test_provider" />
    <!-- 使用zookeeper注册中心暴露服务地址 -->
    <dubbo:registry address="zookeeper://192.168.10.63:2181?backup=192.168.10.63:2182,192.168.10.63:2183"  check="false" subscribe="false" register=""/>
    <!-- <dubbo:registry address="multicast://224.5.6.7:1234" /> -->
    <!-- 用dubbo协议在20880端口暴露服务 -->
    <dubbo:protocol name="dubbo" port="20881" />
    <!-- <dubbo:monitor protocol="registry"></dubbo:monitor> -->
    <!-- 具体的实现bean -->
    <bean id="testService" class="com.panchen.service.impl.TestServiceImpl" />
    <!-- 声明需要暴露的服务接口 -->
    <dubbo:service interface="com.panchen.service.TestService" ref="testService" />

</beans>

pom.xml 除了SPRING的依赖外添加:

        <!--API接口依赖 -->
        <dependency>
            <groupId>com.panchen</groupId>
            <artifactId>dubbo_api_test</artifactId>
            <version>0.1</version>
        </dependency>
        <dependency>
            <groupId>com.101tec</groupId>
            <artifactId>zkclient</artifactId>
            <version>0.4</version>
        </dependency>
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>dubbo</artifactId>
            <version>2.5.3</version>
            <exclusions>
                <exclusion>
                    <groupId>org.springframework</groupId>
                    <artifactId>spring</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.apache.zookeeper</groupId>
            <artifactId>zookeeper</artifactId>
            <version>3.4.6</version>
        </dependency>

CUSTOMER

消费端~即调用服务端
大致流程:新建MAVEN 配置文件 CONTROLLER
贴下主要配置:
applicationContext-dubbo.xml:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.1.xsd
    http://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd">

    <!-- 提供方应用信息,用于计算依赖关系 -->
    <dubbo:application name="test_customer" />

    <!-- 使用zookeeper注册中心暴露服务地址 -->
    <dubbo:registry address="zookeeper://192.168.10.63?backup=192.168.10.63:2182,192.168.10.63:2183"/>

    <!-- 要引用的服务 -->    
    <dubbo:reference interface="com.panchen.service.TestService" id="testService"></dubbo:reference>  

</beans>

再如上配置完 在DUBBO-ADMIN上已经捕获到了:
这里写图片描述
这里写图片描述

那是否真的可以了么? 写了个TEST

package com.panchen.test;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.test.context.web.WebAppConfiguration;

import com.panchen.test.controller.TestController;

/**
 * 测试
 * @author pc
 *
 */
@WebAppConfiguration
public class Test {
    public static void main(String[] args) {
        ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml","applicationContext-dubbo.xml");
        TestController testController=(TestController) ac.getBean("testController");
        testController.hello();
    }
}

在控制台输出 , 显然是成功了!
这里写图片描述

总结

1.DUBBO-ADMIN上还有很多功能可以探究
2.ZOOKEEPER的负载均衡尚未体现
3.综上操作,实际开发中尚显冗余
4.DUBBO好久没更新了~之前提过的SPRING CLOUD由SPRING SOURCE撑腰,并且SPRING BOOT越来越火,所以你懂的~

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: dubbo-spring-boot-starter是一个基于Spring Boot框架的Dubbo服务框架的启动器。它可以帮助开发者快速集成Dubbo服务框架到Spring Boot应用中,简化了Dubbo服务的配置和使用。通过使用dubbo-spring-boot-starter,开发者可以更加方便地实现Dubbo服务的注册、发现、调用等功能,提高了开发效率和代码质量。 ### 回答2: Dubbo-Spring-Boot-Starter是一款用于在Spring Boot应用中接入Apache Dubbo的开源框架。它可以帮助开发人员快速、方便地实现DubboSpring Boot项目中的集成和使用。 Dubbo是基于Java的高性能、轻量级分布式服务框架,帮助开发者更轻松、更透明地构建分布式服务,同时它也是阿里巴巴开源的一款优秀的分布式框架。然而,Dubbo在使用过程中存在一些繁琐的配置,为开发人员增加了很多工作量和麻烦,而Dubbo-Spring-Boot-Starter则是为了消除这些繁琐的配置和使用难度而产生的。 在使用Dubbo-Spring-Boot-Starter之后,开发人员可以将DubboSpring Boot框架快速整合,并通过简单的配置实现Dubbo的相关功能,比如注册中心、服务提供者和服务消费者等。在使用过程中,Dubbo-Spring-Boot-Starter为开发人员提供了大量的自动化配置和默认值,比如默认的Dubbo协议、负载均衡策略、超时时间等,同时支持自定义扩展自动配置的方式。此外,Dubbo-Spring-Boot-Starter还提供了一些Web端的监控和管理功能,帮助开发人员更方便地进行运维和监控。 总之,Dubbo-Spring-Boot-Starter是对DubboSpring Boot框架的完美结合,它简化了DubboSpring Boot项目中的使用和配置,提高了开发效率,降低了使用成本,是一款值得开发人员尝试的框架。 ### 回答3: Dubbo-spring-boot-starter是Spring Boot与Dubbo框架集成的一个starter,它提供了快速集成Dubbo框架的能力。Dubbo是一款分布式的服务治理框架,支持高性能的异步通信,并提供了负载均衡、服务降级、集群容错等丰富的特性。 Dubbo-spring-boot-starter包含了Dubbo所需的基本配置信息,只需要在Spring Boot项目的配置文件中添加相应的配置即可快速集成Dubbo框架。通过简单的配置Dubbo-spring-boot-starter能够让Spring Boot项目成为Dubbo服务的提供者或消费者。 Dubbo-spring-boot-starter的使用非常方便,只需要在项目中添加对应的依赖即可开始使用,它提供了多种配置方式,如注解、XML和properties等。同时,Dubbo-spring-boot-starter也提供了丰富的自定义配置选项,可以满足不同场景的需求。 除了Dubbo-spring-boot-starter,还有其他与Dubbo框架集成的starter,如dubbo-spring-cloud-starter和dubbo-spring-boot-project。这些starter都提供了方便快捷的Dubbo集成方式,使得Dubbo框架在Spring Boot生态中的应用更加广泛。 总之,Dubbo-spring-boot-starter是一款优秀的starter,可以让Spring Boot项目快速集成Dubbo框架,提供或消费Dubbo服务,为分布式服务治理带来便利。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值