原创 重新部署阿里雲負載均衡SSL證書

阿里雲SSL證書快過期,續費大概是5千元。因此我們改用重新申請一個免費證書的方式繼續使用SSL。在部署的時候,誤以爲在SSL證書管理那裏部署到負載均衡就完成了證書的部署。幸好沒有剛愎自用,向阿里的工程師詢問操作方式,沒有釀成大禍,否則,服

原创 增加FastDfs多文件存儲路徑

項目需要增加聊天會話功能,涉及到上傳語音圖片等信息。考慮新增一個目錄,所有相關文件存在一個相同的目錄中。因此需要對原項目增加一個存儲的路徑。以前的項目因爲只有一個路徑,且已經運行中。走了些彎路,僅此記錄操作過程。nginx version

原创 Semaphore(一)

Semaphore 主要用於限定每個執行週期只允許一定數目的線程執行操作,從而保證虛擬機不因爲無限制地使用線程資源導致系統崩潰。實際應用時,在方法內部的數據訪問會導致多線程單競爭,因此要注意數據隔離。參考Semaphore(二) 使用線

原创 記一次阿里雲服務器中挖礦程序的異常

收到阿里雲消息,服務器中挖礦病毒。登陸到服務器top 命令發現cpu100%。線程是程序是Donald,且線程pid較大。 解決思路是: 1.查找自動啓動項。crontab –l  發現  根據下載的文件地址,在瀏覽器中找到文件內容。分

原创 java併發編程(四)Future取消測試

在需要獲取返回值時,我們常使用線程池的submit方法,傳入Future對象。有些時候,程序運行很長,我們需要終結它的運行。Future的cancel方法爲我們提供了支持。在學習java併發編程的過程中,發現即使不在處理程序中使用Thre

原创 java併發編程(五)CompletionService

CompletionService可以在多個任務中依時間先後獲取最先執行完成的任務結果。廢話不說,直接上代碼。 import java.util.concurrent.Callable; public class BlockCall

原创 mysql預處理語句提取變量,實現動態執行SQL語句

爲了項目在長期使用過程中,數據庫仍能夠保持較好的性能,考慮將數據庫表分爲當前表和歷史表。當前錶針對不同客戶,分別存儲在不同的表中。因爲需要在mysql的存儲過程中實現動態的指向不同的表進行操作。 首先,mysql的預處理語句如果帶參數,每

原创 supervisor管理redis,mysql進程

參考:https://blog.csdn.net/lihao21/article/details/77689790 查看supervisor的管理文件 查看redis的啓動文件 編寫supervisor的ini文件  [progra

原创 JSONArray指定日期的反序列化

 JSONArray序列化日期最初用到, 這個是全局設置,會有風險。     String[] dateFormats = new String[] {"yyyyMMdd"};                 JSONUtils.getM

原创 Semaphore(二)

應用場景:需要同時對許多數據執行相同操作,縮短處理數據的時間。同時限制併發線程,避免過多線程佔用服務器性能。 如果該方法被經常調用,建議使用線程池作爲線程提供者,避免新建線程帶來的性能消耗。 主要執行數據處理的Semaphore方法類

原创 Executors創建線程池(三)

Executors創建線程池執行短且多的任務操作。實際使用時,需要考慮1.創建一個線程固定的線程池長期存在,程序中使用時間短的操作可以直接給到線程池中去執行。2.需要考慮程序異常停止後,線程池中未執行的操作如何補救執行。 Executor

原创 java緩存對象,使之不需要每次都從數據庫中獲取,以提高程序性能

直接上源碼,定義一個抽象類,必須實現get方法。該方法是用來獲取需要緩存的對象的。  import java.util.HashMap; import java.util.Map; /** * 用於從數據庫中獲取相應值的緩存類 *

原创 CentOs 自動啓動FastDfs

#!/bin/bash # THIS FILE IS ADDED FOR COMPATIBILITY PURPOSES # # It is highly advisable to create own systemd service

原创 Spring基於註解的切面編程

閒話少敘,項目需要引入兩個spring依賴。 <dependency> <groupId>org.springframework</groupId> <artifactId>spring-aop</artifactId> </dep

原创 配置阿里雲負載均衡下的wss websocket

應用在ssl的環境下,調用websocket服務,必須使用wss。 首先。 在負載均衡下,本身的websocket應用程序不用加載域名證書。直接啓動ws的服務就可以了。 需要在負載均衡下,配置端口偵聽。偵聽採用https協議,並指定證書。