原创 Docker 添加標籤

可以使用 docker tag 命令,爲本地鏡像添加新的標籤,如下圖所示: Docker tag 添加標籤 這裏是爲 mongo:4.1.6 鏡像,添加新的鏡像標籤 mymongo,可以看到,本地多了一個 mymongo:la

原创 Docker Build Ship and Run

在 Docker 官網,掛着如下的字樣:Docker - Build, Ship, and Run Any App, Anywhere。那麼 Build, Ship, and Run 到底是做了什麼呢? Build Ship a

原创 Maven 倉庫和座標

① pom.xml:Project Object Model 項目對象模型。它是maven的核心配置文件,所有的構建的配置都在這裏設置。 ② 座標:使用下面的三個向量在倉庫中唯一的定位一個maven工程 image ③ mav

原创 Docker 查看鏡像

首先,可使用如下兩個命令,列出當前已有的鏡像: docker images 或: docker image ls 如下圖所示: Docker 查看鏡像信息 REPOSITORY: 來自於哪個倉庫; TAG: 鏡像的標籤

原创 Maven 優勢

① 一個項目就是一個工程 如果項目非常龐大,就不適合使用 package 來劃分模塊,最好是每個模塊對應一個工程,利於分工協作,而藉助於 maven 就可以將項目拆分成多個工程 ② 項目中使用 jar 包,需要重複複製和粘貼 同樣的 Ja

原创 習慣用三元運算符?那你需要知道這個坑

最近碰到個非常有意思的坑,先來看段代碼: Test test = new Test(); Integer age = Objects.nonNull(test) ? test.getAge() : 18;

原创 Spring Data JPA 時間註解:@CreatedDate 和 @LastModifiedDate

選擇 Spring Data JPA 框架開發時,常用在實體和字段上的註解有@Entity、@Id、@Column等。在表設計規範中,通常建議保留的有兩個字段,一個是更新時間,一個是創建時間。Spring Data JPA 提供了相應的時間

原创 十五個常用經典的 Java8 Stream API 用法示例

不出意外的話,再過幾天,Java 11就要正式對外發布了,不知各位同行都用上哪個版本了呢?先貼一張截取的調查圖,由此可見,目前Java 7/8的使用羣體還是相當之大的。 下面列舉了十五個常用經典的Java8 Stream API用法示例。爲

原创 API 網關的設計:異步化請求

對於內部系統使用的網關層,如果對於吞吐量的要求並不高,一般同步請求調用即可。 對於統一的網關層,如何用少量的機器接入更多的服務,這就需要用異步來實現,用來提高更多的吞吐量。對於異步化,一般有以下兩種策略: Tomcat/Jetty + N

原创 Docker 簡述

一句話來概括容器:容器就是將軟件打包成標準化單元,以用於開發、交付和部署。 容器鏡像就好比是輕量級的、可執行的獨立軟件包 ,包含軟件運行所需的所有內容:代碼、運行時環境、系統工具、系統庫和設置。 容器化軟件適用於基於 Linux 和 Wi

原创 布隆過濾器之 Redis

Redis v4.0 之後有了 Module(模塊/插件) 功能,Redis Modules 讓 Redis 可以使用外部模塊擴展其功能,布隆過濾器就是其中的 Module,詳情可以查看 Redis 官方對 Redis Modules 的

原创 Docker 容器與虛擬機

容器是一個應用層抽象,用於將代碼和依賴資源打包在一起,多個容器可以在同一臺機器上運行,共享操作系統的內核,但各自作爲獨立的進程在用戶空間中運行 。與虛擬機相比, 容器佔用的空間較少(容器鏡像大小通常只有幾十M),瞬間就能完成啓動 。 虛擬

原创 ZooKeeper ZAB 協議 && Paxos 算法

Paxos 算法應該說是 ZooKeeper 的靈魂,但是 ZooKeeper 並沒有完全採用 Paxos 算法,而使用 ZAB 協議是作爲其保證數據一致性的核心算法。 另外,在 ZooKeeper 的官方文檔中也指出,ZAB 協議並不像

原创 ZooKeeper 數據模型

ZNode(數據節點)是 ZooKeeper 中數據的最小單元,每個 ZNode 上都可以保存數據,同時還可以有若干子節點(這就像樹結構一樣,如下圖所示)。可以看出,節點路徑標識方式和 UNIX 文件系統路徑非常相似,都是一系列使用斜槓

原创 ZooKeeper ZAB 協議模式

ZAB 協議包括兩種基本的模式: 崩潰恢復和消息廣播。 當服務框架在啓動中,或是當 Leader 服務器出現網絡中斷、崩潰退出或重啓等異常情況時,ZAB 協議就會進人恢復模式,然後選舉產生新的 Leader 服務器。 當選舉產生新的 Le