黄色网址大全免费-黄色网址你懂得-黄色网址你懂的-黄色网址有那些-免费超爽视频-免费大片黄国产在线观看

專注Java教育14年 全國(guó)咨詢/投訴熱線:400-8080-105
動(dòng)力節(jié)點(diǎn)LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁(yè) hot資訊 多租戶電子商城系統(tǒng)SpringCloud原理總結(jié)

多租戶電子商城系統(tǒng)SpringCloud原理總結(jié)

更新時(shí)間:2021-09-29 08:31:33 來(lái)源:動(dòng)力節(jié)點(diǎn) 瀏覽1568次

多租戶電子商城系統(tǒng)Springcloud Bus原理總結(jié)

1.spring cloud bus

Sprcloud是根據(jù)spring的配置集成了一系列微服務(wù)框架。Sprcloud總線是微服務(wù)框架之一,用于實(shí)現(xiàn)微服務(wù)之間的通信。

JAVA分布式微服務(wù)云構(gòu)建B2B2C電子商務(wù)平臺(tái)源碼 Spring Cloud大型企業(yè)

Sprcloud總線集成了java的事件處理機(jī)制和消息中間件消息收發(fā),主要由sender、receiver和event組成。針對(duì)不同的業(yè)務(wù)需求,可以設(shè)置不同的事件,發(fā)送方發(fā)送事件,接收方接收相應(yīng)的事件并進(jìn)行相應(yīng)的處理。

2.spring cloud bus實(shí)戰(zhàn)

網(wǎng)上有很多關(guān)于spring cloud bus的demo,這里就不贅述了。

3.原理

Spring cloud bus 集成了java事件處理機(jī)制和消息中間件,所以下面兩個(gè)方面來(lái)說(shuō)明spring cloud bus的原理。

如圖,給出如下解釋:

(1)完整的過(guò)程:發(fā)送者(端點(diǎn))構(gòu)建體事件,發(fā)布ES它上下文的上下文(彈簧云總線具有父上下文,自舉),則將該事件發(fā)送至信道(JSON串消息),則接收機(jī)獲取消息從信道,轉(zhuǎn)換的消息到事件(轉(zhuǎn)換過(guò)程沒(méi)有深入研究),然后公布事件事件事件。ish到context context,最后Listener接收到事件并調(diào)用service進(jìn)行處理。在整個(gè)過(guò)程中,只有發(fā)送/接收端從上下文上下文上下文中獲取事件和發(fā)送事件,需要在代碼中寫(xiě)清楚. 其他部分由框架封裝。

(2) 首先,我們概括地描述該過(guò)程。關(guān)于封裝的一些過(guò)程,我們基本可以在BusAutoConfiguration.class中找到。下面的代碼在這個(gè)類中。

  @EventListener(classes = RemoteApplicationEvent.class)
    public void acceptLocal(RemoteApplicationEvent event) {
        if (this.serviceMatcher.isFromSelf(event)
                && !(event instanceof AckRemoteApplicationEvent)) {
            this.cloudBusOutboundChannel.send(MessageBuilder.withPayload(event).build());
        }
    }

這封裝了java事件處理機(jī)制。當(dāng)接收到 RemoteApplication Event 時(shí),如果該事件是從服務(wù)發(fā)送的,并且不是 ack 事件,則將該事件發(fā)送到通道。

  @StreamListener(SpringCloudBusClient.INPUT)
    public void acceptRemote(RemoteApplicationEvent event) {
        if (event instanceof AckRemoteApplicationEvent) {
            if (this.bus.getTrace().isEnabled() && !this.serviceMatcher.isFromSelf(event)
                    && this.applicationEventPublisher != null) {
                this.applicationEventPublisher.publishEvent(event);
            }
            // If it's an ACK we are finished processing at this point
            return;
        }
        if (this.serviceMatcher.isForSelf(event)
                && this.applicationEventPublisher != null) {
            if (!this.serviceMatcher.isFromSelf(event)) {
                this.applicationEventPublisher.publishEvent(event);
            }
            if (this.bus.getAck().isEnabled()) {
                AckRemoteApplicationEvent ack = new AckRemoteApplicationEvent(this,
                        this.serviceMatcher.getServiceId(),
                        this.bus.getAck().getDestinationService(),
                        event.getDestinationService(), event.getId(), event.getClass());
                this.cloudBusOutboundChannel
                        .send(MessageBuilder.withPayload(ack).build());
                this.applicationEventPublisher.publishEvent(ack);
            }
        }
        if (this.bus.getTrace().isEnabled() && this.applicationEventPublisher != null) {
            // We are set to register sent events so publish it for local consumption,
            // irrespective of the origin
            this.applicationEventPublisher.publishEvent(new SentApplicationEvent(this,
                    event.getOriginService(), event.getDestinationService(),
                    event.getId(), event.getClass()));
        }
    }

StreamListener 是一個(gè)有趣的標(biāo)簽,您可以查看。這個(gè)方法是從channel中提取事件處理的過(guò)程(message to event部分需要自己理解,我沒(méi)有深入研究過(guò)),根據(jù)事件的類型,發(fā)送方和接收方來(lái)處理這個(gè)事件:如果是一個(gè)ack 事件,將其發(fā)送到上下文上下文;如果它是接收者而不是發(fā)送者,它會(huì)將事件發(fā)送到上下文上下文。

(3)消息中間件可以采用rabbitmq、kafka等。

以上就是關(guān)于“多租戶電子商城系統(tǒng)SpringCloud原理總結(jié)”的介紹,如果大家對(duì)此感興趣,不妨來(lái)關(guān)注一下動(dòng)力節(jié)點(diǎn)的SpringCloud教程,相信對(duì)大家的學(xué)習(xí)會(huì)有一定的幫助。

提交申請(qǐng)后,顧問(wèn)老師會(huì)電話與您溝通安排學(xué)習(xí)

免費(fèi)課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: 一级毛片完整免费版 | 国产噜噜噜精品免费 | 免费观看欧美一区二区三区 | 欧美综合区自拍亚洲综合图区 | 欧美一级成人一区二区三区 | 日本午夜视频在线 | 精品日韩一区二区三区 | 欧美人禽猛交狂配免费看 | 巨尻在线播放 | 国产一卡 | 国产在线观看成人 | 午夜手机视频 | 免费成人在线播放 | 99视频精品全部国产盗摄视频 | 91亚洲国产成人久久精品网站 | 国产高清美女一级a毛片久久 | 在线a视频网站 | a级日本片在线观看 | 免费人欧美成又黄又爽的视频 | 日韩国产欧美一区二区三区在线 | 日日操狠狠操 | 天天做天天看夜夜爽毛片 | 国产禁女女网站免费看 | 欧美a区| 狠狠躁夜夜躁人人躁婷婷视频 | 日韩精品1区 | 久久人人爽人人爽人人 | 亚洲一区二区三区高清 不卡 | 男女真实有遮挡xx00动态图 | 亚洲影院一区 | 天天噜噜揉揉狠狠夜夜 | 日韩不卡在线 | 韩日色| 看免费一级片 | 手机免费在线看毛片 | 久草免费色站 | 三级伦理在线 | 最新的国产成人精品2022 | 九九99在线视频 | 特级毛片s级全部免费 | 黑丝袜照片 |