基于mina的应用架构
mina是应用程序和基础网络层之间的粘合剂,可以基于tcp,udp,in-vm通信。
而开发者要做的仅仅在mina之上设计自己的应用实现,而无需处理网络层那些复杂的业务。这一点其实和hibernate类似,hibernate封装好底层的jdbc,你只需要专注于处理业务层即可,hibernate帮你处理好数据的持久化操作。同样mina处理网络层负责的业务。
每个mina组件要做的事情
概括地说,基于mina的应用划分为三个层次。
1.I/O Service(I/O服务) - 具体的I/O操作
2.I/O Filter Chain(I/O过滤器链) -将字节过滤/转换唯想要的数据结构,反之亦然。
3.I/O Handler(I/O处理器) -实现具体的业务逻辑。
所以,如果想创建一个基于mina的应用,需要处理:
1.创建一个I/O Service,从已存在的可用service(*Acceptor)中挑选一个或者你创建一个。
2.创建一个I/O Filter Chain,从现有的filter中挑选,或者创建一个用于转换请求/相应的自定义filter。
3.创建一个I/O Handler,处理不同消息时编写具体业务逻辑。
整理自《apache mina2 用户指南》