原创 三種實現分佈式鎖的方案

https://blog.csdn.net/wuzhiwei549/article/details/80692278

原创 zookeeper基概

zookeeper 中節點叫znode存儲結構上跟文件系統類似,以樹級結構進行存儲。不同之外在於znode沒有目錄的概念,不能執行類似cd之類的命令。znode結構包含如下: path:唯一路徑 childNode:子節點 stat:狀態

原创 JWT與Session

  前言: 上一節講了用SpringSession 結合Redis 解決分佈式session 共享的問題。session 是保存在服務端的。這節講一下JWT  方式是如何處理會話的。 基概: JSON Web Token,用戶會話信息存儲

原创 ZK集羣搭建、選舉機制、數據同步機制筆記

http://note.youdao.com/noteshare?id=12d57ace129e721b8f4c241951251324

原创 Zookeeper的分佈式註冊中心詳解

目錄 概述: 在微服務項目中衆多的項目之間相互調用、其中配置十分繁瑣。一個服務的配置變更會導致衆多服務調用配置的變更。 在這種節點衆多的環境下,不可能手動去配置。這就需要這個中間服務來幫助解決這些問題。主要的概念就是服務註冊 與服務發現。

原创 優雅處理API統一返回

概述: API:application program-interface 應用編程接口。在web應用中常見的是前端開發工程師與後端開發工程師溝通的橋樑,是重要的規範文檔。良好的API可以提高前後端協調的效率。 如何設計良好的API: 1

原创 Web 應用系統安全性

一、SQL注入 案例:①HTTP://xxx.xxx.xxx/abc.asp?p=YY’(附加一個單引號), abc.asp運行異常,表示沒有對特殊字符進行轉義或過濾。 ③HTTP://xxx.xxx.xxx/abc.asp?p=YY a

原创 Redis 緩存穿透、擊穿、雪崩

一、緩存穿透 概念:查詢一個緩存不存在的數據、導致每次請求都要落到數據庫層去查詢,這樣就失去緩存層保護數據庫層的本意。 原因:自身業務代碼或者數據出現問題。一些惡意攻擊、 爬蟲等造成大量空命中。 解決:1、緩存空對象:將空的也放進redi

原创 面向對象設計原則

單一職責: 一個類的功能屬性 只描述該類本身,若有無關屬性 違背了單一職責原則 一個類的屬性與行爲應該分開設計   開閉原則: 對修改關閉,對新增開放。開閉原則告訴我們應儘量通過擴展軟件實體的行爲來實現變化,而不是通過修改已有的代碼來完

原创 JDK1.7 HashMap擴容:多線程下的死循環和丟失

https://www.jianshu.com/p/61a829fa4e49

原创 SpringBoot MyBatis 一級緩存和二級的配置理解

https://www.jianshu.com/p/aee10211e7f6

原创 代碼中常犯的錯誤

原文鏈接:https://www.cnblogs.com/taojietaoge/p/11575376.html 一、MyBatis 不要爲了多個查詢條件而寫 1 = 1 當遇到多個查詢條件,

原创 到底是否應該使用“微服務架構”?

原文鏈接:https://www.imooc.com/article/40151 到底是否應該使用“微服務架構”? 2018.06.30 21:20 671瀏覽 前言 經過當前服務端的洗禮之後,

原创 淺析 VO、DTO、DO、PO的概念、區別和用處

原文鏈接:https://mp.weixin.qq.com/s       項目結構中,經常用VO、DTO、DO、PO來區分不同的實體類,以達到項目結構分層,清晰,項目代碼閱讀性高,可維護性強的

原创 Redis 面試題

原文鏈接:https://mp.weixin.qq.com/s/36RpDfPAqJYSGiT5bami2A 1 什麼是Redis? Redis本質上是一個Key-Value類型的內存數據庫,很