最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

RocketMQ實(shí)現(xiàn)隨緣分BUG小功能示例詳解

 更新時(shí)間:2022年08月10日 15:47:47   作者:奔跑的毛球  
這篇文章主要為大家介紹了RocketMQ實(shí)現(xiàn)隨緣分BUG小功能示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

正文

以前公司的產(chǎn)品已經(jīng)上線20多年了,主要是維護(hù),也就是改bug。每周我們Team會(huì)從Jira上拿我們可以改的bug,因?yàn)槊總€(gè)團(tuán)隊(duì)負(fù)責(zé)的業(yè)務(wù)范圍不一樣,我們團(tuán)隊(duì)只能改我們自己業(yè)務(wù)范圍的。這樣每周大概有20個(gè)左右的新bug,假如團(tuán)隊(duì)一共10個(gè)人,那么均分就是每人兩個(gè),改完下班。

但是這BUG肯定有難有簡(jiǎn)單,大家肯定都愿意改簡(jiǎn)單的,在家辦公,任務(wù)量完了不就等于放假么。開(kāi)始是自己給自己搶,就忒卷,是歐美項(xiàng)目,所以客服晚上報(bào)出來(lái)的bug多。有的哥們?cè)缟?點(diǎn)起來(lái)看有沒(méi)有新的簡(jiǎn)單的。

這對(duì)那些反應(yīng)慢的兄弟不公平。領(lǐng)導(dǎo)分的話,就是能者多勞了,累的累死,閑的閑死。所以我們就需要一個(gè)隨機(jī)的分bug小工具,正所謂聽(tīng)天由命,富貴在天。

實(shí)現(xiàn)過(guò)程

首先來(lái)n個(gè)消費(fèi)者,n就是需要分的人數(shù)。

這里需要將這些消費(fèi)者全部放入同一個(gè)group,這樣這些bug會(huì)均分給這些消費(fèi)者,而且當(dāng)某個(gè)同事請(qǐng)假?zèng)]有來(lái)的時(shí)候,那么就不啟動(dòng)自己的消費(fèi)者,這樣就是其他小伙伴均分。

public class RockerMQConsumer {
    public static void main(String[] args) throws Exception {
        //實(shí)例化消息消費(fèi)者
        DefaultMQPushConsumer consumer = new DefaultMQPushConsumer("group_luke");
        //指定nameserver地址
        consumer.setNamesrvAddr("127.0.0.1:9876");
        consumer.setPullBatchSize(1);
        consumer.setMessageModel(MessageModel.CLUSTERING);
        //訂閱topic
        consumer.subscribe("topic_luke","*");
        // 注冊(cè)回調(diào)實(shí)現(xiàn)類來(lái)處理從broker拉取回來(lái)的消息
        consumer.registerMessageListener(new MessageListenerConcurrently() {
            @SneakyThrows
            @Override
            public ConsumeConcurrentlyStatus consumeMessage(List<MessageExt> msgs, ConsumeConcurrentlyContext context) {
                for (MessageExt msg : msgs) {
                    System.out.println(new String(msg.getBody()));
                    TimeUnit.SECONDS.sleep(3);
                }
                // 標(biāo)記該消息已經(jīng)被成功消費(fèi)
                return ConsumeConcurrentlyStatus.CONSUME_SUCCESS;
            }
        });
        // 啟動(dòng)消費(fèi)者實(shí)例
        consumer.start();
        System.out.printf("Consumer Started.%n");
    }
}

上邊的程序啟動(dòng)N個(gè)就行

生產(chǎn)者:

public class RocketMQProducer {
    public static void main(String[] args) throws Exception {
        //實(shí)例化消息生產(chǎn)者對(duì)象
        DefaultMQProducer producer = new DefaultMQProducer("group_luke");
        //設(shè)置消息過(guò)期時(shí)間
        producer.setSendMsgTimeout(300000);
        //設(shè)置NameSever地址
        producer.setNamesrvAddr("127.0.0.1:9876");
        //啟動(dòng)Producer實(shí)例
        producer.start();
        List<String> messages = new ArrayList<>();
        messages.add("WFD-11356");//添加bug號(hào)
        messages.add("WFD-11357");//添加bug號(hào)
        messages.add("WFD-11358");//添加bug號(hào)
        for (String message : messages) {
            //創(chuàng)建消息 指定topic和消息體
            Message msg = new Message("topic_luke", "tag", message.getBytes(StandardCharsets.UTF_8));
            System.out.println(msg.toString());
            //發(fā)送消息
            producer.sendOneway(msg);
        }
        //關(guān)閉producer
        producer.shutdown();
    }

當(dāng)生產(chǎn)者啟動(dòng),將消息發(fā)送到RocketMQ的時(shí)候,各個(gè)消費(fèi)者將收到消息,這也就決定了這周改哪個(gè)bug。

過(guò)程很粗制濫造,一個(gè)簡(jiǎn)單的思路,就是說(shuō)RocketMQ可以實(shí)現(xiàn)沒(méi)有人為干預(yù)的均分。當(dāng)需要均分某些東西的時(shí)候,可以使用這個(gè)思路。

以上就是RocketMQ實(shí)現(xiàn)隨緣分BUG小功能示例詳解的詳細(xì)內(nèi)容,更多關(guān)于RocketMQ隨緣分BUG的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • java/word+fusionchart生成圖表深入分析

