MongoDBMongoDB安装
MongoDB 提供了可用于 32 位和 64 位系统的预编译二进制包,你可以从MongoDB官网下载安装,MongoDB 预编译二进制包下载地址:https://www.mongodb.com/download-center/community 注意:在 MongoDB 2.2 版本后已经不再支持 Windows XP 系统。最新版本也已经没有了 32 位系统的安装文件。 1.MongoDB for Windows 64-bit 适合 64 位的 Windows Server 2008 R2, Windows 7 , 及最新版本的 Window 系统。 2.MongoDB for Windows 32-bit 适合 32 位的 Window 系统及最新的 Windows Vista。 32 位系统上 MongoDB 的数据库最大为 2GB。 3.MongoDB for Windows 64-bit Legacy 适合 64 位的 Windows Vista, Windows Server 2003, 及 Windows Server 2008 。
SpringBootSpring Boot整合Kafka
Kafka是一个分布式的、可分区的、可复制的消息系统,下面是Kafka的几个基本术语: 1>Kafka将消息以topic为单位进行归纳; 2>将向Kafka topic发布消息的程序成为producers; 3>将预订topics并消费消息的程序成为consumer; 4>Kafka以集群的方式运行,可以由一个或多个服务组成,每个服务叫做一个broker。 producers通过网络将消息发送到Kafka集群,集群向消费者提供消息,如下图所示:
MQKafka运行环境安装
kafka是基于jdk和zk上运行的,安装kafka前必须安装jdk和zk。 安装文件: http://www.oracle.com/technetwork/java/javase/downloads/index.html 下载JDK 安装完成后需要添加以下的环境变量(右键点击“我的电脑” -> "高级系统设置" -> "环境变量" ): JAVA_HOME: D:\Program Files\java\jdk1.8.0_91 (jdk的安装路径) Path: 在现有的值后面添加"; %JAVA_HOME%\bin"
SpringBootSpring Boot中处理跨域
HTML 5中新增的跨域资源访问(Cross-Origin Resource Sharing)特性可以让我们在开发后端系统的时候决定资源是否允许被跨域访问。所谓跨域指的是域名不同或者端口不同或者协议不同,比如当从 wno704.com 网站访问 wno704.com:8080 网站资源就会存在跨域问题。Spring从4.2版本开始就提供了跨域的支持,开箱即用。这里介绍如何在Spring Boot开发中解决跨域的问题,主要分为注解驱动和接口编程的方式。 要解决跨域问题,我们就得先模拟一个跨域情景。 然后在resources/templates下新建index.html:
SpringBootSpring Boot中的异步调用
通常我们开发的程序都是同步调用的,即程序按照代码的顺序一行一行的逐步往下执行,每一行代码都必须等待上一行代码执行完毕才能开始执行。而异步编程则没有这个限制,代码的调用不再是阻塞的。所以在一些情景下,通过异步编程可以提高效率,提升接口的吞吐量。这节将介绍如何在Spring Boot中进行异步编程。 新建一个Spring Boot项目 要开启异步支持,首先得在Spring Boot入口类上加上@EnableAsync注解
SpringBootSpring Boot整合WebSocket
本节简单介绍下如何在Spring Boot引入WebSocket,实现简单的客户端与服务端建立长连接并互发送文本消息。 新建handler包,然后在该包下新建MyStringWebSocketHandler继承TextWebSocketHandler: 该类重写了父类AbstractWebSocketHandler的四个方法:
MQWindows下安装RabbitMQ
AMQP,即Advanced Message Queuing Protocol,高级消息队列协议,是应用层协议的一个开放标准,为面向消息的中间件设计。消息中间件主要用于组件之间的解耦,消息的发送者无需知道消息使用者的存在,反之亦然。 AMQP的主要特征是面向消息、队列、路由(包括点对点和发布/订阅)、可靠性、安全。 RabbitMQ是一个开源的AMQP实现,服务器端用Erlang语言编写,支持多种客户端,如:Python、Ruby、.NET、Java、JMS、C、PHP、ActionScript、XMPP、STOMP等,支持AJAX。用于在分布式系统中存储转发消息,在易用性、扩展性、高可用性等方面表现不俗。 RabbitMQ提供了可靠的消息机制、跟踪机制和灵活的消息路由,支持消息集群和分布式部署。适用于排队算法、秒杀活动、消息分发、异步处理、数据同步、处理耗时任务、CQRS等应用场景。
设计模式行为型模式-迭代器模式(四)
迭代器模式(Iterator Pattern)是 Java 和 .Net 编程环境中非常常用的设计模式。这种模式用于顺序访问集合对象的元素,不需要知道集合对象的底层表示。 迭代器模式属于行为型模式。 提供一种方法顺序访问一个聚合对象中各个元素, 而又无须暴露该对象的内部表示。 不同的方式来遍历整个整合对象。
设计模式行为型模式-解释器模式(三)
解释器模式(Interpreter Pattern)提供了评估语言的语法或表达式的方式,它属于行为型模式。这种模式实现了一个表达式接口,该接口解释一个特定的上下文。这种模式被用在 SQL 解析、符号处理引擎等。 给定一个语言,定义它的文法表示,并定义一个解释器,这个解释器使用该标识来解释语言中的句子。 对于一些固定文法构建一个解释句子的解释器。