原创 從零寫分佈式RPC框架 系列 1.0 (4)RPC-Client模塊設計實現

RPC-Client模塊負責創建 動態代理對象 供 服務消費者 使用,而動態代理對象的方法執行則是通過RPC調用RPC-Server的服務實現。即RPC-Client屏蔽了底層的通信過程,使得服務消費者可以基於接口透明使用服務提供者的

原创 從零寫分佈式RPC框架 系列 1.0 (3)RPC-Server模塊設計實現

RPC-Server模塊負責(1)將@RpcService註解標記的服務和自身信息註冊到ZK集羣,(2)對外提供RPC服務實現,處理來自RPC-Client的請求。該模塊整體的核心類爲 RpcServer ,而真正處理請求的核心類是

原创 從零寫分佈式RPC框架 系列 1.0 (5)整合測試

本篇將對前面幾篇模塊作整合處理,使用spring-boot-starter的形式進行發佈。然後新建 examples 工程模塊對其測試使用。 系列文章: 從零寫分佈式RPC框架 系列 1.0 (1)架構設計 從零寫分佈式RPC框架 系

原创 從零寫分佈式RPC框架 系列 1.0 (2)RPC-Common模塊設計實現

RPC-Common模塊提供RPC-Server和RPC-Client的通用對象,封裝統一規則,使RPC Server和RPC Client 可以基於同一協議通信。主要包含底層通信的Netty所需的編碼解碼器(RpcEncoder,R

原创 依賴排除 provided,optional 和 exclusion 最全區分指南

本文將介紹 Maven工程中3種避免依賴衝突的手段 provided,optional 和 exclusion 及其使用場景,並對其進行比較區分,最後以一個應用實例來做歸納總結。本人在網上尋找相關說明時大多語焉不詳,模棱兩可,有些甚至

原创 從零寫分佈式RPC框架 系列 第一版 (1)架構設計

本系列文章的目的是搭建出一個基於Netty,Zookeeper和SpringBoot的簡易分佈式RPC框架,並且發佈到Maven中央倉庫以 spring-boot-starter 的形式對外提供開箱即用的服務。1.0 版本使用 pro

原创 使用gpg插件發佈jar包到Maven中央倉庫 完整實踐

本文記錄了在maven環境下使用gpg插件將 jar 包部署到中央倉庫的完整實踐過程。相對於網上其他教程使用oss-parent作爲父工程的方法,這種方法入侵度低,自由度高,也是官方推薦使用的。實踐過程解決了gpg驗證以及javado

原创 SonarQube學習系列1:安裝和初始化、安全配置

本文將通過docker安裝SonarQube,並進行相關初始化配置(如中文配置)和安全性配置(禁止遊客訪問項目和禁止遊客提交代碼質量評估等) 一 安裝 安裝之前請注意SonarQube的要求,具體請見:https://docs.son

原创 SonarQube學習系列2:Maven+SonarQube 最佳實踐

本文記錄了Maven工程使用SonarQube完成代碼評估,並對其中指定模塊進行排除和項目權限管理等 有些代碼是使用相關插件或工具生成的,這些代碼通常存在高冗餘或書寫不規範現象,不符合代碼質量要求,但不影響使用,應排除在代碼質量評估之

原创 Docker搭建私有Nexus-maven倉庫

本文使用docker鏡像實現nexus的一鍵部署,並且進行相關配置,測試完成maven工程的打包上傳 文章目錄一 利用Docker鏡像搭建Nexus倉庫1 建立 nexus-data 數據卷2 啓動鏡像二 完成Nexus設置修改密碼添

原创 Spring Boot 2+gRPC 學習系列2:搭建Spring Cloud +gRPC集羣項目

本項目基於Spring Boot 2.0.5+yidongnan/grpc-spring-boot-starter 2.0.1.RELEASE+SpringCloud Finchley.SR1,通過2個grpc-eureka-ser

原创 Spring Boot 2+gRPC 學習系列1:搭建Spring Boot 2+gRPC本地項目

本項目基於Spring Boot 2.0.5+yidongnan/grpc-spring-boot-starter 2.0.1.RELEASE,通過grpc-lib,grpc-server,grpc-client 3個模塊來模擬grp

原创 Excel解析easyexcel工具類

本文使用基於阿里的easyexcel編寫的工具類對xls後綴的Excel文件(即03版)讀取並寫成xlsx後綴的Excel文件(即07版),中間轉換過程使用String二維數組和對象列表兩種形式. easyexcel 項目git地址爲

原创 使用Minikube在本地部署單節點Kubernetes集羣及操作

本文使用最新版本的Minikube完成在本地部署單節點Kubernetes集羣,並以nginx集羣爲例,展示使用kubectl完成對集羣的擴展,收縮,滾動升級以及回滾操作等. 安裝方法參照 最後 ,因爲我本來就安裝了Docker,所以

原创 Docker使用 linuxserver/letsencrypt 生成SSL證書最全解析及實踐

本文使用http和dns兩種校驗方式對docker下linuxserver/letsencrypt 項目進行了實踐,並使用nginx的htpasswd來對網站進行密碼保護,並測試使用fail2ban防止htpasswd被暴力破解.全文