    java/word+fusionchart生成圖表深入分析

    本文將以java/word+fusionchart生成圖表問(wèn)題深入解析,有興趣的朋友可以參考下
    2012-11-11
  • Jackson自定義序列化與反序列化注解詳解

    Jackson自定義序列化與反序列化注解詳解

    這篇文章主要介紹了Jackson自定義序列化與反序列化注解詳解,某些場(chǎng)景下,我們使用Jackson對(duì)數(shù)據(jù)進(jìn)行序列化或反序列化的時(shí)候,需要對(duì)某些數(shù)據(jù)進(jìn)行特殊處理,需要的朋友可以參考下
    2023-11-11
  • 在js與java中判斷json數(shù)據(jù)中是否含有某字段的案例

    在js與java中判斷json數(shù)據(jù)中是否含有某字段的案例

    這篇文章主要介紹了在js與java中判斷json數(shù)據(jù)中是否含有某字段的案例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-12-12
  • 基于 SpringBoot 實(shí)現(xiàn) MySQL 讀寫分離的問(wèn)題

    基于 SpringBoot 實(shí)現(xiàn) MySQL 讀寫分離的問(wèn)題

    這篇文章主要介紹了基于 SpringBoot 實(shí)現(xiàn) MySQL 讀寫分離的問(wèn)題,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-02-02
  • springboot+springmvc+mybatis項(xiàng)目整合

    springboot+springmvc+mybatis項(xiàng)目整合

    這篇文章主要為大家詳細(xì)介紹了springboot+springmvc+mybatis項(xiàng)目的整合,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-04-04
  • 后端返回各種圖片形式在前端的轉(zhuǎn)換及展示方法對(duì)比

    后端返回各種圖片形式在前端的轉(zhuǎn)換及展示方法對(duì)比

    這篇文章主要給大家介紹了關(guān)于后端返回各種圖片形式在前端的轉(zhuǎn)換及展示方法對(duì)比的相關(guān)資料,文中通過(guò)圖文介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2023-06-06
  • Java設(shè)計(jì)模式七大原則之開(kāi)閉原則詳解

    Java設(shè)計(jì)模式七大原則之開(kāi)閉原則詳解

    開(kāi)閉原則,又稱為OCP原則,即一個(gè)軟件實(shí)體如類,模塊和函數(shù)應(yīng)該對(duì)擴(kuò)展開(kāi)放,對(duì)修改關(guān)閉。本文將詳細(xì)介紹Java設(shè)計(jì)模式七大原則之一的開(kāi)閉原則,需要的可以參考一下
    2022-02-02
  • Java 如何將網(wǎng)絡(luò)資源url轉(zhuǎn)化為File文件

    Java 如何將網(wǎng)絡(luò)資源url轉(zhuǎn)化為File文件

    這篇文章主要介紹了Java 如何將網(wǎng)絡(luò)資源url轉(zhuǎn)化為File文件的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-09-09
  • Mybatis 高級(jí)用法和tk.mybatis使用示例詳解

    Mybatis 高級(jí)用法和tk.mybatis使用示例詳解

    tkmybatis 是對(duì)底層 sql 進(jìn)行了抽象封裝,不需要考慮 sql 怎么寫,只需要按照邏輯思維,遵循 tkmybatis 的語(yǔ)法即可實(shí)現(xiàn)數(shù)據(jù)庫(kù)操作,這篇文章主要介紹了Mybatis 高級(jí)用法和tk.mybatis使用,需要的朋友可以參考下
    2024-05-05
  • 淺談Spring Cloud下微服務(wù)權(quán)限方案

    淺談Spring Cloud下微服務(wù)權(quán)限方案

    這篇文章主要介紹了淺談Spring Cloud下微服務(wù)權(quán)限方案,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-06-06

最新評(píng)論

枣强县| 斗六市| 镇宁| 盈江县| 抚顺市| 张家口市| 峡江县| 山东省| 新乡市| 灵璧县| 文化| 正镶白旗| 长泰县| 军事| 南江县| 象州县| 乳山市| 兰西县| 陕西省| 潜江市| 临沂市| 都安| 合川市| 来宾市| 青浦区| 海丰县| 鄂托克旗| 泌阳县| 台东市| 锡林浩特市| 吴忠市| 韶山市| 宜章县| 崇阳县| 通城县| 洪江市| 隆安县| 甘孜| 华阴市| 逊克县| 南和县|