Loading

摘要: 更多的问题 Direct Exchange帮助我们解决了分类发布与订阅消息的问题,但是Direct Exchange的问题是,它所使用的routingKey是一个简单字符串,这决定了它只能按照一个条件进行分类。 比如RabbitMQ学习笔记(四)Routing中的列子,我们是按照新闻的类型分类的,分 阅读全文
posted @ 2017-09-11 08:35 LamondLu 阅读(348) 评论(0) 推荐(0) 编辑
摘要: 新的场景 在我们学习了RabbitMQ的发布与订阅之后,我们很容易就可以完成一个简单的消息群发器。 使用这个消息群发器,所有的消费者程序实例都会接收到相同的消息信息,从而实现广播的效果。 但是这种广播是一种无意识的广播,即使消息是有分类的,消费者程序也不能自己决定关注的消息类型,只能被动的接收所有的 阅读全文
posted @ 2017-09-11 08:34 LamondLu 阅读(286) 评论(0) 推荐(0) 编辑
摘要: 发布与订阅 在我们使用手机发送消息的时候,即可以选择给单个手机号码发送消息,也可以选择多个手机号码,群发消息。 前面学习工作队列的时候,我们使用的场景是一个消息只能被一个消费者程序实例接收并处理,但是如果想要群发消息,仅凭之前学到的东西是实现不了的。 所以这里需要引入RabbitMQ的发布与订阅模式 阅读全文
posted @ 2017-09-09 08:33 LamondLu 阅读(411) 评论(0) 推荐(0) 编辑
摘要: Job和JobDetails的关系 接一篇的例子 Job和JobDetails是任务相关2个对象,所有的Job都实现了IJob接口,所有的JobDetails都实现了IJobDetails接口。 Quartz.NET中,我们使用调用器Scheduler, 将一个JobDetails对象关联到一个触发 阅读全文
posted @ 2017-09-07 08:22 LamondLu 阅读(376) 评论(0) 推荐(0) 编辑
摘要: 什么是工作队列? 工作队列(又名任务队列)是RabbitMQ提供的一种消息分发机制。当一个Consumer实例正在进行资源密集任务的时候,后续的消息处理都需要等待这个实例完成正在执行的任务,这样就导致消息挤压,后续的消息不能及时的处理。 RabbitMQ的工作队列机制允许同一个Consumer的多个 阅读全文
posted @ 2017-09-06 08:33 LamondLu 阅读(439) 评论(0) 推荐(1) 编辑
摘要: RabbitMQ是做什么的? RabbitMQ可以类比现实生活中的邮政服务。 现实中邮件服务处理的是邮件,发件人写好信件投入邮箱,邮递员收取信件存入邮局,邮局根据信件地址,分配邮递员投递信件到指定地点。 RabbitMQ与邮政服务的主要区别是RabbitMQ处理的是消息(二进制数据块), 即消息的接 阅读全文
posted @ 2017-09-06 08:31 LamondLu 阅读(463) 评论(0) 推荐(0) 编辑
摘要: 通常来说计划任务触发器会比简单触发器的使用频率高很多。如果你的任务是需要基于日历每天定时运行,那你就应该使用计划任务触发器,例如每周五中午12:00执行任务,或者每天早上9点执行任务。 计划任务表达式(Cron Expressions) 计划任务需要使用计划任务表达式(Cron Expression 阅读全文
posted @ 2017-07-11 08:23 LamondLu 阅读(772) 评论(0) 推荐(0) 编辑
摘要: 触发器是Quartz.NET的另外第一个核心元素,他有2种类型,简单触发器(Simple Trigger)和计划任务触发器(Cron Trigger), 一个触发器可以绑定一个任务。 通用触发器属性 JobKey – 当前触发器绑定任务的唯一标识符 StartTimeUtc – 触发器的生效开始时间 阅读全文
posted @ 2017-07-10 08:22 LamondLu 阅读(447) 评论(0) 推荐(0) 编辑
摘要: Quartz.NET是一款开源的任务调度框架,他是由Java中的任务调度框架Quartz移植而来的。官方网站https://www.quartz-scheduler.net/。 Quartz.Net的特性 运行环境 Quartz.NET可以寄宿在其他的.NET程序中运行 Quartz.NET可以作为 阅读全文
posted @ 2017-07-07 08:20 LamondLu 阅读(380) 评论(0) 推荐(1) 编辑
摘要: Owin中也有类似于ASP.NET的管道,以前在做ASP.NET项目的时候,可以制作很多不同功能HttpHandler或者HttpModule并注册在Web.config中重复使用。在Owin的管道中,我们可以注册中间件(Middleware)来实现相似的功能。 所有的Owin中间件需要继承Owin 阅读全文
posted @ 2017-06-20 08:17 LamondLu 阅读(531) 评论(1) 推荐(1) 编辑
摘要: ASP.NET框架至今为止已经存在了数十年了,大量的网站使用ASP.NET框架进行开发。随着网站应用开发技术的进步, 许多网站应用开发框架有了新的流行趋势 轻量化 模块化 可移植 ASP.NET框架在新的流行趋势下,显得非常臃肿,主要原因就是ASP.NET的基础是System.Web程序集,它里面集 阅读全文
posted @ 2017-06-19 08:16 LamondLu 阅读(677) 评论(0) 推荐(0) 编辑
摘要: 当一个Web应用程序达到一台服务器能力限制,即请求处理数量限制之后,有2种解决方案:纵向扩展和横向扩展。 纵向扩展即用更强的服务器(或虚拟机),或为当前的服务器添加更多的内存,CPU等 横向扩展即添加多台服务器或者虚拟机来做负载均衡 纵向扩展的问题是,服务器的配置升级的费用比较高,而且总有升级的极限 阅读全文
posted @ 2017-06-12 08:13 LamondLu 阅读(570) 评论(0) 推荐(0) 编辑
摘要: 限制消息发送次数 这种方式在学习笔记(二)- 高并发应用中介绍过,在客户端和服务器端使用定时器来减少消息发送的次数 减少消息数据的大小 服务器端,可以使用JsonIgnore, 来忽略不需要序列化的属性,并使用JsonProperty给需要序列化的属性起一个简短的名字 但是这样随之而来的问题就是Ja 阅读全文
posted @ 2017-06-12 08:10 LamondLu 阅读(403) 评论(0) 推荐(0) 编辑
摘要: 今天有在研究SignalR, 发现SignalR可以使用Self-Host的方式,就突发奇想,Web Api是不是也可以使用Self-Host的方式寄宿在Console Application或者其他的地方。 微软MSDN上给出的详细的答案,Web Api和WCF以及SignalR一样,支持Self 阅读全文
posted @ 2017-06-05 08:06 LamondLu 阅读(387) 评论(0) 推荐(0) 编辑
摘要: SignalR可以借助Owin摆脱对IIS的依赖,实现Self-Host,使得SignalR有了部署在非Windows平台的可能。 什么是Owin Owin的英文全称是Open Web Interface for .NET, 他定义了Web应用程序和Web服务器之间的接口。他的作用就是解除了Web应 阅读全文
posted @ 2017-05-31 08:04 LamondLu 阅读(545) 评论(0) 推荐(0) 编辑
摘要: 虽然SignalR借助Websocket提供了很强大的实时通讯能力,但是在有些实时通讯非常频繁的场景之下,如果使用不当,还是会导致服务器,甚至客户端浏览器崩溃。 以下是一个实时拖拽方块项目的优化过程 项目的需求如下 创建项目 使用VS创建一个空的Web项目 引入SignalR库及jQuery UI库 阅读全文
posted @ 2017-05-31 08:02 LamondLu 阅读(660) 评论(1) 推荐(1) 编辑
摘要: 什么是ASP.NET SignalR? ASP.NET SignalR是一个方便程序员添加实时网络通信功能的类库。所谓的实时网络通信功能(Real-time Web Functionality)就是需要服务器主动推送数据到用户客户端,而非服务器等待用户客户端请求数据的功能。以聊天室为例,当一个用户发 阅读全文
posted @ 2017-05-30 07:59 LamondLu 阅读(537) 评论(0) 推荐(0) 编辑
摘要: 今天本来想一觉睡到早上7点,结果凌晨2点30就行了,然后就各种睡不着了。挣扎到5点,饿的不行,就起来找东西吃,发现冰箱里东西真不少。8点半,开始和亢爷做早饭,自制俩汉堡,样子略丑, 味道还不错。这边还是自力更生比较便宜。 今天上午天气比较好,早上大太阳,气温19度,应该比青岛暖和多了,外拍了几张公寓 阅读全文
posted @ 2016-11-01 07:11 LamondLu 阅读(321) 评论(0) 推荐(1) 编辑
摘要: 周六早上8:00从青岛登机,历经17个小时,终于在当地时间周六下午2点半到达目的地纽约。 被媳妇吐槽旁边坐了美女妹子,其实是个美国妹子,旁边人家还有男朋友,全程只和我说了2句话,Excuse me! Sorry ! 出海关的时候,意外的人超多,在海关排了一个小时的,才出关。本想早出去招接机司机的,结 阅读全文
posted @ 2016-10-31 07:05 LamondLu 阅读(490) 评论(0) 推荐(0) 编辑