惠民支付是一個相似於收錢吧、窩窩收款的第四方聚合支付平臺;提供線上、線下兩種渠道的支付方式;主要做用是將「碎片化」的支付渠道聚合起來,方便使用;主要的客戶羣體是中小微商戶。redis
項目的功能模塊主要包括:官網&開放平臺、商戶平臺、運營平臺。spring
我主要負責的內容屬於商戶平臺模塊,主要是商戶平臺首頁部分的商戶註冊、登陸、基本信息查看功能;帳戶管理部分的商戶資質認證、信息查看功能;支付管理部分的應用建立、渠道參數配置、交易總覽和生成二維碼功能。數據庫
微服務技術棧:全部微服務基於Spring Boot、Spring Cloud Alibaba構建;服務端基於Spring Boot構建,採用Spring Cloud Alibaba微服務架構。後端
控制層:Spring MVC、Swagger緩存
業務層:事務控制-Spring、數據緩存-Spring Data Redis架構
持久層:MySql數據庫、MyBatis-Plus持久層框架、數據庫鏈接池com.alibaba.druid(採用druid-spring-boot-starter)框架
瞭解過一些ShardingJDBC分庫分表技術前後端分離
使用ZXing一個開源項目完成二維碼的生成,ZXing是用Java編寫的多格式的1D / 2D條碼圖像處理庫,使用ZXing能夠生成、識別QR Code(二維碼)。spring-boot
渠道參數查詢頻繁,每一次支付都會查詢渠道參數,爲提供查詢性能,將渠道參數緩存到redis中:微服務
一、保存渠道參數添加緩存
保存渠道參數成功,同時將渠道參數保存在Redis中。
二、查詢渠道參數緩存
查詢渠道參數,先從Redis查詢,若是Redis存在則返回渠道參數,不然從數據庫查詢同時將查詢到的渠道參數存儲 在Redis中。
項目記錄日誌採用log4j2。
log4j2是log4j 1.x 的升級版,經過與logback對比分析,log4j2的性能更好,項目組採用log4j2。