Skip to content

Xlite是一款超级精简的,基于Java开发的 Rpc服务框架。

License

Notifications You must be signed in to change notification settings

gallenzhang/xlite

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Xlite是什么

xlite是一款超级精简的,基于Java开发的rpc服务框架。

Xlite的由来

软件开发领域有一句非常经典的话:不要重复造轮子。对于计算机领域软件大师来说,事实确实如此。因为重复造轮子会浪费他们不少时间,然而这时间本来可以做更有价值的创造工作。

然而大多数开发人员干的都是业务代码开发,写着写着最后彻底变成Crud Boy。技术能力得不到提升,工作几年过后,内心会非常焦虑担心被市场淘汰。所以个人以为,参照优秀的开源框架重复造轮子是增强技术能力非常好的一个途径。

由于工作中使用的较多的是dubbo框架,曾今也花了很大精力去学习其源码,但有些关键点仍然理解不到位。于是萌生了自己写一个精简版rpc框架的想法,通过自己动手实现,遇到技术难点后带着问题去学习源码,理解作者为什么那样来实现。

这里将框架命名为xlite,它是extremely lite 的简写,意为极其精简版的rpc框架。

Xlite用到的技术

一个框架的诞生,肯定离不开许多其他优秀的开源框架和语言底层技术的支撑。为了方便学习,下面列举出xlite框架开发中用到的技术点。

框架/技术点 框架中应用
Spring a. 定义 xlite 命名空间解析器,解析自定义标签
b. InitializingBean、BeanFactoryAware、ApplicationListener
Zookeeper a. Zookeeper的监听机制
b. 节点的创建和删除
Netty a. Netty实现客户端和服务端通讯,ChannelHandler使用方法
b. 自定义通讯协议的编解码
c. 解决传输过程中数据包的粘包半包问题
Proxy技术 a. 生成服务提供者和消费者的动态代理

Xlite的特点

xlite虽说是一个精简版的服务框架,但是麻雀虽小五脏俱全,具有如下特点(特性正在逐步开发完善)。

  • 面向接口代理的Rpc调用,底层调用细节对开发者透明。
  • 基于微内核+插件,保证了框架的高度可扩展能力。
  • 使用Zookeeper作为默认注册中心,实现服务自动注册与发现。
  • 内置集群容错和负载均衡功能。
  • 完美支持Spring运行环境。
  • 简单易用,使用门槛低。

版本记录

1.2.0

  • 到达第一个里程碑,直连调用可以正常使用。
  • 代码还比较粗糙,后续逐步改进。

1.0.2

  • 最简单版本的服务导出功能。

1.0.0

  • xlite 项目初始化。
  • netty作为默认通讯框架。
  • 自定义默认传输协议xlite。

About

Xlite是一款超级精简的,基于Java开发的 Rpc服务框架。

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages