帮酷LOGO
0 0 评论
文章标签:fast  Microservices  Light  framework    micr  
A wrapper of the undertow http server that supports HttpHandlers as plugins through Java SPI.

  • 源代碼名稱:light-4j
  • 源代碼網址:http://www.github.com/networknt/light-4j
  • light-4j源代碼文檔
  • light-4j源代碼下載
  • Git URL:
    git://www.github.com/networknt/light-4j.git
  • Git Clone代碼到本地:
    git clone http://www.github.com/networknt/light-4j
  • Subversion代碼到本地:
    $ svn co --depth empty http://www.github.com/networknt/light-4j
    Checked out revision 1.
    $ cd repo
    $ svn up trunk
  • 一個快速,輕量級和雲原生的微服務框架。

    開發者聊天 | 文檔|捐贈指南

    Build Status

    為什麼叫 Light 4 J

    Light意味著輕巧,快速,並闡明了如何使用現代Java SE進行編程。

    為什麼這個框架

    快速和小內存佔用,降低生產成本。

    它比最流行的microservices平台 Spring Boot 平台快 44倍,只使用 1/5 內存。 下面是與和其他microservices框架相比較的基準測試。 下面是與其他網頁框架的比較插件。

    提供嵌入式網關以解決交叉問題。

    • 啟動/關閉hook和中間件組件的插件架構
    • 框架內置分散式 OAuth2 JWT安全驗證
    • 運行時針對OpenAPI規範的請求和響應驗證
    • 在influxdb中收集並從Grafana儀錶板查看服務和客戶端
    • 運行時異常,api異常和其他已檢查異常的全局異常處理
    • 在記錄之前屏蔽敏感數據,如信用卡,罪號等
    • 清理查詢參數,請求標頭和正文的跨站點腳本
    • 審核以轉儲重要信息或整個請求和響應。
    • 支持不同內容類型的正文解析器
    • 標準化的響應代碼和來自配置文件的消息
    • 用於dockerized環境的所有模塊的外部化配置
    • 來自其他域的SPA(Angular或React)的CORS飛行前處理程序
    • 對外公開的服務的速率限制
    • 服務註冊表和發現支持直接,Consul和Zookeeper
    • 客戶端發現和負載平衡以消除代理
    • 與Light-OAuth2緊密集成並支持可以跟蹤性的客戶端模塊

    設計和測試驅動開發以提高生產力

    設計OpenAPI規範並從中生成服務。 規範也是框架中驅動安全性驗證和運行時請求驗證的一部分。

    生成單元/端到端測試存根,以實現優質產品的測試驅動方法。

    IDE內的調試就像獨立應用程序一樣,可以更好地提高開發人員工作效率。

    內置DevOps流程以支持持續集成到生產中

    生成Dockerfile和DevOps支持文件以支持dockerization和持續集成到生產。

    針對不同類型microservices的多個框架

    light-rest-4j是一個RESTful 微服務框架,帶有代碼生成和運行時安全性的OpenAPI規範,驗證light-graphql-4j是支持從IDL和插件生成架構的GraphQL 微服務框架。 light-hybrid-4j是一個混合微服務框架,它利用了單片機和微服務架構的優勢。 light-eventuate是基於消息傳遞的微服務框架,基於Kafka,事件採購和CQRS

    多種語言支持

    所有開源框架都是用Java構建的,我們正在內部開發Nodejs框架。 將來,我們也可以提供Golang框架,所有它們都共享同一個生態系統和市場。

    OAuth2伺服器,門戶和服務以形成生態系統

    用於生產監控和管理的安全和門戶插件的OAuth2伺服器。 門戶網站也是將客戶和服務鏈接在一起的市場。

    入門

    有兩種啟動項目的方法:

    Light-codegen生成器

    您可以使用light-codegen生成工作項目。 目前,它支持 light-rest-4j, light-graphql-4j, light-hybrid-server-4j和 light-hybrid-service-4j。 light-eventuate代碼生成器即將推出。

    light項目 README.md 描述了四種使用生成器的方法。

    • 克隆並構建light-codgen並使用codegen-cli命令行實用程序
    • 使用 Docker 鏡像networknt/light-codegen來運行 codegen-命令行 實用程序
    • 使用模型配置 repo 中的generate.sh 根據約定生成項目。
    • 使用 codegen-web API從網站生成代碼。 ( API已經就緒,但需要構建 UI )

    從一個示例項目開始

    另一種啟動項目的方法是從 light-example-4j 複製。

    你可以找到這些示例的描述。

    此外,還有一些教程。

    命令行調試

    要從IDE運行/調試,需要配置具有主要類"com.networknt.server.Server"的Java應用程序,並且工作目錄是你的項目文件夾。 沒有容器,你正在處理一個獨立的Java應用程序。

    啟動伺服器

    在IDE中

    創建一個主類為 com.networknt.server.Server 且工作目錄為你的項目根目錄的Java應用程序。 你可以像使用POJO應用程序一樣調試你的伺服器。

    來自 Maven的

    mvn exec:exec

    命令行

    java -jar target/demo-0.1.0.jar

    停止伺服器

    你可以使用Ctrl+C殺死伺服器,但對於生產使用以下命令

    kill -s TERM <pid>

    伺服器有一個關閉鉤子,上面的命令允許它清理。 例如,如果使用服務註冊表和發現,則完成正在進行的請求並關閉資料庫連接等,然後伺服器將關閉事件發送到服務註冊表並保持處理請求30秒,直到所有客戶端在關閉之前刷新其本地緩存。

    升值

    • 通過使用Light-4j技術中的JProfiler,對進行了優化,得到了優化。

    許可證

    Light-4j和所有light-*-4j框架均可以在 Apache 2.0許可證下使用。 有關詳細信息,請參閱許可證文件。



    文章标签:  framework  Light  fast  micr  Microservices  

    Copyright © 2011 HelpLib All rights reserved.    知识分享协议 京ICP备05059198号-3  |  如果智培  |  酷兔英语