原创 手把手看監控--當不設置JVM-Xms時
背景: 運維埋的一個坑,在該應用上只配置留-Xmx,沒有配置-Xms。 表象: 堆內存從0.2G開始,最大到0.8G,就開始執行GC,導致頻繁GC,大致間隔1分鐘/次。從下圖左側即可看到。 解決: 增加-Xms重新發版本,堆內存、GC間隔
原创 深度解析Integer
深入解析Integer類型: 補全Swap方法,使a b兩值交換。 public static void main(String[] args) { // TODO Auto-generated method stub
原创 手把手看監控-redis連接數突然增加
背景 早晨9點26,接口的95突然升高-報警-自動恢復。 再看其他監控,發現限流redis在同一時間也有突然升高。 再看該redis的情況,發現再9點26,突然的連接數增高了10倍。 什麼情況下會造成連接數突然增高,又迴
原创 spring解析
由於前期不涉及到Web應用,所以不需要配置web.xml.在src下創建xml(spring-beans.xml)文件。在xml文件中創建beans.1. 當需要調用的時候,使用[java] view plain copyAppli
原创 dubbo+zookeeper的簡單例子
標準的框架模式:1. 將parent、model、common、service、service-impl、dao、dao-impl分開打包。將功能模塊化。 其中parent只負責存放jar包,其他項目繼承parent。
原创 高併發下緩存穿透原理
請求1 Niginx 應用1 (pool)連接池不會設置太大 請求2 ----------> 應用2 --------------------------------> cache (主要是讀操作)----> DB
原创 MySql架構設計
在MySql中,當數據量大的時候,一般選擇方案:1. 分庫 (1)可以按照業務需求來垂直分庫。2. 讀寫分離, (1)可以將從庫中分出一臺來做特殊業務查詢。例如供開發人員查詢問題、報表查詢等等。3. 分表
原创 字節流使用byte[] 接數據會出現的bug
背景: 使用bitset進行存在性過濾。涉及到將ID變爲bit,8個bit變爲byte,存成字節流文件。 在使用 InputStream is = xxx.class.getClassLoader().getResourceAsStre
原创 網關設計
新網關與舊網關的區別: 1.進行了性能優化。 優化內部數據傳輸,減少使用json傳輸數據,降低內存開銷。 這塊可以具體舉例 2.合併了一個項目-np。減少了鏈路,降低了故障率。 3,對交易推送、訂單統一管理。 存在的問題
原创 線上問題排查
單獨搭了一套線上環境,用來做週年慶活動。 今天收到了超時報警。 想着應該是出問題了。登陸堡壘機,連服務器。看log The last packet successfully received from the server was 1
原创 Mac上創建虛擬機
有幾個坑。 1.mac上默認將共享網絡關閉的。如果要虛擬機能連接網絡,需要在mac上打開。 在系統偏好設置-網絡-互聯網共享-打開 2.虛擬機上如果要使用固定ip,需要設置成橋接模式,這樣虛擬機中的linux可以佔用一個實際物理IP。
原创 中英文混合按首字母排序
以前在外資不涉及到中文排序,目前滴滴有個需求是要按照中文首字母進行排序顯示,還會有英文混合其中。 用到了一個第三方包。 <dependency> <groupId>com.belerweb</groupId>
原创 Activiti工作流引擎-----入門
準備工作 開始的一些準備工作,網上教程很多,就不贅述。 在eclipse中安裝插件, 下載Activiti的jar,我使用的是5.22. 用ecplise來創建一個Activiti的project。 下載mysql的驅動jar。
原创 分佈式調用鏈(二)---Control/Service層插樁埋點實際處理
爲什麼要在Control/Service 層進行埋點 因爲請求過來以後,先進入Control,在進入Service。 在Control:可以統計某個URL,具體的執行次數、時間、一段時間的流量統計。 在Service :可以統計某個方法的
原创 分佈式調用鏈(一)
調用鏈的興起 分佈式遇到的問題:隨着微服務設計理念在系統中的應用,業務的調用鏈越來越複雜。一個請求可能會涉及到幾十個服務的協同操作,涉及到多個團隊的業務系統。當遇到問題需要定位時候,也會產生一系列的麻煩。 解決方案:通過調用連,把一次請求