原创 如何構建延遲任務調度系統(一):需求目標

1.需求描述 之前筆者接觸過一些營銷業務場景,比如說: 用戶註冊未登錄過APP第二天早上10點發一條營銷短信促活 紅包過期前兩天短信通知,下午16:00發送 等等定時任務處理業務。 採用的技術方案是定時任務掃數據彙總表,分頁讀

原创 如何構建營銷活動平臺(三):活動平臺擴展性演進

前言 經過了幾個月的努力,初步建立了營銷平臺,也承載了幾個營銷活動。但是也存在規劃工作不充分, 代碼層面要求未規範,導致後續的營銷活動策劃,設計,管理,開發出現了一系列的問題,包括不能快速迭代接入 新的營銷活動,不能及時響應運營和

原创 如何構建營銷活動平臺(四):規則引擎設計

前言 前面將活動抽象成了規則檢驗和一系列的操作,不同的活動的規則有重疊也有不同,如何設計才能保證最好的擴展性。 規則引擎的出現就是制定一套規則檢驗的模型,下面來看下具體的設計。 核心UML圖 組件介紹 主要分爲以下三個關鍵模塊

原创 如何構建營銷活動平臺(二):業務功能設計

營銷活動主流程 功能描述 模塊介紹 活動管理 新建活動:a.常用活動模板 b.現有活動上修改 c.新活動 活動管理:a.發佈活動 b.暫停活動 c.終止活動 d.繼續活動 渠道投放 活動形式管理 數據統計

原创 阿里雲CentOS搭建zookeeper集羣環境

1.下載zk安裝包 cd /home/user/zk wget https://archive.apache.org/dist/zookeeper/zookeeper-3.4.12/zookeeper-3.4.12.tar.gz

原创 如何構建延遲任務調度系統(二):技術調研

延時隊列實現的幾種方式 java.util.Timer + java.util.TimerTask java.util.concurrent.ScheduledExecutorService Quartz java.util.c

原创 如何構建延遲任務調度系統(三):架構設計

功能設計 系統功能: 延遲任務調度系統提供統一的任務操作接口給業務方調用,業務方可以提交任務,取消任務,查詢任務狀態。 調度服務屬於底層應用,因此採用MQ的方式解耦,所有觸發的延遲任務都通過消息的方式發送給業務消費方, 由消費方控

原创 Java中的裝箱 拆箱

一.裝箱 拆箱的概念 Java中的基本數據類型都提供了對應的包裝類,在java中一切都是對象,而且基本數據類型不是對象,因此在很多時候使用都不太方便,例如類型之間的轉換,泛型使用,而提供對應的包裝類就可以進行彌補,那爲什麼還需要基本數據類

原创 IDEA 快速入門

最近切換了IDE,從Myeclipse換成了IDEA,雖然前期對於軟件操作,快捷鍵不太熟悉,但是堅持用下來之後,發現功能真心強大,所以能切換的儘量早換吧~下面是我覺得前期快速入門的方法 以及一些快捷鍵的使用。 一.IDEA配置 1.Mav

原创 Spring 事務

一.事務的概念 事務指的是邏輯上的一組操作,這組操作要麼全部成功,要麼全部失敗 二.事務的特性(ACID) 原子性:事務是一個不可分割的工作單位,事務中的操作要麼都發生,要麼都不發生 一致性:事務前後數據的完整性必須保持一致 隔離性:多