開源項目丨基於 Spring Boot 的分散式和服務化解決方案 Roses
歡迎下載開源中國APP獲取更多優質文章
Roses 詳細介紹
Roses基於Spring Boot, 是開源項目 Guns 的升級版本,致力做更簡潔的分散式和服務化解決方案,Roses提供基於Spring Cloud的分散式框架,整合了springmvc + mybatis-plus + eureka + zuul + feign + ribbon + hystrix等等,提供Roses獨有的高效率的開發體驗,提供可靠消息最終一致性分散式事務解決方案,提供基於調用鏈的服務治理,提供可靠的服務異常定位方案(Log + Trace),一個分散式框架不僅需要構建高效穩定的底層開發框架,更需要解決分散式帶來的種種挑戰。
在幾年前,剛工作的時候就開始接觸分散式,並且使用分散式編寫業務,那時候還很菜(現在也菜),只覺得微服務很牛逼,殊不知其中的艱難險阻,踩過很多坑,也走過彎路,Roses是根據自己積攢的經驗編寫出來的,完全開源,目的就是想讓新接觸微服務,搞分散式開發的同學能夠快速上手。Roses在編寫的時候有兩個核心思想,第一個是注重解決分散式帶來的種種挑戰,第二個是注重提高開發人員的效率。
Roses的一些特點:
1. 網關實現統一鑒權,資源許可權過濾(鑒權機制)
2. 網關生成唯一請求號(RequestNoGenerateFilter)(主要為了定位問題)
3. 分散式事務解決方案(可靠消息最終一致性)
4. 分散式配置中心roses-config(統一管理項目配置,好維護)
5. 一切請求基於RequestData和ResponseData(簡化開發)
6. 獨創基於BeanPostProcessor的資源掃描器(多服務之間的資源搜集,集中管理)
7. 獨特的Feign錯誤解碼器(繼承Guns的開發思想,極大提高了開發效率)
8. Log + Trace日誌記錄(定位問題更便捷)
9. 統一的文件日誌記錄格式(日誌記錄的規範)
快速開發微服務的秘籍 roses-core
在roses-core模塊的com.stylefeng.roses.core.config包下整合了大量開發常用到的配置,其中包含默認異常攔截,登陸用戶的上下文獲取,默認緩存配置,默認fastjson的配置,默認mybatis-plus的配置,默認的swagger的配置,默認的web配置等等等等,使得在新業務開發中,只要pom引入roses-core這個模塊,即可很方便的注入這些特性,直接上手開編寫業務,大大減少了新業務,新模塊的配置,調試,各種框架集成拼接的時間,因為這些在Roses中已經為您提供好了,利用Spring Boot的自動配置機制,同樣的,這些配置在項目啟動的時候會默認載入,因為在roses-core模塊下的META-INF/spring.factories中配有這些類,當然,如果您不需要某些特性(自動配置類)您可以在@SpringBootApplication註解上增加exclude參數來排除這些自動配置。
開源中國旨在為中國IT技術人員提供一個全面的、快捷更新的用來檢索開源軟體以及交流使用開源經驗的平台,目前已收錄45000多款開源軟體。歡迎點擊「了解更多」獲取軟體詳細介紹與源碼下載地址。
※被人工智慧挾裹的程序員們,該如何切入 AI 開發?
※TIOBE 6月編程語言榜:TypeScript首次躋身前100!C語言指數暴漲
TAG:OSC開源社區 |