Dubbo分佈式環境搭建測試(依賴mybatis,spring,druid)

    此文檔針對初學者。 html

    廢話很少說,先上源碼: http://git.oschina.net/alexgaoyh/Dubbo-parent java

    http://git.oschina.net/alexgaoyh/Dubbo-parent/attach_files git

    Maven項目,只須要注意下圖中紅色箭頭標註的三個模塊便可; spring

Dubbo-api: API接口,被 Dubbo-test-provider(服務提供者),Dubbo-test-consumer(服務消費者)依賴; sql


Dubbo-api 模塊沒什麼多說的,只是須要的interface接口和實體類……; apache

Dubbo-test-consumer 模塊一樣沒有什麼多說的,講服務提供者發佈的接口依賴到項目中便可,注意 consumerAll.xml 便可。 api

Dubbo-test-provider: tomcat

    服務提供者,Dubbo整合mybatis spring druid,實現事務控制,druid監控數據的log4j日誌記錄(sql輸出); 服務器

    下圖中,須要注意兩個單元測試的文件, mybatis

    DemoTest.java 文件是用來本地進行單元測試使用的,確保對外發布的服務接口都經過單元測試;     DemoDubboTest.java 文件是直接對外發布dubbo服務接口的,相關的方法經過單元測試整合,便可對外發布接口,發佈接口以後,服務消費者便可進行相關業務操做;

        PS: 服務提供者的模塊,後期能夠打包爲jar,在服務器上面運行,相關使用參見 ReadMe.md (mvn assembly:assembly), 這樣,服務提供者的模塊,就不須要形如tomcat的容器,直接運行jar文件,減小了服務器資源的消耗,形如以下相似的命令;

    java -cp Dubbo-provider-0.0.1-RELEASE.jar com.Dubbo.provider.demo.main.DemoProviderMain



    須要注意的是,上面的Dubbo-* 模塊,使用了zookeeper註冊中心,代碼中須要修改註冊中心的url配置;

<!-- 使用multicast廣播註冊中心暴露服務地址 -->
<dubbo:registry protocol="zookeeper" address="192.168.1.76:2181" />



    同時,建議使用  dubbo-admin-2.5.3.war 的dubbo監控中心,能夠方便的對發佈的服務接口進行進一步控制;


log4j 記錄 druid 相關監控記錄,下圖爲打印輸出的sql語句:

其中log4j.properties 文件的配置以下,使用 log4j記錄druid的日誌,打印sql:

配置文件僅供參考,建議根據業務進行修改配置;

log4j.rootCategory=info,stdout

# CONSOLE appender not used by default
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d [%t] %-5p %c{1} %M %L - %m%n

log4j.logger.org.springframework=INFO,perf

#log4j.logger.druid.sql=info,druid
#log4j.logger.druid.sql.DataSource=info,druid
#log4j.logger.druid.sql.Connection=info,druid
log4j.logger.druid.sql.Statement=debug,druid
#log4j.logger.druid.sql.ResultSet=info,druid

# File appender
log4j.appender.perf=org.apache.log4j.RollingFileAppender
log4j.appender.perf.layout=org.apache.log4j.PatternLayout
log4j.appender.perf.layout.ConversionPattern=%d [%-15.15t] %-5p %-30.30c{1} - %m%n
log4j.appender.perf.file=../druid-logs/perf.log  
log4j.appender.perf.MaxFileSize=1MB
log4j.appender.perf.MaxBackupIndex=40
log4j.appender.perf.append=true
log4j.appender.perf.ImmediateFlush=true


log4j.appender.druid=org.apache.log4j.RollingFileAppender
log4j.appender.druid.layout=org.apache.log4j.PatternLayout
log4j.appender.druid.layout.ConversionPattern=%d [%-15.15t] %-5p %-30.30c{1} - %m%n
log4j.appender.druid.file=../druid-logs/druid.log  
log4j.appender.druid.MaxFileSize=1MB
log4j.appender.druid.MaxBackupIndex=40
log4j.appender.druid.append=true
log4j.appender.druid.ImmediateFlush=true



相關文章
相關標籤/搜索