netty 实现消息推送

该博客介绍了如何使用Netty构建一个简单消息推送系统,包括注册中心、消息消费者(receiver)和消息发送者(sender)。receiver向注册中心注册其host和port,sender通过注册中心获取receiver信息并发送消息。示例中展示了receiver和sender的实现,以及Person和Product类作为消息内容的例子。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


netty 实现消息推送

           

               

                              

基本介绍

         

                      

            

registry:注册中心,存储receiver的host、port

receiver:消息消费,将host、port数据推送到注册中心

sender:消息发送者,从注册中心获取receiver元数据,然后发送消息

         

Message:发送的消息

@Data
public class Message implements Serializable {

    private String topic;
    private Object content;
}

        

RegistryProtocol:receiver向注册中心注册的数据

@Data
public class RegistryProtocol implements Serializable {

    private String consumerHost;
    private Integer consumerPort;
}

           

RegistryInfo:注册中心向sender返回的数据

@Data
public class RegistryInfo implements Serializable {

    private String host;
    private Integer port;
}

                

Person:消息内容

@Data
public class Person implements Serializable {

    private String name;
    private Integer age;
}

       

Product:消息内容

@Data
public class Product implements Serializable {

    private String name;
    private Float price;
    private Integer num;
}

          

         

                              

注册中心

    

RrgistryCache:存储receiver的host、port

public class RegistryCache {

    public static String consumerHost;
    public static Integer consumerPort;
}

         

RegistryRegisterInfosHandler:处理receiver元数据注册

public class RegistryRegisterInfosHandler extends SimpleChannelInboundHandler<RegistryProtocol> {

    @Override
    protected void channelRead0(ChannelHandlerContext channelHandlerContext, RegistryProtocol registryProtocol) throws Exception {
        if (registryProtocol != null){
            RegistryCache.consumerHost = registryProtocol.getConsumerHost();
            RegistryCache.consumerPort &
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值