本人java基礎(chǔ)扎實(shí),熟練掌握新特性的使用,熟練掌握SpringBoot、Spring、SpringMVC 、Mybatis、MybatisPlus、Dubbo、xxl-job框架的使用,能熟練使用redis、elasticsearch、rocketMq,J2cache, zookeeper等中間件的使用,對JVM以及并發(fā)編程有一定理解,能根據(jù)不同的場景做出合適的技術(shù)選型,熟練掌握linux常用命令
本人獨(dú)立完成過多渠道對賬系統(tǒng),系統(tǒng)從外部平臺拉取訂單后對接公司內(nèi)部的系統(tǒng)進(jìn)行發(fā)貨售后等處理,處理完后再調(diào)用外部平臺的接口來完成整個流程的處理,在這個過程中需要對賬來防止有異常的單據(jù),對賬系統(tǒng)使用定時(shí)任務(wù)的方式調(diào)用外部應(yīng)用開放平臺的接口拉取訂單,拉取完成之后將訂單放進(jìn)mq里,與已經(jīng)存在數(shù)據(jù)庫里面的訂單做對賬邏輯,發(fā)現(xiàn)異常數(shù)據(jù)或者漏單數(shù)據(jù)將這條數(shù)據(jù)生成一條對賬異常記錄,生成一個飛書通知,如果是漏掉的單據(jù)將會走補(bǔ)單邏輯,這個項(xiàng)目存在幾個問題,第一,平臺較多,拉單邏輯類似但是渠道卻不同,一個個寫很費(fèi)時(shí)間,第二:一次性拉去的單據(jù)過多,服務(wù)端處理能力有限會導(dǎo)致內(nèi)存溢出的問題,第三,數(shù)據(jù)量過大查詢起來會很慢,針對以上三個問題,第一個問題使用了策略模式加上模板方法模式來解決多個渠道拉單邏輯主流程一致的問題,第二個訂單拉下來后放進(jìn)mq這樣壓力都轉(zhuǎn)移到mq上了,消費(fèi)端可以根據(jù)自己的消費(fèi)能力來處理,第三個使用了搜索引擎來解決大數(shù)據(jù)量查詢的問題
本項(xiàng)目結(jié)構(gòu)結(jié)構(gòu)上分為接入層、service層和dao層,層級間的依賴關(guān)系從上到下。使用的技術(shù)有SpringBoot、Dubbo、Redis、RocketMq、ElasticSearch、xxl-job、Mybatis,MybatisPlus,Log4j,且采用了分庫分表技術(shù),業(yè)務(wù)
本項(xiàng)目結(jié)構(gòu)上分為表現(xiàn)層、業(yè)務(wù)層和數(shù)據(jù)訪問層,層次間的依賴關(guān)系自下到上。采用的技術(shù)有SpringBoot,Dubbo,RocketMq,Log4J,Mybatis,Redis,ElaticcSearch等。其中表現(xiàn)層采用SpringMvc框架開發(fā);業(yè)務(wù)層封裝業(yè)務(wù)流程,為適應(yīng)業(yè)務(wù)的變