国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

SpringBoot+Dubbo實戰demo

simon_chen / 3643人閱讀

摘要:文件引入相關依賴需要引入接口的相關依賴包。服務提供者,包含真正的服務實現代碼服務提供者啟動類編寫注意不要忘記加上注解開啟的自動配置。

前言

搭建一個SpringBoot+Dubbo+zookeeper的demo

完整代碼見:github.com/Caizhenhao/…

1. 安裝zookeeper環境

搭建 zookeeper 之前要確保當前的服務器已經有 JDK 環境。

我使用的是阿里云服務器

注意:如果你也使用的是云服務器必須配置一個安全組,開放你的zookeeper端口。


1.1 首先下載zookeeper的安裝包

自行去網上下載zookeeper的安裝包后在服務器上解壓

1.2 解壓

tar -zxvf zookeeper-3.4.11.tar.gz

解壓完畢之后修改一下解壓之后所得的文件夾名

mv zookeeper-3.4.11 zookeeper

刪除 zookeeper 安裝包

rm -rf zookeeper-3.4.11.tar.gz
1.3 進入zookeeper目錄,創建data文件夾。

mkdir data

進入 data 文件夾 然后執行pwd命令,復制所得的當前目錄位置


1.4 進入/zookeeper/conf目錄下,復制zoo_sample.cfg,命名為zoo.cfg

cp zoo_sample.cfg zoo.cfg

1.5 修改配置文件

使用 vim zoo.cfg 命令修改配置文件

修改配置文件中的 dataDir 屬性:

dataDir=/usr/local/zookeeper/data


1.6 啟動測試

進入 /zookeeper/bin 目錄然后執行下面的命令啟動zookeeper

./zkServer.sh start

查看當前 zookeeper 狀態

./zkServer.sh status


或者運行 netstat -lntup 命令查看網絡狀態,可以看到 zookeeper 的端口號 2181 已經被占用


到這里zookeeper的環境就搭建完成了,開始搭建項目

2. 開始搭建項目

項目我這里采用maven搭建,使用springboot+dubbo+zookeeper

項目分成三個模塊


三個模塊的功能:

dubbo-api 服務提供者的接口

dubbo-provider 服務提供者

dubbo-consumer 服務消費者

關鍵依賴

<dependency>
    <groupId>com.alibaba.spring.bootgroupId>
    <artifactId>dubbo-spring-boot-starterartifactId>
    <version>2.0.0version>
dependency>
3. dubbo-api

抽象服務提供者的接口供服務消費者調用

package com.czh.provider.dubboprovider.serviceImpl.service;

public interface HelloService {
    String sayHello(String name);
}

4. dubbo-provider

主要分為下面幾步:

    創建 springboot 項目;

    加入接口的相關依賴 jar 包;

    在 application.properties 配置文件中配置 dubbo 相關信息;

    實現接口類;

    服務提供者啟動類編寫

項目結構:


4.1 dubbo-provider 項目創建

創建一個 SpringBoot 項目,注意勾選上 web 模塊。

4.2 pom 文件引入相關依賴

需要引入接口的相關依賴 jar 包。注意將本項目和 dubbo-api 項目的 dependency 依賴的 groupId 和 artifactId 改成自己的。


    
        com.czh.api
        dubbo-api
        0.0.1-SNAPSHOT
    

4.3 在 application.properties 配置文件中配置 dubbo 相關信息

配置很簡單,這主要得益于 dubbo 的@EnableDubbo注解。詳情可以參考dubbo官方說明dubbo.apache.org/zh-cn/blog/…

# 配置端口
spring.application.name = dubbo-provider
server.port = 9090

#指定當前服務/應用的名字(同樣的服務名字相同,不要和別的服務同名)
dubbo.application.name = dubbo-provider

demo.service.version = 1.0.0

dubbo.protocol.name = dubbo
dubbo.protocol.port = 20880

#指定注冊中心的位置
dubbo.registry.address = zookeeper://ip:2181

#統一設置服務提供方的規則
dubbo.provider.timeout = 1000
4.4 實現接口

注意: @Service 注解使用的時 Dubbo 提供的而不是 Spring 提供的。

服務提供者,包含真正的服務實現代碼

package com.czh.provider.dubboprovider.serviceImpl;

import com.alibaba.dubbo.config.annotation.Service;
import com.czh.provider.dubboprovider.serviceImpl.service.HelloService;

@Service(version = "${demo.service.version}")
public class HelloServiceImpl implements HelloService {

    @Override
    public String sayHello(String name) {
        return "Hello " + name + ",This is springboot-dubbo test";
    }
}
4.5 服務提供者啟動類編寫

注意:不要忘記加上 @EnableDubbo 注解開啟Dubbo 的自動配置。

package com.czh.provider;

