求職意向
Java開發(fā)工程師 浙江杭州 薪資面議 隨時到崗
教育背景
2020.x -2020x 錘子簡歷大學(xué) 信息管理與信息系統(tǒng)
工作經(jīng)驗
2020.x -2020x 錘子簡歷信息技術(shù)有限公司 Java開發(fā)工程師
項目經(jīng)驗
2020.x -2020x 分布式任務(wù)調(diào)度平臺
技術(shù):netty + quartz + zookeeper + spring + mybatis + mysql
項目描述:
調(diào)度中心:調(diào)度采用中心式設(shè)計,基于Quartz實現(xiàn),支持集群部署可保證調(diào)度中心HA,提升調(diào)度系統(tǒng)容災(zāi)和可用性;Zookeeper分布式鎖實現(xiàn)每個任務(wù)只有一臺機(jī)器進(jìn)行調(diào)用;任務(wù)調(diào)度框架使用Quartz,Cron表達(dá)式方式觸發(fā)任務(wù)執(zhí)行;任務(wù)調(diào)度線程池定時刪除和修改任務(wù)信息。任務(wù)信息使用數(shù)據(jù)庫存儲。
路由策略:通過Zookeeper獲取執(zhí)行器ip列表,創(chuàng)建netty的Bootstrap連接遠(yuǎn)程節(jié)點,注冊ChannelFutureListener,添加ChannelInboundHandler和ChannelOutboundHandler,發(fā)送調(diào)用消息。執(zhí)行器集群部署時提供隨機(jī)(隨機(jī)數(shù))和阻塞隊列(LinkedBlockingQueue存放ChannelHandlerContext,每次poll后重新offer,保證阻塞隊列中的通道被均衡調(diào)用)等路由策略;
執(zhí)行器:maven引入task-api項目,配置任務(wù)執(zhí)行類(實現(xiàn)spring的ApplicationContextAware和InitializingBean接口),初始化zk連接,讀取自定義注解,創(chuàng)建zk節(jié)點;創(chuàng)建netty ServerBootstrap,注冊ChannelFutureListener,添加ChannelInboundHandler和ChannelOutboundHandler,接收調(diào)用消息,反射執(zhí)行調(diào)用(分為異步和同步,同步使用FutureTask取得執(zhí)行結(jié)果),向調(diào)用方發(fā)送response。 ?支持調(diào)度中心帶參數(shù)調(diào)用請求,調(diào)度器在請求中加入待處理數(shù)據(jù)id和服務(wù)器totalcount,通過取余方式將請求處理分布到每臺服務(wù)器執(zhí)行(執(zhí)行服務(wù)器 = 數(shù)據(jù)id % totalcount)。
項目后期使用螞蟻金融SOFABolt通信框架,支持Oneway調(diào)用、Sync同步調(diào)用、Future調(diào)用、Callback調(diào)用。
項目職責(zé):
編寫調(diào)度中心任務(wù)信息獲取,調(diào)度任務(wù)執(zhí)行,rpc調(diào)用,獲取zookeeper中任務(wù)執(zhí)行器ip,執(zhí)行器帶參數(shù)分布式執(zhí)行等代碼。
2020.x -2020x SSO單點登錄系統(tǒng)
項目描述:
使用shiro安全框架,完成認(rèn)證、授權(quán)、加密、會話管理、與Web集成、緩存等功能。支持sso-server分布式部署。同時兼容老系統(tǒng)。
sso-server:
登錄模塊:設(shè)計、提供用戶管理功能,通過相應(yīng)的接口注入給Shiro(自定義繼承shiro Realm,重寫方法實現(xiàn)從數(shù)據(jù)庫讀取用戶信息),支持微信開發(fā)平臺授權(quán)和賬號密碼登錄。
菜單模塊:根據(jù)角色功能遞歸獲取并通過循環(huán)逐層去掉重復(fù)菜單。
權(quán)限驗證:提供權(quán)限驗證功能,通過接口注入Shiro,通過token獲取用戶信息,根據(jù)用戶信息和系統(tǒng)標(biāo)識獲取權(quán)限信息,進(jìn)行權(quán)限驗證。權(quán)限包括登錄且驗證權(quán)限,登錄公開權(quán)限和公開權(quán)限。重寫權(quán)限匹配規(guī)則。自定義權(quán)限解析規(guī)則,實現(xiàn)Permission接口權(quán)限匹配的方法。
sso-client:
通過maven引入sso-api項目,添加sso filter,接受請求首先檢查token是否存在,然后http請求sso-server進(jìn)行權(quán)限驗證。
項目難點:
理解shiro框架原理,閱讀和斷點調(diào)試源代碼,找到shiro管理session創(chuàng)建、讀取、刪除的類,然后繼承shiro AbstractSessionDAO重寫方法,自定義sessionId,session存儲到內(nèi)存改為緩存到redis,實現(xiàn)分布式架構(gòu)下Session的共享。 繼承DefaultWebSessionManager,重寫獲取token方法。
項目職責(zé):
參與項目整體框架設(shè)計,參與數(shù)據(jù)庫表結(jié)構(gòu)設(shè)計與修改,編寫登錄模塊、權(quán)限驗證模塊、過濾器等主要功能代碼。
2020.x -2020x 分布式配置文件管理
項目描述:
配置中心:配置持久化到數(shù)據(jù)庫,建立zk連接,創(chuàng)建/更新/刪除配置項對應(yīng)的zk節(jié)點(支持實時更新和定時任務(wù)更新)。
prop-api:項目通過maven引入api應(yīng)用配置中心。api類實現(xiàn)spring的BeanFactoryPostProcessor接口,實現(xiàn)在spring實例化bean之前讀取bean的定義(配置元數(shù)據(jù)),根據(jù)元數(shù)據(jù)名稱從zk取到對應(yīng)的節(jié)點值,替換配置文件配置項。
項目職責(zé):
參與項目整體的設(shè)計、開發(fā),負(fù)責(zé)編寫配置項持久化,創(chuàng)建、修改和同步zk節(jié)點等代碼。
2020.x -2020x 短信和郵件發(fā)送中心
項目描述:
為公司其他項目的短信、郵件發(fā)送功能提供統(tǒng)一的平臺,實現(xiàn)導(dǎo)入數(shù)據(jù)和發(fā)送內(nèi)容的分離管理,提供管理發(fā)送模板管理功能,有效管理大量短信號碼和郵件地址數(shù)據(jù),實現(xiàn)發(fā)送內(nèi)容和發(fā)送報告的可視化。使用責(zé)任鏈設(shè)計模式實現(xiàn)多個過濾規(guī)則,包括驗證發(fā)送地址正確性、填充模板、內(nèi)容和地址去重等。使用策略設(shè)計模式支持多個短信發(fā)送通道的切換。交易中心項目通過dubbo接口添加短信發(fā)送內(nèi)容。
項目職責(zé):負(fù)責(zé)編寫過濾器、策略模式、導(dǎo)入管理、發(fā)送接口調(diào)用等代碼。
2020.x -2020x 供應(yīng)鏈layercake
項目描述:
LayerCake系統(tǒng)是如涵企業(yè)ERP系統(tǒng),涵蓋設(shè)計、采購、生產(chǎn)、庫存、銷售等從供應(yīng)商到客戶的全部業(yè)務(wù)流程。系統(tǒng)包括用戶中心、設(shè)計中心、供應(yīng)鏈中心、財務(wù)中心等模塊。
項目職責(zé):
負(fù)責(zé)設(shè)計中心和供應(yīng)鏈中心部分模塊的代碼編寫。
自我評價
本人對工作認(rèn)真負(fù)責(zé),責(zé)任心強(qiáng),熟練掌握java編程,熟悉spring、mybatis、mySql、dubbo、redis、RESTFul等。有很好的技術(shù)熱情,看過Java并發(fā)包AQS、lock、讀寫鎖等部分源代碼,閱讀過《java編程思想》、《Java并發(fā)編程的藝術(shù)》、《java核心技術(shù)》等書籍。擁有較強(qiáng)的學(xué)習(xí)能力,曾在兩周內(nèi)學(xué)習(xí)netty、zookeeper知識并應(yīng)用到工作項目中。編碼習(xí)慣良好,使用阿里編碼規(guī)約。熟練使用Maven、Git、IDEA工具,2017年末從供應(yīng)鏈項目組調(diào)至效能平臺項目組,負(fù)責(zé)中間件開發(fā)。團(tuán)隊合作能力強(qiáng),能夠快速適應(yīng)工作環(huán)境。 ?
內(nèi)容來源說明:本文章來自網(wǎng)絡(luò)收集,如侵犯了你的權(quán)益,請聯(lián)系QQ:2772182309進(jìn)行刪除。
http://www.90xin.cn/article/62968.html