日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

double+zookeeper

發布時間:2024/3/24 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 double+zookeeper 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1. dubbo框架是什么 分布式框架,解決大量訪問請求是alibaba旗下的產品,后來交給apache基金會維護管理dubbo核心底層技術實現用的是Hessian,相比WebService,Hessian 更簡單、快捷。采用的是二進制RPC協議,因為采用的是二進制協議,所以它很適合于發送二進制數據。

dubbox是基于注解方式發布接口

dubbo核心部件:
provider:生產者, 暴露服務的提供方,可以通過jar或者容器的方式啟動服務
consumer:消費者,調用遠程服務的服務消費方。
registry: 注冊中心,服務注冊中心和發現中心
Monitor: 統計服務和調用次數,調用時間監控中心。(dubbo的控制臺頁面中可以顯示,目前只有一個簡單版本)

Container:服務運行的容器。dubbo loadbalance檢測機制:roundrobin輪詢機制 random #隨機機制 leastactive #最少活躍調用數機制

負載均衡機制:保證每臺機器請求量一致,平衡每臺機器的訪問量

springboot 整合dubbo+zookeeper 創建生產者項目,選擇Web MySql Mybatis創建消費者項目,選擇Web Thymeleaf生產者和消費者,實體類對象要一致、service接口要一致、除了上面指定jar包不一致,其他jar包要一致生產者和消費者項目中實體類對象必須實現序列化接口:implements Serializable

生產者:

1.導入pom jar包<!--dubbo 依賴 --><dependency><groupId>com.alibaba.spring.boot</groupId><artifactId>dubbo-spring-boot-starter</artifactId><version>2.0.0</version></dependency><!-- zookeeper client依賴 --><dependency><groupId>com.101tec</groupId><artifactId>zkclient</artifactId><version>0.10</version></dependency>配置dubbo服務端生產者在application.properties中配置#配置dubbo服務提供者#服務名稱spring.dubbo.application.name=providerspring.dubbo.server=true#注冊中心地址spring.dubbo.registry.address=zookeeper://127.0.0.1:2181#dubbo 協議spring.dubbo.protocol.name=dubbospring.dubbo.protocol.port=20880配置本地zookeeper 在zookeeper/conf/zoo.cfg中配置數據目錄和日志目錄位置,注意目錄需要手動創 建#數據位置dataDir=D:\\zookeeper-3.3.6\\data#日志位置dataLogDir=D:\\zookeeper-3.3.6\\logs本地啟動zookeeper:在zookeeper/bin目錄下文件地址欄中輸入cmd,執行zkServer回車即可啟動zookeeper在service實現類上加上dubbo提供的Service注解//通過dubbo提供的Service注解將接口發布出去@Service(interfaceClass = UserService.class)@Component spring注入需要用到6.在application啟動類中加上開啟dubbo配置注解@EnableDubboConfiguration消費者:1.導入pom jar包<!--dubbo 依賴 --><dependency><groupId>com.alibaba.spring.boot</groupId><artifactId>dubbo-spring-boot-starter</artifactId><version>2.0.0</version></dependency><!-- zookeeper client依賴 --><dependency><groupId>com.101tec</groupId><artifactId>zkclient</artifactId><version>0.10</version></dependency>2.配置dubbo消費者#為防止和生產者端口號沖突server.port=8081#配置dubbo消費者spring.dubbo.application.name=consumer#配置注冊中心spring.dubbo.registry.address=zookeeper://127.0.0.1:2181#dubbo協議spring.dubbo.procotol.name=dubbospring.dubbo.procotol.port=20880#消費者啟動檢測生產者是否已啟動,當值為true時才會檢測,默認為truespring.dubbo.consumer.check=false#roundrobin輪詢機制#random #隨機機制#leastactive #最少活躍調用數機制spring.dubbo.reference.loadbalance=roundrobin3.在controller中通過dubbo提供的Reference注解引用接口@Referenceprivate UserService userService;在application啟動類中加上開啟dubbo配置注解@EnableDubboConfiguration

application.properties所需配置:
修改端口號以免被占用:server.port=端口號
數據庫連接:ee
spring.datasource.url=jdbc:mysql://localhost:3306/ssh2_maven?useUnicode=true&characterEncoding=utf-8
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.jdbc.Driver

#配置dubbo服務端生產者
#在application.properties中配置
#配置dubbo服務提供者
#服務名稱
spring.dubbo.application.name=provider
spring.dubbo.server=true
#注冊中心地址
spring.dubbo.registry.address=zookeeper://127.0.0.1:2181

#dubbo 協議
spring.dubbo.protocol.name=dubbo
spring.dubbo.protocol.port=20880

時間處理
#指定Date時間類型輸出格式為yyyy-MM-dd HH:mm:ss;
spring.jackson.date-format=yyyy-MM-dd HH:mm:ss
#指定時區,解決8小時的時間差問題
spring.jackson.time-zone=GMT+8

消費者(consumer) 包結構:controller,model,service(只有接口)
StringbootConsumerApplication中需要繼承:extends WebMvcConfigurationSupport

重寫:
//這里配置靜態資源文件的路徑
@Override
protected void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/static/**").addResourceLocations(ResourceUtils.CLASSPATH_URL_PREFIX + “/static/”);
super.addResourceHandlers(registry);
}
在static里把css樣式 js…引入進去

在templates寫靜態頁面(html)

application.properties中配置:
#為防止和生產者端口號沖突
server.port=8081

#配置dubbo消費者
spring.dubbo.application.name=consumer
#配置注冊中心
spring.dubbo.registry.address=zookeeper://127.0.0.1:2181
#dubbo協議
spring.dubbo.procotol.name=dubbo
spring.dubbo.procotol.port=20880
#消費者啟動檢測生產者是否已啟動,當值為true時才會檢測,默認為true
spring.dubbo.consumer.check=false
#roundrobin輪詢機制
#random #隨機機制
#leastactive #最少活躍調用數機制
spring.dubbo.reference.loadbalance=roundrobin

#thymeleaf配置
spring.thymeleaf.prefix=classpath:/templates/
spring.thymeleaf.mode=HTML5
spring.thymeleaf.encoding=UTF-8
spring.thymeleaf.servlet.content-type=text/html
spring.thymeleaf.cache=false

#指定Date時間類型輸出格式為yyyy-MM-dd HH:mm:ss;
spring.jackson.date-format=yyyy-MM-dd HH:mm:ss
#指定時區,解決8小時的時間差問題
spring.jackson.time-zone=GMT+8

總結

以上是生活随笔為你收集整理的double+zookeeper的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。