帮酷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  |  如果智培  |  酷兔英语