# spring-dubbo-service 微服務
spring dubbo service項目

一、服務模塊
---------------------
## 1、server
>* 配置:servlet、listener、interceptor、filter、aop、 定時任務
>* mybatis配置集成,多數據源;級聯查詢 一對一 一對多 注解配置及xml配置方式;分頁處理:傳遞Page參數 或者繼承Page的對象參數
>* druid數據源連接池;配置druid數據源監控:http://localhost:8081/druid/index.html
>* ehcache 二級緩存配置 xml 注解
>* ftp服務;Excel相關處理;jmx監控MBean
>* 測試;ArchUnit
>* 參數驗證;跨域處理;shiro權限控制;static資源, “/” 映射
>* 服務啟動注冊到consul;並測試獲取redis服務,初始化redis資源;consul 監控redis服務 ;reids分布式鎖;注意consul客戶端和consul程序版本問題
>* SPI機制: org/windwant/spring/core/spi
>* dubbo server
>* 監控:dianping Cat 監控;acturtor 項目監控信息獲取;Metrics監控
## 2、test
>* 測試dubbo rpc服務
>* 測試websocket protobuf
## 3、common
>* api 接口
## 4、rpcproxy
>* netty rpc 服務代理,處理業務消息解析 分發
## 5、wsproxy
>* netty rpc websocket 服務代理
## 6、protocal
>* protobuf 資源
## 7、client
>* proxy websocketproxy 測試工程
## 8、elasticjob
>* 測試spring-boot-server druid監控定時任務
## 9、registry
>* consul服務注冊:示例
>* RegistryFactory.INSTANCE.
getRegistry(RegistryFactory.CONSUL).
doRegister(RegistryService.build(ConfigUtil.get("service.name"),
WSUtil.getHost(),
ConfigUtil.getInteger("websocket.connect.port"),
ConfigUtil.get("service.version")));
## 10、bus
>* 消息監聽推送
## 11、rest
>* rest api
## 12、serverx
>* fescar 分布式事務應用
## 13、clientx
>* fescar 分布式事務應用 客戶端調用實例
二、服務部署:
-----------------
## 1. consul:
>* 部署consul服務
>* 啟動consul:
> * consul agent -server -bootstrap-expect=1 -data-dir=data -node=server0 -bind=127.0.0.1 -client 0.0.0.0 -ui
## 2. redis:
>* 部署redis服務
>* 啟動redis
## 3. zookeeper
>* 部署zookeeper服務
>* 啟動zookeeper
## 4. mongo
>* 部署mongo服務
>* 啟動mongo
三、docker
-----------------
>* docker-compose 啟動相應服務
>* docker network create --subnet=192.168.0.0/16 mynet 創建網絡
>* rest:
> * docker build -t rest .
> * docker run -it -d --network mynet -p 8086:8086 rest
> * curl http://localhost:8086/hello/roger
>* server:
> * docker build -t server .
> * docker run -it -d --network mynet -p 8086:8086 server
> * curl http://localhost:8083/info