import com.alibaba.dubbo.config.spring.context.annotation.EnableDubbo;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
@EnableDubbo
public class DubboProviderApplication {

    public static void main(String[] args) {
        SpringApplication.run(DubboProviderApplication.class, args);
    }

}

5. dubbo-consumer

主要分為下面幾步:

    創建 springboot 項目;

    加入接口的相關依賴 jar 包;

    在 application.properties 配置文件中配置 dubbo 相關信息;

    服務消費者調用接口編寫

    服務消費者啟動類編寫

項目結構:


前兩步與之前的服務提供者一樣,這里我直接從第三步開始說起

5.3 在 application.properties 配置文件中配置 dubbo 相關信息

與服務提供者基本一致

spring.application.name = dubbo-consumer
server.port = 9091

#指定當前服務/應用的名字(同樣的服務名字相同,不要和別的服務同名)
dubbo.application.name = dubbo-consumer

demo.service.version = 1.0.0

dubbo.protocol.name = dubbo
dubbo.protocol.port = 20880

#指定注冊中心的位置
dubbo.registry.address = zookeeper://ip:2181

#統一設置服務提供方的規則
dubbo.consumer.timeout = 5000
5.4 編寫一個簡單的Controller調用遠程服務

package com.czh.consumer.controller;

import com.alibaba.dubbo.config.annotation.Reference;
import com.czh.api.service.HelloService;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class HelloConsumerController {
    @Reference(version = "${demo.service.version}")
    private HelloService helloService;

    @RequestMapping("/sayHello/{name}")
    public String sayHello(@PathVariable("name") String name) {
        return helloService.sayHello(name);
    }

}

5.5 服務消費者啟動類編寫

package com.czh.consumer;

import com.alibaba.dubbo.config.spring.context.annotation.EnableDubbo;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
@EnableDubbo
public class DubboConsumerApplication {

    public static void main(String[] args) {
        SpringApplication.run(DubboConsumerApplication.class, args);
    }

}

6. 測試結果

可以看到消費者調用服務提供者正常


查看zookeeper下發現有我們注冊的服務節點


7. 小結

使用springboot+dubbo+zookeeper進行搭建 dubbo 的項目應該說是比較簡單的,官方也有集成Springboot的依賴,這里就不多說了,實踐出真知~

完整代碼見:github.com/Caizhenhao/…


文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/6878.html

相關文章

  • 超詳細,新手都能看懂 !使用SpringBoot+Dubbo 搭建一個簡單的分布式服務

    Github 地址:https://github.com/Snailclimb/springboot-integration-examples ,歡迎各位 Star。 目錄: 使用 SpringBoot+Dubbo 搭建一個簡單分布式服務 實戰之前,先來看幾個重要的概念 什么是分布式? 什么是 Duboo? Dubbo 架構 什么是 RPC? 為什么要用 Dubbo? 開始實戰 1 ...

    chengtao1633 評論0 收藏0
  • 搭建簡單的dubbo案例,并實現對數據庫的增刪改查

    摘要:創建父工程文件如下這里只添加幾個最簡單的依賴啟動父依賴依賴依賴依賴創建子工程 1.創建父工程 showImg(https://segmentfault.com/img/bVbgtl4?w=387&h=255); pom文件如下(這里只添加幾個最簡單的依賴) 4.0.0 wyb springbootDubbo pom 1.0-SNAPSHOT...

    MageekChiu 評論0 收藏0
  • Spring Boot 2.x (十五):Dubbo + Zookeeper + 新版Dubbo A

    摘要:簡介是阿里巴巴公司開源的一個高性能優秀的服務框架,使得應用可通過高性能的實現服務的輸出和輸入功能,可以和框架無縫集成。它提供了三大核心能力面向接口的遠程方法調用智能容錯和負載均衡服務自動注冊和發現。首先我們需要前往官網下載安裝包。 Dubbo 簡介 Dubbo是阿里巴巴公司開源的一個高性能優秀的服務框架,使得應用可通過高性能的RPC實現服務的輸出和輸入功能,可以和Spring框架無縫集...

    DobbyKim 評論0 收藏0
  • 聊聊Dubbo - Dubbo可擴展機制實戰

    摘要:今天我想聊聊的另一個很棒的特性就是它的可擴展性。的擴展機制在的官網上,描述自己是一個高性能的框架。接下來的章節中我們會慢慢揭開擴展機制的神秘面紗。擴展擴展點的實現類。的定義在配置文件中可以看到文件中定義了個的擴展實現。 摘要: 在Dubbo的官網上,Dubbo描述自己是一個高性能的RPC框架。今天我想聊聊Dubbo的另一個很棒的特性, 就是它的可擴展性。 Dubbo的擴展機制 在Dub...

    techstay 評論0 收藏0

發表評論

0條評論

simon_chen

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<