原创 MiniMall:招商微服務業務和數據結構

招商微服務主要是和購物中心進行招商的一些資料管理,包括項目資料管理、樓宇樓層資料管理、鋪位資料管理、品牌資料管理、業態資料管理、商戶資料管理、合同資料管理。 再稍微具體點的話,可以將項目、樓宇、樓層、鋪位當做是購物中心的物業資源,

原创 MiniMall:前後端分離,跨域問題怎麼搞

先來說說目前前後端分離後,前端和後端是怎麼進行數據交互的。在《MiniMall:說一說前端代碼框架,你愛看不看》文章中,我們介紹前端採用的是Extjs框架實現,然後通過Nginx進行代理轉發。下來看看現在的Nginx代理配置: s

原创 學習Docker,這裏沒有廢話

1. 初識Docker 1.1 Docker概念 Docker是一個開源的應用容器引擎。 Docker可以讓開發者打包他們的應用以及依賴包到一個輕量級、可移植的容器中,然後發佈到任何流行的Linux機器上。 容器是完全使用沙箱機

原创 MiniMall:微服務調用鏈追蹤不會?我教你啊

隨着業務的發展,系統被拆分成一個個微服務,服務與服務之間的調用關係變得錯綜複雜,有可能一個請求最終需要調用很多個服務才能完成,當整個請求變慢或者不可用時,我們怎麼快速定位,找到問題所在。這時,分佈式系統調用鏈追蹤的解決方案就很好的

原创 MiniMall:使用Redis實現分佈式鎖,太簡單不過了

1. 什麼是鎖 在一個進程中,當存在多個線程同時操作某個共享資源時,就需要對共享資源做同步,使其在修改這個共享資源時能夠線性地執行操作。而實現同步的手段就是鎖,當線程準備對共享資源做修改前,先獲取鎖,如果當前共享資源已經被鎖,則進

原创 MiniMall:今天說一下Seata分佈式事務解決方案

1. 基礎概念 1.1 什麼是事務 事務可以看做是一次大的活動,它由不同的小活動組成,這些活動要麼全成功,要麼全失敗。比如:一手交錢,一手交貨。 1.2 本地事務 在計算機系統中,更多的是通過關係型數據庫來控制事務,這是利用數據庫

原创 MiniMall:如何優雅地實現錯綜複雜的條件查詢

在上一篇《MiniMall:CRUD的代碼是不可能寫得?是的,我都幫你寫好了》博客中,我們主要分析了MiniMall項目中各個實現層對CRUD的代碼封裝,個人覺得主要內容都介紹到了,但是有一點還想再具體說說,那就是今天的主題,如何

原创 MiniMall:啥?openFeign接口不能多層繼承

先來看看這裏說的多層繼承是啥意思,假設現在有A、B、C三個接口,繼承關係如下: public interface A {} public interface B extends A {} public interface C

原创 MiniMall:還在到處拋異常捕獲異常?統一異常處理很有必要

1. 傳統的異常處理 對於異常的處理,你通常是不是這樣的: public void save(User entity) throws Exception { // xxx } 又或者是這樣的: public void s

原创 MiniMall:啥也不說了,先把服務註冊中心搞起來

我們這是一個微服務架構的項目實戰,那麼在微服務架構的項目中必然是少不了服務註冊中心的。這種關係類似於當前做Java開發的必然是少不了Spring一樣,巧的是,服務註冊中心的作用也有點類似Spring中的Bean管理。只是服務註冊中

原创 MiniMall:CRUD的代碼是不可能寫得?是的,我都幫你寫好了

雖然從整個項目的角度來說,我們把整個項目拆成了一個個微服務,這一點是有別於單體應用的。但是從一個業務模塊本身的實現,不管是單體應用架構還是微服務架構,都會有控制層、業務層、持久層,這一點是不會變的。而我們今天要說的,就是針對每一層

原创 MiniMall:基於Restful接口說明和響應結果封裝

我們的項目是前後端分離的架構,那麼在前後端分離的架構中,最重要的是接口和響應結果信息的封裝。前端和後端通過接口來進行數據傳輸和交互,所以我們後端所有對外的接口都是Restful接口,以及對前端的響應都是json格式的數據。 1.

原创 MiniMall:說一說前端代碼框架,你愛看不看

mini-mall-web是mini-mall項目的前端工程,主要採取Extjs技術框架搭建(Extjs官網)。那麼……爲什麼不是Vue.js,爲什麼不是React等等主流的前端框架,因爲……我不會(You can, You up

原创 MiniMall:說一說服務端代碼框架,擼代碼必看

1. 項目介紹 mini-mall項目是一個將當前購物中心核心概念和業務抽離出來的後臺管理系統。採用當前最流行的微服務架構實現,基於Spring Cloud(H版)技術棧、Redis、MongoDB、RabbitMQ、ELK等技術

原创 史上最強項目實戰(二十四)——商品微服務的工程搭建

作爲一個以全品類買賣爲核心的網站項目,其核心自然是商品。而商品多了以後,肯定要進行分類,並且不同的商品會有不同的品牌信息,所以我們接下來需要依次去完成對商品分類、品牌、商品的管理。今天我們就先搭建商品微服務工程,目標是能將該微服務