52 Star 192 Fork 53

HServer / HServer

Create your Gitee Account
Explore and code with more than 6 million developers,Free private repositories !:)
Sign up
Clone or download
Cancel
Notice: Creating folder will generate an empty file .keep, because not support in Git
Loading...
README.md

flat

如果对您有帮助,您可以点右上角 "Star" 支持一下 谢谢!

介绍

QQ交流群:1065301527

HServer是一个基于Netty的一个高并发Webserver,8核Linux 虚拟机 10w+ qps,像springboot一样开发的的web框架,

它提供了相关的注解和一些方法,完全能够完成我们大大小小的项目。作为一名Java程序员写web程序spring是我们项目99%会用的。

spring的优点就不过多讲,但是存在臃肿,太大太复杂,那我们就用一个简单框架快捷的HServer框架吧,它的qps比Servlet的容器更快

最新央仓库统一版本

资源名 地址
HServer版本 2.9.75
HServer-Beetlsql版本 3.3
HServer-Mybatis版本(1.0是原生mybatis,2.0开始mybatisPlus支持) 2.1
HServer-Maven 打包版本 3.0

资源菜单

资源名 地址
教程文档 点我
压测文档 点我
Redis操作源码 点我
MYSQL-BeetlSQL 插件(推荐)源码 点我
MYSQL-NEO 源码 点我
HServer-Maven-Plugin 点我
HServer-BeetlSql-Plugin 点我
HServer-Mybatis-Plugin 点我
HServer版本查询 点我

特点

  • 简便易用5分钟即可掌握使用
  • 快速构建高效API
  • TCP层上直接构建
  • Restful风格路由设计
  • Cron定时器
  • Filter拦截器
  • DisruptorQueue队列
  • HOOK组件
  • Track组件
  • Web Socket功能
  • Mqtt WebSocketMqtt功能
  • 自定义协议
  • Proxy 自由处理
  • RPC组件
  • Nacos组件
  • ApiDoc文档组件
  • 权限组件
  • Plugin组件自由扩展
  • 高性能 100并发下8核qps 10+w/s
  • 高度自由度控制
  • 流量整形
  • Netty 原生响应支持自己扩展

原理与流程

原理

压测数据 DeePin 8h 16g i7-9700k

worker线程池 原理

默认配置50个业务线程池 原理

感受一个HelloWorld

1.建立一个maven项目,导入依赖

<dependency>
    <groupId>top.hserver</groupId>
    <artifactId>HServer</artifactId>
    <version>最新版</version>
</dependency>

2.建立一个java包,如 com.test

3.建立一个主函数

@HServerBoot
public class WebApp {
    public static void main(String[] args) {
        HServerApplication.run(WebApp.class,8888,args);
    }
}

4.建立一个控制器

@Controller
public class HelloController {

    @GET("/test1")
    public JsonResult test() {
        return JsonResult.ok();
    }
    
    @POST("/test2")
    public JsonResult b(HttpRequest request) {
        return JsonResult.ok().put("data",request.getRequestParams());
    }
    
    @RequestMapping(value = "/get", method = RequestMethod.GET)
    public JsonResult get() {
        return JsonResult.ok();
    }

    @RequestMapping(value = "/post", method = RequestMethod.POST)
    public JsonResult post(HttpRequest httpRequest) {
        return JsonResult.ok().put("data",httpRequest.getRequestParams());
    }
    
    /**
     * 模板测试
     * @param httpResponse
     */
    @GET("/template")
    public void template(HttpResponse httpResponse) {
        User user = new User();
        user.setAge(20);
        user.setName("xx");
        user.setSex("男");
        Map<String,Object> obj=new HashMap<>();
        obj.put("user",user);
//        httpResponse.sendTemplate("/admin/user/list.ftl", obj);
        httpResponse.sendTemplate("a.ftl", obj);
    }
}

5.运行主函数,访问8888端口即可

许可证

根据Apache许可证2.0版本("许可证")授权,为正常使用该服务,请确保许可证与本文件兼容。用户可通过以下链接获得许可证副本:

http://www.apache.org/licenses/LICENSE-2.0

Comments ( 27 )

Sign in for post a comment

About

HServer是一个功能强大,资源丰富,开发灵活,轻量级,低入侵,高性能的框架. spread retract
Java and 4 more languages
Apache-2.0
Cancel

Releases (7)

All

HServer

Contributors

All

Activities

load more
can not load any more
Java
1
https://gitee.com/HServer/HServer.git
git@gitee.com:HServer/HServer.git
HServer
HServer
HServer
master

Search

102255 3a0e046c 1850385 102255 7aaa926c 1850385