偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

SpringBoot3+國產(chǎn)FolkMQ!五行代碼搞定消息中間件

開發(fā) 開發(fā)工具
FolkMQ 內(nèi)嵌版(帶 Web 控制臺(tái)界面的),體積增加 7Mb,就可以附加完整消息中間件的能力嘍。

FolkMQ  是一個(gè) “純血國產(chǎn)” 的消息中間件。支持內(nèi)嵌、單機(jī)、集群、多重集群等多種部署方式。

  • 內(nèi)嵌版,就相當(dāng)于 H2 或 SQLite 數(shù)據(jù)庫一樣。給一些小項(xiàng)目(或者特別需求)帶來了方便。
  • 大項(xiàng)目,則可以使用獨(dú)立部署的 “單機(jī)版” 或 “集群版”

內(nèi)嵌個(gè)消息中間件,體積會(huì)不會(huì)太大啦??。〔粫?huì),才7Mb。好小的!

1、了解 FolkMQ 內(nèi)嵌版

FolkMQ 內(nèi)嵌版(帶 Web 控制臺(tái)界面的),體積增加 7Mb,就可以附加完整消息中間件的能力嘍。

比如你在用 “諾依” 開發(fā)個(gè)小項(xiàng)目,需要消息中間件,但是又不想獨(dú)立部署。這就很適合呢!關(guān)注公眾號(hào):碼猿技術(shù)專欄,回復(fù)關(guān)鍵詞:1111 獲取阿里內(nèi)部Java性能調(diào)優(yōu)手冊(cè)!

  • 內(nèi)嵌版與單機(jī)板,功能一模一樣
  • 控制臺(tái)界面是基于 Solon 框架 開發(fā)的,非常小巧。(可以用宿主項(xiàng)目的端口,也可以獨(dú)立端口)
  • 可以內(nèi)嵌到 jFinal,Solon,SpringBoot2,SpringBoot3,Vert.X 等框架里

說起來 Solon 真是中間件的控制臺(tái)良配,又小又強(qiáng)又可以內(nèi)嵌。太愛了!

2、怎么集成吶?

此例,我們的控制臺(tái)使用宿主項(xiàng)目的 HTTP 端口。所以需要與 SpringBoot2 的 Servlet 能力對(duì)接。

a) 引入兩個(gè)包

依賴包

說明

solon.web.servlet

負(fù)責(zé)與 SpringBoot2 的 Servlet 能力對(duì)接,為控制臺(tái)提供支持

folkmq-embedded

我們的主角,F(xiàn)olkMQ 內(nèi)嵌版

<dependency>
    <groupId>org.noear</groupId>
    <artifactId>solon.web.servlet.jakarta</artifactId>
    <version>2.8.3</version>
</dependency>

<dependency>
    <groupId>org.noear</groupId>
    <artifactId>folkmq-broker-embedded</artifactId>
    <version>1.7.1</version>
</dependency>
b) 添加一個(gè)配置類 FolkMqConfig,就集成好了

專門安排它一個(gè)包名“folkmq”,可以縮小 solon 的掃描范圍。因?yàn)?solon 也是個(gè)容器型的框架嘛(只是比較小巧)。

package demoapp.folkmq;

@Configuration
publicclassFolkMqConfig{
    @PostConstruct
    publicvoidstart(){
        //啟動(dòng) solon
        Solon.start(FolkMqConfig.class, newString[]{});
    }

    @PreDestroy
    publicvoidstop(){
        if (Solon.app() != null) {
            //停止 solon(根據(jù)配置,可支持兩段式安全停止)
            Solon.stopBlock(false, Solon.cfg().stopDelay());
        }
    }

    @Bean
    public FilterRegistrationBean folkmqAdmin(){
        //通過 Servlet Filter 實(shí)現(xiàn) http 能力對(duì)接
        FilterRegistrationBean<SolonServletFilter> filter = new FilterRegistrationBean<>();
        filter.setName("SolonFilter");
        filter.addUrlPatterns("/folkmq/*");
        filter.setFilter(new SolonServletFilter());
        return filter;
    }
}
c) 然后,再加個(gè)配置文件 folkmq.yml 來控制它

更多的配置,可以見官網(wǎng)的:

https://folkmq.noear.org/article/773

# 如果使用 servelt 則使用與 sprongboot 相同的等口
server.port:8080

# 避免與其它 token 沖突
server.session.state.jwt.name:FOLKMQ-TOKEN

# 消息控制臺(tái)賬號(hào)密碼
folkmq.admin:admin
# 消息傳輸協(xié)議(tcp 或 ws)
folkmq.schema:tcp
# 消息傳輸端口(默認(rèn)為 server.port + 10000)
folkmq.transport.port:0

3、看看內(nèi)嵌的效果

項(xiàng)目運(yùn)行后,可以通過 /folkmq/ 來訪問控制臺(tái)。

圖片圖片

4、然后測(cè)試下

消息端口,是控制臺(tái)端口 + 10000。測(cè)試,我們就發(fā)10條普通消息試試。

publicclassClientTest{
    publicstaticvoidmain(String[] args)throws Exception {
        MqClient client = FolkMQ.createClient("folkmq://localhost:18080")
                .nameAs("demoapp")
                .connect();

        //訂閱消息
        client.subscribe("demo.topic", message -> {
            System.out.println(message);
        });

        for (int i = 0; i < 10; i++) {
            //發(fā)布消息
            client.publish("demo.topic", new MqMessage("hello" + i));
        }
    }
}

測(cè)試效果:

圖片圖片

5、完整的示例代碼

https://gitee.com/noear/folkmq-embedded-examples/tree/main/folkmq-embedded-springboot3

責(zé)任編輯:武曉燕 來源: 碼猿技術(shù)專欄
相關(guān)推薦

2023-05-08 08:09:26

路由元信息謂詞

2023-06-29 10:10:06

Rocket MQ消息中間件

2023-10-24 07:50:18

消息中間件MQ

2023-11-27 07:10:06

日志中間件

2015-08-11 11:16:36

淘寶中間件

2022-11-02 10:08:46

分布式高并發(fā)消息中間件

2021-12-14 10:39:12

中間件ActiveMQRabbitMQ

2022-08-09 08:31:29

RocketMQ消息中間件

2024-01-24 08:19:02

Stream應(yīng)用場景注解

2010-05-18 14:54:35

東方通中間件

2022-10-21 10:48:17

消息中間件互聯(lián)網(wǎng)應(yīng)用協(xié)議

2022-02-13 23:04:28

RedisRabbitMQKafka

2019-07-19 07:56:13

消息隊(duì)列消息代理消息中間件

2009-08-07 11:42:03

2023-10-16 12:25:48

2024-07-11 11:17:00

消息隊(duì)列Java

2019-11-18 09:58:11

中間件投遞模式

2022-09-21 16:09:28

消息中間件

2019-12-13 10:32:56

開源消息中間件

2022-12-27 17:56:40

ack機(jī)制RocketMQ
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)