摘要: RabbitMQ无疑是目前最流行的消息队列之一,对各种语言环境的支持也很丰富,作为一个.NET developer有必要学习和了解这一工具。消息队列的使用场景大概有3种: 1、系统集成,分布式系统的设计。各种子系统通过消息来对接,这种解决方案也逐步发展成一种架构风格,即“通过消息传递的架构”。 2、 阅读全文
posted @ 2018-03-14 14:33 我是一颗小菜 阅读(1056) 评论(0) 推荐(0) 编辑
摘要: 1.背景 RabbitMQ是一个由erlang开发的AMQP(Advanved Message Queue)的开源实现。 2.应用场景 2.1异步处理 场景说明:用户注册后,需要发注册邮件和注册短信,传统的做法有两种1.串行的方式;2.并行的方式 (1)串行方式:将注册信息写入数据库后,发送注册邮件 阅读全文
posted @ 2018-03-13 17:42 我是一颗小菜 阅读(238) 评论(0) 推荐(0) 编辑
摘要: 一、MSA 简介 1.1、MSA 是什么 微服务架构 MSA 是 Microservice Architect 的简称,它是一种架构模式,它提倡将单一应用程序划分成一组小的服务,服务之间互相通讯、互相配合,为用户提供最终价值。它与 SOA 之间的区别如下: 1.2、我们的 MSA 框架 我们的微服务 阅读全文
posted @ 2018-02-22 11:46 我是一颗小菜 阅读(816) 评论(0) 推荐(0) 编辑
摘要: 一、ZooKeeper 是什么 Apache ZooKeeper 由 Apache Hadoop 的子项目发展而来,于 2010 年 11 月正式成为了 Apache 的顶级项目。 相关厂商内容 优秀程序员应该了解的开发实践案例 从C#看开放对编程语言发展的影响 Netflix的工程文化:是什么在激 阅读全文
posted @ 2018-02-05 17:41 我是一颗小菜 阅读(284) 评论(0) 推荐(0) 编辑
摘要: 一、Job 简介 Job 类似于数据库中的作业,多用于实现定时执行任务。适用场景主要包括定时轮询数据库同步、定时处理数据、定时邮件通知等。 我们的 Job 分为操作系统级别定时任务 WinJob 和 HttpJob,其中,WinJob 使用开源的任务调度框架 Quartz.NET+ ZooKeepe 阅读全文
posted @ 2018-02-05 17:37 我是一颗小菜 阅读(1256) 评论(0) 推荐(0) 编辑
摘要: 一、写在前面 应用分层这件事情看起来很简单,但每个程序员都有自己的一套,哪怕是初学者。如何让一家公司的几百个应用采用统一的分层结构,并得到大部分程序员的认同呢?这可不是件简单的事情,接下来以我们真实案例与大家一起探讨,先问大家两个技术问题: 服务的调用代码你觉得放到哪一层好呢? A 表现层 B 业务 阅读全文
posted @ 2018-02-05 17:35 我是一颗小菜 阅读(683) 评论(0) 推荐(0) 编辑
摘要: 中小型研发团队架构实践 阅读全文
posted @ 2018-02-05 17:31 我是一颗小菜 阅读(370) 评论(0) 推荐(0) 编辑
摘要: FastDFS这种架构,如何配置?才能让欧洲用户可以就近下载Storage Server1的文件,而不是到中国的Storage Server 2下载? 阅读全文
posted @ 2016-11-07 15:35 我是一颗小菜 阅读(168) 评论(0) 推荐(0) 编辑
摘要: System.Web.Caching 本文转载自 宋辉 缓存主要是为了提高数据的读取速度。因为服务器和应用客户端之间存在着流量的瓶颈,所以读取大容量数据时,使用缓存来直接为客户端服务,可以减少客户端与服务器端的数据交互,从而大大提高程序的性能。 本章从缓存所在的命名空间“System.Web.Cac 阅读全文
posted @ 2016-06-19 01:27 我是一颗小菜 阅读(3376) 评论(0) 推荐(0) 编辑
摘要: 最近学习 设计模式,从单例模式入手 啥是单例模式: 简单来说:单例模式就是保证在整个应用程序的生命周期中,在任何时刻,被指定的类只有一个实例,并为客户程序提供一个获取该实例的全局访问点 一、经典模式: 经典模式下,没有考虑线程并发获取实例问题,即可能出现两个线程同时获取instance实例,且此时其 阅读全文
posted @ 2016-05-24 10:42 我是一颗小菜 阅读(180) 评论(0) 推荐(0) 编辑