消息转发的应用场景在现实中的应用非常普遍,我们常用的IM工具也是其中之一;现有很多云平台也提供了这种基础服务,可以让APP更容易集成相关功能而不必投入相应的开发成本。对于实现这样一个简单功能并不复杂,对于现有的技术来说用.net提个通讯服务器支持几十W用户相信也不是件困难的事情;但如果考虑可用性和更大规模那就需要下点功夫,并且对相关技术有深入的了解才能实现了。而在这里主要讲解一下如何通过SmartRoute来实现一个大规模的消息转发集群的基础服务。         说 ...
        基于接口的调用远比基于基础消息交互来得更简单和便于维护,特别在业务展现上,接口作为业务表现更适合其便利性。为了让SmartRoute更适合业务应用集成,在新的一年开始SmartRoute集成了远程接口调用功能。基于SmartRoute的基础特性,在这基础上扩展的接口调用会变得更简单灵活,其特别点如下:并不需要知道服务地址,只需要明确接口和方法即可以实现远程服务调用;无需任何配置即可实现负载和故障迁移。而这一系列的更利功能都归攻于SmartRoute基础建设!    &nbsp ...
        SmartRoute是基于Dotnet Core设计的可运行在linux和windows下的服务通讯组件,其设计理念是去中心化和零配置即可实现服务通讯集群。SmartRoute是通过消息订阅的机制实现服务与服务之间的通讯,它可以让广播网段内所有服务器上的应用自动构建通讯集群; 而通讯集群完全是SmartRoute自动构建并不需要进行任何配置或安装中间服务。通过这种全新的通讯开发方式可以让开发者更轻松和简单地构建基于服务的集群通讯应用。 SmartRoute的发展目标 ...
        随着应用规模的增长服务则需要扩展集群休部署,在集群化部署过程首先要考虑服务负载处理的问题,在实现应用场中有很多集群化的负载方式,如网络通讯层面的LVS,HTTP应用协议层面的nginx.然而这些负载都依赖于中心化服务,而SmartRoute的设计理念是去除中心化来实现应用层集群负载处理;而SmartRoute的服务定义和应用调用都不需要明确服务地址和端口,这样使用服务设计实现更灵活。接下来介绍一下如何通过SmartRoute简单实现一个服务集群负载应用。 定义节点     &nb ...
        说到订阅服务通讯一般都会想到基于队列的消息生产和消费模式,这也是在实际应该中比较常用的方式。一般生产者把消息发送到队列服务中心,然后消费者去中心订阅;然而这种方式需要一个消息服务中心,而在这里所说的订阅服务通讯则有点不一样,因为需要更灵活的订阅方式,所以需要去除中心化处理;但去除中心化那则需要考虑的事情想对复杂,最基础的环节就是如何维护生产者和消费者的关系,接下来讲解如何实现这种方式。 中心化通讯方式         由于在应用中一般会使用 ...
        在制定一个规模比较多大的聊天应用时,往往需要制定部署多个应用服务,其一可以保障服务的可靠性,其二可以增加用户负载量.但制定这样一种应用体系是一件复杂的事情,毕竟同一群体的用户实际上会在不同的服务器接入,这样信息转发和处理就是一件比较麻烦的事情.但通过smartroute的订阅机制这一系列的事情都变得简单.          依据客观情况在设计的时候一般都只是功能优先,对于大规模的应用往往是后期扩展.但是基于集群扩展在设计上就需要做得很多工 ...
        本章主要是通过helloWorld来介绍SmartRoute组件的使用,SmartRoute和一般的通讯组件使用方式用点差别,使用方式主要强调就用零配置和零安装即可用.在传统通讯应用中需要开启服务端然后由另一方连接然后进行消息交互;而在SmartRoute中则以消息订阅和投递进行消息交互,所以在使用SmartRoute的时候只需要关注两件事情:以那个资源ID进行消息订阅和需要向那个资源ID发送消息.         接下来通过一个helloWorl ...
         消息传递在软件开发过程中是一件很常见的事情,而在不同的场景所使用消息传递方式也有所不同,在对象之间制定相关接口方法和对象结构,对于进程之间可能使用内存共享或一些通讯产品,在不同服务器之的消息通讯则使用一些通讯产品(MQ)或构建满足自己的RPC通讯机制.不同场景技术人员都要掌握不同的技术方法来实现,由于应用技术和差异性容易导致开发成本和维护成本的上涨,为了解决这一系列的问题在这段时候思考后实现一种统一的消息传递方式,而这种应用方式不管是对象间,进程或服务器在应用上都不会任何差,在这里称这技术为消息智能路由(为了快速验证想法, ...