1. SpringBoot分布式

        共 2455字,需瀏覽 5分鐘

         ·

        2020-12-28 03:30

        點擊上方藍色字體,選擇“標星公眾號”

        優(yōu)質文章,第一時間送達

        66套java從入門到精通實戰(zhàn)課程分享

        一、zookeeper使用

        1、進入linux系統(tǒng)使用docker安裝zookeeper

        docker?pull?zookeeper


        2、運行zookeepe
        查看zookeeper的docker鏡像的id

        docker?images


        官方給出的docker啟動命令為:$ docker run --name some-zookeeper --restart always -d zookeeper
        此鏡像暴露端口:2181(client port:客戶端交互) 、2888(follower port:集群)、 3888(election port:選舉)

        docker?run?--name?zk01?-p?2181:2181?--restart?always?-d?e1763fd3a0e3


        此處我們指定name為zko1,-p選擇暴露linux的端口2181映射到docker容器的2181端口,-d指定需要后臺運行的zookeeper的id

        3、查看啟動運行狀況

        docker?ps


        3、Idea快速創(chuàng)建一個服務的提供者,一個服務的消費者

        (1)在空工程里創(chuàng)建服務提供者的Module(springboot初始化向導創(chuàng)建并引入web模塊)

        并在服務提供者Module中定義一個簡單的方法

        (2)再在工程里創(chuàng)建服務消費者的Module(springboot初始化向導創(chuàng)建并引入web模塊)


        (3)Dubbo實現(xiàn)消費者使用生產者的功能
        A、將服務的提供者注冊到注冊中心里去
        在pom.xml文件中加入Dubbo的springboot依賴

        ???????
        ????????
        ????????????com.alibaba.boot
        ????????????dubbo-spring-boot-starter
        ????????????0.1.0
        ????????

        ????????
        ????????
        ????????????com.github.sgroschupf
        ????????????zkclient
        ????????????0.1
        ????????


        在application.properties中配置Dubbo的相關屬性

        dubbo.application.name=provider-ticket
        #注冊中心地址
        dubbo.registry.address=zookeeper://虛擬機ip:2181
        #服務所在包
        dubbo.scan.base-packages=com.atguigu.ticket.service

        在需要發(fā)布服務的實現(xiàn)類上添加注解(需要注意@Service引入的包):

        import?com.alibaba.dubbo.config.annotation.Service;
        import?org.springframework.stereotype.Component;

        @Component
        @Service?//將服務發(fā)布出去
        public?class?TicketServiceImpl?implements?TicketService?{
        ????@Override
        ????public?String?getTicket()?{
        ????????return?"這是一張電影票";
        ????}
        }

        B、消費者去注冊中心中尋找服務
        引入依賴
        在pom.xml文件中加入Dubbo的springboot依賴

        ???????
        ????????
        ????????????com.alibaba.boot
        ????????????dubbo-spring-boot-starter
        ????????????0.1.0
        ????????

        ????????
        ????????
        ????????????com.github.sgroschupf
        ????????????zkclient
        ????????????0.1
        ????????


        在application.properties中配置Dubbo的相關屬性

        dubbo.application.name=provider-ticket
        #注冊中心地址
        dubbo.registry.address=zookeeper://虛擬機ip:2181

        在工程中引入接口類:
        在UserService消費者類中遠程調用服務提供者所實現(xiàn)的方法即可實現(xiàn)對TicketServiceImpl實現(xiàn)類方法的調用:

        import?com.alibaba.dubbo.config.annotation.Reference;
        import?com.atguigu.ticket.service.TicketService;
        import?org.springframework.stereotype.Service;

        @Service
        public?class?UserService?{
        ????@Reference
        ????TicketService?ticketService;

        ????public?void?test(){
        ????????String?str?=?ticketService.getTicket();
        ????????System.out.println("消費者買票:"+str);
        ????}
        }


        版權聲明:本文為博主原創(chuàng)文章,遵循 CC 4.0 BY-SA 版權協(xié)議,轉載請附上原文出處鏈接和本聲明。

        本文鏈接:

        https://blog.csdn.net/weixin_42453582/article/details/111490752




        粉絲福利:Java從入門到入土學習路線圖

        ???

        ?長按上方微信二維碼?2 秒


        感謝點贊支持下哈?

        瀏覽 64
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

        分享
        舉報
        評論
        圖片
        表情
        推薦
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

        分享
        舉報
          
          

            1. 亚洲高清永久 | 亚洲精品国产乱码在线看天美 | 男女免费观看视频 | 色婷婷久久综合中文久久蜜桃Av | 黄网在现观看 |