/nutzboot

NutzBoot,简称NB,是可靠的企业级微服务框架,提供自动配置,嵌入式web服务,分布式会话,服务治理,负载均衡,hystrix,RPC等一篮子解决方案

Primary LanguageJavaApache License 2.0Apache-2.0

NutzBoot 可靠的企业级微服务框架

 _   _ ______                                      ___   
| \ | || ___ \  ______ ______ ______ ______ ______| \ \  
|  \| || |_/ / |______|______|______|______|______| |\ \ 
| . ` || ___ \  ______ ______ ______ ______ ______| | > >
| |\  || |_/ / |______|______|______|______|______| |/ / 
\_| \_/\____/                                     |_/_/  
  
:: Nutz Boot ::

Build Status CircleCI Maven Central GitHub release License Skywalking Tracing

功能介绍

  • 快速创建Nutz应用,提供初始化工具Maker
  • 嵌入式web服务(jetty/tomcat/undertow),直接打包为runnable jar
  • 基于starter的自动配置体系,只需要添加maven依赖,即可自动发现并加载
  • 能满足80%以上常见需求的默认配置,无需过多的自定义
  • 以开放的心态与国内开源团体合作,优先集成国产项目
  • 活跃的社区及稳健的发布周期,推进项目一直前进
  • 提供swagger api文件自动生成

快速预览一下NB的项目吧

pom.xml

<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>org.nutz</groupId>
            <artifactId>nutzboot-parent</artifactId>
            <version>${nutzboot.version}</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>
<dependencies>
    <dependency>
        <groupId>org.nutz</groupId>
        <artifactId>nutzboot-starter-jetty</artifactId>
    </dependency>
    <dependency>
        <groupId>org.nutz</groupId>
        <artifactId>nutzboot-starter-nutz-mvc</artifactId>
    </dependency>
</dependencies>

src/main/java/io/nutz/demo/simple/MainLauncher.java

package io.nutz.demo.simple;

import org.nutz.boot.NbApp;
import org.nutz.ioc.loader.annotation.*;
import org.nutz.mvc.annotation.*;

@IocBean
public class MainLauncher {

    @Ok("raw")
    @At("/time/now")
    public long now() {
        return System.currentTimeMillis();
    }

    public static void main(String[] args) throws Exception {
        new NbApp().run();
    }
}

asciicast

请访问 https://get.nutz.io 获取属于您的基础代码

Demo

Contributors

  • 蛋蛋(提交了第一个Banner及打印逻辑)及starter-tio和starter-j2cache
  • 胖五(nutz.io主笔)
  • qinerg(率先提交undertow)
  • benjobs(提交了tomcat)
  • 温泉(提交thymeleaf和eureka静态status页面)
  • 科技(探路者,正在踩坑,正在做后台模板)
  • 潇潇(探路者,生产环境填坑中)
  • 道坤(探路者,提交ssdb)
  • HeTaro(探路者,正在踩坑)
  • zozoh(路过...)
  • wendal(到处挖坑)
  • 瞎折腾(完善demo-maker)
  • 天空(提交zkclient)
  • haoqoo(提交velocity)
  • 鱼夫(正在踩NB+U家三剑客的坑)
  • 幸福的旁边(提交caffeine方法缓存)
  • 文涛 (新增支持加载外部配置文件)
  • zjSniper (优化starter-tio的逻辑)
  • tasdingoo(issue@github 122)
  • csl_slchia(issue@gitee II92L)
  • 还有您的名字哦,告知我们吧

采用NutzBoot的公司

请访问链接 采用公司

文档

开发进度

期待您的加入, 下述 by xxx 为通常是集成该功能的首次提交者,不一定对应软件的作者

  • 基础框架
    • 基础框架的文档
    • nutzboot-core 核心框架的实现
  • 嵌入式web容器
  • 分布式组件
    • RPC(Remote Procedure Call)
      • literpc 简洁高效RPC,由NutzCloud提供
      • starter-dubbo 阿里出品的高性能RPC平台
      • starter-zbus 国产知名RPC平台
      • starter-feign makes writing java http clients easier, by haoqoo and wendal
      • ribbon ,集成在feign中,配合erueka-client实现负载均衡
    • starter-zkclient zookeeper的封装
    • starter-hystrix 熔断器及其dashboard
    • 服务注册
      • loach-server '泥鳅'服务端,由NutzCloud提供
      • loach-client '泥鳅'客户端,由NutzCloud提供
      • starter-eureka-server 服务治理的服务器端
      • starter-eureka-client 服务治理的客户端
    • 配置中心
      • NB Config Server 配置中心的服务端
      • starter-config-client NB Config Client 配置中心的客户端
      • starter-apollo-client 携程框架部门研发的分布式配置中心的客户端
    • API网关
      • gateway-server NC API网关服务器
      • zuul
  • 数据库类相关
    • 关系型数据库
      • 数据源
        • starter-jdbc, 普通连接池,默认使用druid,带监控功能
        • starter-sharding-jdbc 分库分表
      • ORM
    • 非关系型数据库
      • starter-redis 特点就是快,吃内存!
      • starter-mongodb NoSQL的重要一支
      • starter-ssdb by 道坤
      • starter-elasticsearch by 大鲨鱼
      • memcached
  • Mvc
    • starter-nutz-mvc Nutz自带的Mvc框架
    • starter-tio-mvc 基于tio的Mvc框架
    • jersey
  • 非servlet容器
    • starter-tio 国产高性能网络开发包 by 蛋蛋
  • 安全鉴权
  • 分布式Session
    • Shiro+LCache基于shiro/jedis/插件的分布式可持久化的session缓存
  • 分布式事务
  • 计划任务
  • 模板引擎
  • 消息队列
    • starter-disque redis作者的另一作品
    • starter-rabbitmq
    • rocketmq
    • activemq
  • 邮件发送
    • starter-mail 基于commons-email by threefish
  • 工作流
  • 规则引擎
    • starter-urule 中式规则引擎
    • drools
  • 报表系统
    • starter-ureport 中式报表
    • jreport
  • 开放平台
  • 物联网(IoT)
    • starter-mqtt-client 消息队列遥测传输, IoT 通信的标准
  • 云平台
  • 缓存相关
  • API文档生成器
    • starter-swagger Most Popular API Framework
  • docker相关
    • docker compose配置
    • docker file
  • WebService
    • starter-cxf WebService的事实标准
  • 区块链
    • starter-web3j 以太坊轻量级客户端API
  • 单元测试
    • starter-test-junit4 基于Junit4的单元测试支持库
  • 其他
    • starter-ngrok-client 内网穿透,轻松获取外网地址
    • nutzboot-starter-prevent-duplicate-submit 一个可以防止表单重复提交的解决方案 by threefish

第三方starter或项目

期待您的到来,报个issue告知一下吧 ^_^

公共服务

  • Ngrok内网穿透服务:
    • 访问 https://nutz.cn 并登录, 查看个人主页,获取使用帮助及登录用的token
  • 外网ip探查服务
    • 浏览器访问 http://ip.nutz.cn/ 可看网页版帮助
    • 在服务器执行 curl ip.nutz.cn 可返回其外网ip

授权协议

与Nutz一样, NutzBoot遵循Apache协议,完全开源,文档齐全,永远免费(商用也是)