摘要: 线程池的作用: 提供系统效率;如果每个请求到达就创建一个线程,开销是相当大的,服务器创建和销毁线程花费的时间和系统资源都相当大;如果线程数量太多,线程之间的切换也会消耗大量时间和资源。通过对多个任务重复使用线程,那么线程创建和销毁的开销就分摊到了多个任务上,平均每个任务所花费的时间和资源就少了很多。 阅读全文
posted @ 2017-04-11 10:50 buaa小松 阅读(163) 评论(0) 推荐(0) 编辑
摘要: 1、 提供了开发服务平台的解决方案:比如应用认证、会话管理、安全控制、错误模型、版本管理、超时限制 2、 启动:RopServlet截获http请求 配置: 3、 注解 1)@ServiceMethodBean 标注在class之前,使相应的class成为一个Rop服务的Bean 2)@Sevice 阅读全文
posted @ 2017-04-11 10:46 buaa小松 阅读(3080) 评论(0) 推荐(1) 编辑
摘要: 1.复制 完整重同步,从服务器完全复制主服务器的数据,主要通过RDB文件和单条命令传输(套接字连接)。 部分重同步,主服务器进行命令传播的时候,不仅会把写命令发送给从服务器,而且还会把写命令放入复制积压缓冲区中,当主从服务器连接断开又重新连接上的时候,从服务器向主服务器发送PSYNC命令(参数包括复 阅读全文
posted @ 2017-04-11 10:43 buaa小松 阅读(236) 评论(0) 推荐(0) 编辑
摘要: 1.数据库 Redis的所有数据库都保存在redisServer.db数组中,数据库主要是由两个字典组成:dict字典,负责保存键值对;expires,负责保存键的过期时间 Redis使用惰性删除和定期删除两种方式处理过期键:惰性删除是指在碰到了过期键才将其删除,定期删除是指每隔一段时间主动查找并删 阅读全文
posted @ 2017-04-11 10:42 buaa小松 阅读(172) 评论(0) 推荐(0) 编辑
摘要: 类型与编码: typedef struct redisObject { unsigned type:4;//类型 unsigned encoding:4;//编码 void *ptr;//指向底层实现数据结构的指针 } robj; 1.字符串对象 编码: int,整数值,而且这个整数值可以用long 阅读全文
posted @ 2017-04-11 10:39 buaa小松 阅读(456) 评论(0) 推荐(0) 编辑
摘要: 1.简单动态字符串(simple dynamic string, SDS) 定义: struct sdshdr { int len;//记录buf中使用的字节数量 int free;//记录buf中未使用的字节数量 char buf[];//字节数组,用于保存字符串 //buf字节数组以’\0’结束 阅读全文
posted @ 2017-04-11 10:36 buaa小松 阅读(546) 评论(0) 推荐(0) 编辑
摘要: 1.订阅(subscribe)与发布(publish) 用户订阅某一个频道,频道发布新的信息时,会将信息告知用户 2.数据安全 1) 快照持久化(时间点转储,实质是数据副本) 操作:SAVA、BGSAVE(后台子进程SAVE) 功能:服务器会保存最近一次完成创建的快照的数据,注意,在创建快照的过程中 阅读全文
posted @ 2017-04-11 10:33 buaa小松 阅读(140) 评论(0) 推荐(0) 编辑
摘要: 1) 字符串 SET设置值,GET获取值,DEL删除值 INCR key-name将键存储的值加上1 DECR key-name将键存储的值减去1 INCRBY key-name amount将键存储的值加上整数amount DECRBY key-name amount将键存储的值减去整数amoun 阅读全文
posted @ 2017-04-11 10:28 buaa小松 阅读(169) 评论(0) 推荐(1) 编辑
摘要: 非关系型数据库,存储的数据类型:字符串(STRING)、列表(LIST)、集合(SET)、散列表(HASH)、有序集合(ZSET) 持久化:时间点转储(point-in-time-dump)(快照)、只追加(append-only)文件(AOF) 主从复制特性:主服务器连接若干从服务器,主服务器会将 阅读全文
posted @ 2017-04-11 10:26 buaa小松 阅读(143) 评论(0) 推荐(0) 编辑
摘要: 1、 集群部署 kafka集群的瓶颈主要在网络和磁盘上;kafka依赖于zookeeper,zookeeper集群的节点采用奇数个,3个节点允许一个节点失败,5个节点允许2个节点失败。 图 1 kafka流程图 2、 zookeeper在kafka中所起的作用 (1)记录kafka的节点(broke 阅读全文
posted @ 2017-04-11 10:22 buaa小松 阅读(537) 评论(0) 推荐(0) 编辑
摘要: 1、 Kafka核心组件 (1)replication(副本)、partition(分区) 一个topic可以有多个副本,副本的数量决定了有多少个broker存放写入的数据;副本是以partition为单位的,存放副本即是备份若干个partition,但是只有一个partition被选为Leader 阅读全文
posted @ 2017-04-11 10:20 buaa小松 阅读(648) 评论(0) 推荐(0) 编辑
摘要: kafka是一个分布式,基于subscribe-publish的消息系统 特性:高吞吐量、低延迟、可扩展性、持久性(消息持久化到本地磁盘)、可靠性、容错性(n个副本,允许n-1个节点失败)、高并发(支持数千个客户端同时读写) 设计思想: (1) Consumer group:多个consumer可以 阅读全文
posted @ 2017-04-11 10:19 buaa小松 阅读(347) 评论(0) 推荐(0) 编辑
摘要: 背景 1) 单线程模型,所有的IO操作都在一个NIO线程上完成 存在性能和可靠性上的问题 2) 多线程模型,有一组NIO线程处理IO操作 有一个专门的NIO线程-Acceptor线程用于监听服务端,接收客户端的TCP连接请求; 有一个NIO线程池,负责消息的读取、发送、编码、解码; 一个NIO线程能 阅读全文
posted @ 2017-04-11 10:16 buaa小松 阅读(21226) 评论(0) 推荐(0) 编辑
摘要: 通知(advice):定义切面是什么以及什么时候使用 连接点(join point):应用在执行过程中能够插入切面的点 切点(pointcut):切点的定义会匹配通知所要织入的一个或多个连接点 切面(aspect):通知和切点的结合 引入(introduction):允许我们向现有的类添加新方法或属 阅读全文
posted @ 2017-04-11 10:12 buaa小松 阅读(290) 评论(0) 推荐(0) 编辑
摘要: 1. profile profile可以决定bean在什么环境下才被装配(开发环境、测试环境、线上环境等) @Profile(“dev”)可以用在class之前,也可以用在类之前(Spring3.2),表示类或者方法返回类只有在dev环境激活时才被创建;也可以在XML文件中配置。 激活profile 阅读全文
posted @ 2017-04-11 10:11 buaa小松 阅读(339) 评论(0) 推荐(0) 编辑
摘要: 1. XML中显式配置 规范,文件头: <?xml version=”1.0” encoding=”UTF-8”?> <beans xmlns=http://www.springframework.org/schema/beans xmlns=http://www.w3.org/2001/XMLSc 阅读全文
posted @ 2017-04-11 10:09 buaa小松 阅读(223) 评论(0) 推荐(0) 编辑
摘要: 在安装ns2的过程中遇到这个错误,在查找了很多资料后才找到解决问题的办法:在TCL_LIBRARY中添加值$NS_HOME/ns-allinone-2.35/tk8.5.10/library即修改TCL_LIBRARY为TCL_LIBRARY=$NS_HOME/ns-allinone-2.35/tc 阅读全文
posted @ 2017-04-11 10:04 buaa小松 阅读(2089) 评论(0) 推荐(0) 编辑