原创 看完這篇文章你就可以告訴領導你精通Zookeeper了

一、Zookeeper概述 1、概述 Zookeeper 是一個開源的爲分佈式框架提供協調服務的 Apache 項目。在分佈式系統中,扮演註冊中心的角色。 Zookeeper數據模型的結構與Linux文件系統很像,整體上可以看做一棵樹,從根

原创 一些JDK自帶的性能分析利器

有時候碰到服務器CPU飆升或者程序卡死之類的問題,一般都不太好定位。這類bug一般都隱藏的比較深並且還可能是偶發性的,比較棘手。 對於此類問題,一般我們都有固定的分析流程。藉助於JDK自帶的一些分析工具,比如jstack、jmap、jsta

原创 利用Redis實現防止接口重複提交功能

在划水摸魚之際,突然聽到有的用戶反映增加了多條一樣的數據,這用戶立馬就不幹了,讓我們要馬上修復,不然就要投訴我們。 這下魚也摸不了了,只能去看看發生了什麼事情。據用戶反映,當時網絡有點卡,所以多點了幾次提交,最後發現出現了十幾條一樣的數

原创 使用Docker搭建gitlab服務器及端口映射

用了很久的svn,感覺還是不如git好用。有時候代碼升級到正式環境後,出現了緊急bug需要修復,在這期間又提交了新的代碼,這種情況下svn想要回滾和pick某些commit就老費勁了。所以就想着在服務器上搭建一個gitlab,方便使用。 之

原创 Zookeeper + Curator實現分佈式鎖

在分佈式系統下,使用Java中的synchronized或者Lock已經不能滿足需求了。關於分佈式鎖的實現,我們可以利用MySQL的唯一索引去實現,也可以利用Redis的SETNX,同樣也可以使用Zookeeper的節點唯一路徑去實現。

原创 HTTPS介紹及加密的過程

http協議可能存在信息竊聽或身份僞造等安全問題,使用https通信機制可以有效的防止這些問題。 1、HTTP的缺點 凡事皆有兩面性,http作爲應用廣泛的通信協議,自然是十分優秀的,但其也存在不足之處: (1)通信使用明文,可能會被竊聽。

原创 實現LRU緩存算法

本文基於LeetCode第146. LRU 緩存機制進行實現。 題目 運用你所掌握的數據結構,設計和實現一個 LRU (最近最少使用) 緩存機制 。 實現 LRUCache 類: LRUCache(int capacity) 以正整

原创 服務器CPU飆升問題分析

4核的服務器突然很卡,急忙跑上去看看發生了什麼事。 top命令查看 佔用率最高的進程pid爲12033,top -Hp 12033查看進程下面線程的使用情況 這倆罪魁禍首用的最多 jstack 12033 > check.txt查看進程

原创 分佈式系統之CAP理論學習

1、分佈式系統中CAP分別代表什麼?對它們的理解? CAP即一致性(Consistency)、可用性(Availability)、分區容錯性(Partition tolerance)。 一致性(Consistency):所有節點同時看到相

原创 789. 逃脫阻礙者

2021-08-22 LeetCode每日一題 鏈接:https://leetcode-cn.com/problems/escape-the-ghosts/ 標籤:數組、數學 題目 你在進行一個簡化版的喫豆人遊戲。你從 [0, 0] 點

原创 Vue實現點擊按鈕進行文件下載(後端Java)

最近項目中需要實現點擊按鈕下載文件的需求,前端用的vue,因爲文件是各種類型的,比如圖片、pdf、word之類的。這裏後端是可以返回文件的地址給前端的,但我看了下網上各種五花八門的答案,感覺都不是我想要的。 因爲不確定文件是哪種類型的,所以

原创 1583. 統計不開心的朋友

2021-08-14 LeetCode每日一題 鏈接:https://leetcode-cn.com/problems/count-unhappy-friends/ 標籤:數組、模擬 題目 給你一份 n 位朋友的親近程度列表,其中 n

原创 Vue實現多文件上傳功能(前端 + 後端代碼)

本人業餘前端開發,因爲公司(很坑)覺得我很牛逼,所以讓我前後端一起玩,無奈的我只能磕磕碰碰的研究起了vue。 開發項目的時候,用到文件上傳的功能很常見,包括單文件上傳和多文件上傳,上傳各種類型的文件。在vue裏面要實現多文件上傳功能,還是很

原创 1337. 矩陣中戰鬥力最弱的 K 行

2021-08-01 LeetCode每日一題 鏈接:https://leetcode-cn.com/problems/the-k-weakest-rows-in-a-matrix/ 標籤:數組、矩陣、哈希表、排序 題目 給你一個大小爲

原创 Nacos入門學習&實踐

文中涉及到了一些模塊代碼沒有給出,我一併上傳到github了,可以整個項目clone下來進行調試。 地址:https://github.com/stronglxp/springcloud-test 1、SpringCloud Alibab