LINA消息服务设计
Lina消息服务,提供了一个 Java平台中关于面向消息中间件的 API,用于在两个应用系 统之间,或分布式系统中发送消息,接收消息,进行异步通信。提供的接口,抽象消息服务, 因此屏蔽各种不同 MQ的差异性,在内部可以实现多种 MQ现在暂时只支持 HornetQ。
一:Lina消息服务特点
高性能
1k大小的消息,1台消息服务器,1台消息发送端,可以达到 3000TPS。一台消息接收,可以 达到 1500TPS。
实时性 顺序性
保证消息的顺序发送和接收
高可靠性
1.
消息在客户端发送消息,并不是请求直接发送到服务端,而是先存储在本地文件中。通过发 送线程,读取文件,进行消息异步发送。 2. 3.
高可用性
用主备单个节点故障,不影响系统正常运行
可扩展性
可以对系统进行横向和纵向扩展,横向扩展可以向现有的服务环里面增加节点,纵向扩展可以增 加服务环
对于网络中断,服务服务器宕机,依然正常使用,不影响客户端的消息发送。
当消息本地存储文件达到限制的时候,自动删除最早文件,抛弃最早消息,保证发送的健壮 性
1:整体架构
1整体结构图
消息客户端
特点:(现有版本还未实现该功能) 1. 2. 3. 4. 5.
消息服务集群处理,可以对系统进行横向扩展。
消息服务器,在启动的时候,把自己的服务注册到配置中心, 息服务器。
消息客户端,在启动的时候,连接配置中心, 连接。
客户端根据消息哈希值, 找对应的消息服务器, 整个系统的吞吐量。
消息服务,分为主从配备,当客户端在失效备援后连接到备份服务
器时,备份服务器
因此分担单个消息服务器的压力。
提升
找到可用的消息服务,对消息服务进行长
从而使客户端能够发现消
开始激活并开始工作。