原创 java中分佈式鎖的實現方式

分佈式鎖 有的時候,我們需要保證一個方法在同 一時間內只能被同一個線程執行。在單機模式下,可以通過sychronized、鎖等方式來實現, 在分佈式環境下,有以下的解決方案: 數據庫鎖 1.通過一個一張表的一條記錄,來判斷資源的佔

原创 基於場景的JVM調優

現象一:CPU瞬間被佔滿 第一步: top -c 查看當前佔用CPU比較高的進程 top指令的參數 d:指定更新的間隔,以秒計算。 q:沒有任何延遲的更新。如果使用者有超級用戶,則top命令將會以最高的優先序執行。 c:顯示進程

原创 java中的sychronized與鎖

sychronized與鎖的區別 sychronized sychronized的作用是:用來確保多線程下的線程安全。 sychronized使用方法 對象鎖:用sychronized修飾代碼塊 (手動去指定鎖對象) 類鎖:

原创 mysql同步失敗

數據同步失敗的問題檢查 show slave status\G; 具體問題所在位置: 情況一:解決未同步問題(1.Yes 2.No) https://www.cnblogs.com/l-hh/p/9922548.html /

原创 消息隊列發佈端性能優化

消息發佈的性能權衡 AMQP規範提供消息發佈中的事務以及消息持久化選項,以提供比自身普通消息發佈更高級別的可靠消息通信機制。 這種可靠消息通信機制,包含投遞確認功能。 投遞確認:該功能提供了不同級別的消息可靠投遞機制,包括跨越多個

原创 ELK日誌可視化

ELK集中式日誌 ELK可以管理上百臺服務器的日誌信息。 Elasticsearch是一個開源的分佈式搜索引擎,提供搜索、分析和存儲數據三大功能。它的特點有:分佈式、自動發現、索引自動分片、索引副本機制、Restful風格接口、

原创 面試中的Spring知識

Spirng 設計層面框架,解決業務邏輯層與其他層面的松耦問題。 Spring IOC控制反轉:一種編程思想,藉助容器來管理對象之間的依賴關係。 Spring DI依賴注入:DI是實現IOC的一種手段,其內部是通過Java的反射機

原创 mysql可視化

業務目標 藉助logstash工具 將mysql中的數據上傳到elasticsearch中 並藉助kibana工具可是化展示 a.下載解壓 wget https://artifacts.elastic.co/downloads/l

原创 服務器共享文件夾

方法一:centos與windows的共享文件夾 使用samba實現共享文件夾 第一步:檢查是否已經安裝samba rpm -qi samba 第二步:未安裝,安裝samba, 如果已安裝,請忽略; yum -y install

原创 消息的路由模式

消息的路由模式 https://www.jianshu.com/p/e87a467e4d56 RabbitMQ提供了四種交換器,分別是 Direct交換器、Fanout交換器、Topic交換器、Headers交換器 注: 交換機,

原创 Log4j2遠程日誌

遠程管理日誌 可以集中管理日誌:可以把多臺服務器上的日誌都發送到一臺日誌服務器上,方便管理、查看和分析(或者通過Logstash上傳到elasticsearch中) 可以減輕服務器的開銷:日誌不在服務器上了,因此服務器有更多可用

原创 Mybatis批量事務

Mybatis批量事務 mysql數據庫不能同時支持30萬數據的 一次性事務提交,需要分批次地去進行事務的提交,否則數據將堆積到mysql數據庫中,導致數據庫性能過低。(需要採用編程式事務的方式分批次多次提交) service 層

原创 面試中消息隊列的問題

消息隊列的匹配規則 1.消息隊列模式 消息隊列模式:發送者,接受者 2.主題消息模式 主題消息:發佈者,訂閱者 3.Rabbitmq消息確認機制 通過持久化數據的方式,生產者將消息發送出去之後,消息到底有沒有達到rabbitmq服

原创 java項目中流式表達式的使用

流式表達式流式表達式是jdk8帶來的java的新特性詳情: https://www.cnblogs.com/aiqiqi/p/11004208.htmlhttps://blog.csdn.net/weixin_37948888/a

原创 Pagehelper分頁查詢

Mybatis的分頁查詢 pagehelper:只適合小規模數據的分頁操作 依賴 <!-- pagehelper --> <dependency> <groupId>com.github.pagehelper</groupI