Files
redkale/README.md
2015-12-15 10:26:00 +08:00

2.2 KiB
Raw Blame History

项目介绍

      RedKale 是基于Java 8的微服务框架 包含HTTP、WebSocket、TCP/UDP、数据序列化、数据缓存、依赖注入等功能。
其功能相当于 Tomcat + Mina + Struts + Spring + Hibernate + RMI + Json + Memcached 的综合体。

RedKale 有如下主要特点:
  1. 大量使用Java 8新特性接口默认值、Stream、Lambda、JDk8内置的ASM包
  2. HTTP层内置json功能与限时缓存功能
  3. TCP层完全使用NIO.2
  4. 分布式与集中式可以无缝切换
  5. 数据缓存自动同步与简洁的数据层操作接口
  6. 功能强大 但体积不到1.5M,且不依赖任何第三方包
亮点一. 轻量级HTTP

      RedKale 的HTTP是基于异步NIO.2实现的所提供的HttpResponse的输出接口也是异步的因此并不遵循JSR 340规范(Servlet 3.1)且也没有实现Jsp规范。 HTTP只提供四个对象HttpContext、HttpRequest、HttpResponse、HttpServlet。 传统Session则由数据层实现。RedKale提倡http+json接口 因此HTTP层内置了json解析与序列化接口同时内置http缓存机制。

亮点二. SNCP协议

      SNCP是RedKale独有的协议层 类似RMI与WebService的功能结合主要用于进程间的数据传输。使用者通过配置文件可以轻易的将Service由本地模式变成远程模式。远程模式的Service使用SNCP协议与其他进程的Service通信。使用者无需对远程通信接口使用类似mina的第三方包自行开发。

亮点三. DataSource

      RedKale提供DataSource类对数据层进行操作 其功能类似JPA(或Hibernate)+Memcached。 与JPA相比各有优缺点。 优点: 1、Datasource中的内存缓存会自动与其他同服务的进程之间同步。 2、简易的查询接口即时复杂的过滤查询都无需写SQL语句。 3、可以DataSource与业务逻辑层分开 独立成类似Memcached的内存数据源。 缺点: 1、不提供复杂的关联表操作与查询。