• dubbo 试用全过程


    概述:

    dubbo服务容器是一个standalone的启动程序,因为后台服务不需要Tomcat或JBoss等Web容器的功能,如果硬要用Web容器去加载服务提供方,增加复杂性,也浪费资源。 服务容器只是一个简单的Main方法,并加载一个简单的Spring容器,用于暴露服务。 服务容器的加载内容可以扩展,内置了spring, jetty, log4j等加载,可通过Container扩展点进行扩展,参见:Container Spring Container 自动加载META-INF/spring目录下的所有Spring配置

    1.下载地址

    https://github.com/alibaba/dubbo/

    2.导入IDE

    cd ~/dubbo
    mvn eclipse:eclipse(执行了两次mvn下载,第一次执行失败有些jar没下载下来,重新执行成功)

    Eclipse -> Menu -> File -> Import -> Exsiting Projects to Workspace -> Browse -> Finish

    3. 如果修改dubbo源码则需要重新构建dubbo
    cd ~/dubbo
    mvn clean install -Dmaven.test.skip
    cd dubbo/target

    4.Install the zookeeper registry:
    cd ~
    wget http://www.apache.org/dist//zookeeper/zookeeper-3.3.3/zookeeper-3.3.3.tar.gz
    tar zxvf zookeeper-3.3.3.tar.gz
    cd zookeeper-3.3.3/conf
    cp zoo_sample.cfg zoo.cfg
    vi zoo.cfg
    - edit: dataDir=/home/xxx/data
    cd ../bin
    ./zkServer.sh start
    cd ~/dubbo/dubbo-demo-provider/conf
    vi dubbo.properties
    - edit: dubbo.registry.adddress=zookeeper://127.0.0.1:2181
    cd ../bin
    ./restart.sh
    cd ~/dubbo/dubbo-demo-consumer/conf
    vi dubbo.properties
    - edit: dubbo.registry.adddress=zookeeper://127.0.0.1:2181
    cd ../bin
    ./restart.sh
    cd ~/dubbo/dubbo-simple-monitor/conf
    vi dubbo.properties
    - edit: dubbo.registry.adddress=zookeeper://127.0.0.1:2181
    cd ../bin
    ./restart.sh

    5.启动过程
    00zkServer.cmd
    01start_provider.bat
    02start_consumer.bat(可选,基本不用)
    03start_monitor.bat (可选,监控使用,会占用本地8080端口)
    04start_admin.bat(基本不用,管理控制器部署在tomcat下即可,dubbo-admin-2.5.4-SNAPSHOT.war)

    6.服务端开发
    通过dubbo自带例子下进行开发,采用maven构建,mvn build

    7.客户端开发
    通过java工程开发,但是至少需要导入如下jar


    8.管理控制台
    http://127.0.0.1:8087(8080端口被监控应用占用了,找了好长时间的原因)
    dubbo-admin-2.5.4-SNAPSHOT.war(该war一定要部署在tomcat/webapp/ROOT下面)

    root/rooot
    消费者访问服务必须长连接才能在管理控制台看见消费者,因为是基于zookeeper进行连接的,一但客户端线程结束,则立马会断开zookeeper的连接
    9.客户端事例代码
     1 package com.rigid;
     2 
     3 import java.io.IOException;
     4 
     5 import org.springframework.context.support.FileSystemXmlApplicationContext;
     6 
     7 import com.alibaba.dubbo.demo.VendorService;
     8 
     9 public class Main3 {
    10 
    11     /**
    12      * @param args
    13      * @throws IOException 
    14      */
    15     public static void main(String[] args) throws IOException {
    16         FileSystemXmlApplicationContext context = new FileSystemXmlApplicationContext(
    17                 "/bin/conf/spring.*");
    18         
    19         context.start();
    20 
    21         VendorService vendorService = (VendorService) context.getBean("vendorService");
    22 
    23         vendorService.createVendor("rigid");
    24         
    25         System.in.read();  
    26 
    27     }
    28 
    29 }
    View Code
    1 <?xml version="1.0" encoding="UTF-8"?>
    2 
    3 <beans xmlns="http://www.springframework.org/schema/beans"
    4     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"
    5     xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
    6     
    7     <bean id="orderService" class="com.rigid.OrderService"></bean>    
    8     
    9 </beans>
    View Code

  • 相关阅读:
    nginx之location匹配优先级和安全问题
    nginx--->高并发优化
    高并发处理方案
    检查Linux服务器性能
    浅谈Nginx负载均衡和F5的区别
    大数据不仅仅是海量数据
    自己实现C++的string类
    hihoCoder题目之Magic Box
    vim入门之配色方案(colorscheme)设置
    新开通博客,很是高兴
  • 原文地址:https://www.cnblogs.com/rigid/p/5778140.html
Copyright © 2020-2023  润新知