Spring Cloud中的事件重新整理機制

2021-10-22 06:55:42 字數 1660 閱讀 5371

我們spring中提供了事件機制,對於分布式服務來說,我們可以結合訊息中介軟體來實現bus

我們來看下**實現:

public

class

refreshtemplate

extends

resttemplate

public

void

refresh

(@notnull string type, object object)

catch

(exception var4)

", var4.

getmessage()

);}}

}

發布事件的服務只需要注入refreshtemplate 後呼叫這個refresh()介面即可

public

class

remoterefreshrouteevent

implements

public

void

refresh

(string refreshtype, string object)

public

void

(remoterefreshevent event)

}public

class

remoterefreshevent

extends

public

remoterefreshevent

(string type, object source, string originservice, string destinationservice)

public string getsourcedata()

public string getrefreshtype()

}

監聽事件的服務繼承remoterefreshrouteevent 即可

public

class

resourcelocator

extends

remoterefreshrouteevent

}

需要加入訊息bus的中介軟體,springcloud 支援kafka和rabbitmq,springcloud alibaba

擴充套件支援rokectmq,配置如下:

org.springframework.cloud<

/groupid>

spring-cloud-starter-bus-amqp<

/artifactid>

2.2.1

.release<

/version>

<

/dependency>

server

:port

: $spring::

name

: demo

cloud

:bus:id

:$

原理後續分析

SpringCloud中的gateWay 閘道器

1 api閘道器介紹 2 spring cloud gateway 3 spring cloud gateway核心概念 所有服務,都需要在nacos中註冊服務 包括閘道器 注意版本號 服務註冊nacos org.springframework.cloud groupid spring cloud ...

springcloud中的gateway閘道器

引入依賴 com.atguigu groupid common utils artifactid 0.0.1 snapshot version dependency org.springframework.cloud groupid spring cloud starter alibaba naco...

Spring Cloud中的閘道器

在微服務實施之後,各個服務的拆分粒度很小,對於客戶端來說,做乙個操作可能會涉及到後端的多個服務元件的呼叫,那意味著它需要頻繁的發起多次訪問才能進行資料聚合實現使用者的功能。如果我們在所有的微服務之前增加乙個閘道器,對於客戶端來說它需要做什麼功能操作直接呼叫閘道器並且告訴閘道器所要做的事情即可,閘道器...