1 Star 0 Fork 245

東哥 / nutzboot

forked from Nutz / nutzboot 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
Apache-2.0

NutzBoot 微服务

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

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

  • 内置demo,每个starter均配套一个demo
  • Todo-backend,一个类就能通过TodoBackend的测试 by wendal
  • urls Java版短地址服务 by howe
  • LuliChat 一个Nutz为后台支撑,T-io为通讯支持,LayIM为前台UI交互的纯国产框架开发的一个即时通讯项目 by 蛋蛋
  • NutzWk-NB分支 企业级微服务开发平台 by 大鲨鱼

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
    • 非关系型数据库
  • 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-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 内网穿透,轻松获取外网地址

第三方starter或项目

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

公共服务

  • Ngrok内网穿透服务:
  • 外网ip探查服务
    • 浏览器访问 http://ip.nutz.cn/ 可看网页版帮助
    • 在服务器执行 curl ip.nutz.cn 可返回当前服务器的外网信息

授权协议

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

Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 1. Definitions. "License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. "Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. "Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. "You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. "Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. "Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. "Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). "Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. "Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." "Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. 2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. 3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. 4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: (a) You must give any other recipients of the Work or Derivative Works a copy of this License; and (b) You must cause any modified files to carry prominent notices stating that You changed the files; and (c) You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and (d) If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. 5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. 6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. 7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. 8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. 9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. END OF TERMS AND CONDITIONS APPENDIX: How to apply the Apache License to your work. To apply the Apache License to your work, attach the following boilerplate notice, with the fields enclosed by brackets "{}" replaced with your own identifying information. (Don't include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a file or class name and description of purpose be included on the same "printed page" as the copyright notice for easier identification within third-party archives. Copyright {yyyy} {name of copyright owner} Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

简介

NutzBoot,简称NB,是可靠的企业级微服务框架,提供自动配置,嵌入式web服务,分布式会话,hystrix,RPC等一篮子解决方案 展开 收起
Java
Apache-2.0
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
Java
1
https://gitee.com/master336/nutzboot.git
git@gitee.com:master336/nutzboot.git
master336
nutzboot
nutzboot
dev

搜索帮助