自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

杨柳 的专栏

时间溜走的痕迹...

  • 博客(15)
  • 资源 (2)
  • 收藏
  • 关注

原创 Windows Azure 本地存储 SetConfigurationSettingPublisher needs to be called before FromConfigurationSetting can be used

今天开放 Windows Azure 存储服务的时候碰到一个问题: 执行下面的初始化存储代码// read account configuration settingsvar storageAccount = CloudStorageAccount.FromConfigurationSetting("DataConnectionString");抛出异常 网上找了一些资料 没有收获 于是回去看Windows azure 白皮书中的示例描述,发现少了一段很重要的代码这是我的代码namesp

2010-11-02 23:44:00 539

原创 Windows Azure:创建云存储Blob Container的注意事项

关于Blob Container命名规则// create blob container for imagesblobStorage = storageAccount.CreateCloudBlobClient();CloudBlobContainer container = blobStorage.GetContainerReference("file_upload_folder");container.CreateIfNotExist();当执行上述代码后,运行时会抛出一个很奇怪的问题:

2010-11-02 23:44:00 859

原创 sfsf

fdsfdsfdss

2010-11-01 00:39:00 612

原创 C#多线程之二:ManualResetEvent和AutoResetEvent

初次体验 ManualResetEvent和AutoResetEvent主要负责多线程编程中的线程同步;以下一段是引述网上和MSDN的解析: 在.Net多线程编程中,AutoResetEvent和ManualResetEvent这两个类经常用到, 他们的用法很类似,但也有区别。Set方法将信号置为发送状态,Reset方法将信号置为不发送状态,WaitOne等待信号的发送。可以通过构造函数的参数值来决定其初始状态,若为true则非阻塞状态,为false为阻塞状态。如果某个线程调用WaitOne方法,则当信号处

2010-10-31 10:10:00 817 1

原创 C# 多线程之一:信号量Semaphore

Semaphore的理解 通过使用一个计数器对共享资源进行访问控制,Semaphore构造器需要提供初始化的计数器(信号量)大小以及最大的计数器大小 访问共享资源时,程序首先申请一个向Semaphore申请一个许可证,Semaphore的许可证计数器相应的减一,当计数器为0时,其他申请该信号量许可证的线程将被堵赛,直到先前已经申请到许可证的线程释放他占用的许可证让计数器加一,这样最近去申请许可证的线程将会得到竞争得到被释放的许可证。 常见的操作方法 WaitOne():申请一个许可证  Release():

2010-10-30 09:07:00 567

原创 云计算和数据 关于Windows Azure Table Storage 和 SQL Azure的选择

这篇博客对在云计算解决方案中操作数据进行总览性的介绍。   概览 对于绝大多数解决方案而言,数据都是至关重要的一部分。在云计算里面,绝大多数现成的建议都可以直接拿来用。但是云计算也有其独特之处。这篇博客将讨论以下两个用例: 将你存放在云中的数据发布至全世界 在云端的项目中使用你本地的数据。   通用的建议 无论是哪种用例,这些建议都是通用的。   选择一个拓扑 在SOA的世界中,最重要的一个概念就是契约(contract)。在云计算的世界中,有关通信的最重要的概念也是契约。当一个契约被很多云计算解决方案

2010-10-27 07:20:00 507

原创 VS2010 使用过程中碰到的一个DLL导入失败的问题

最近做Windows Azure开发,碰到一个很怪的问题 有2个引用找不到 Microsoft.WindowsAzure;Microsoft.WindowsAzure.StorageClient;     但是明明引用了dll 如下图   查看错误信息如下: 大概的意思是Microsoft.WindowsAzure.StorageClient依赖的System.Web 包找不到   于是就去引用里头找 果然没发现。   google了一下 原来问题出在这里 项目-属性-应用程序  查看目标框

2010-10-26 07:24:00 861

原创 云计算简介—Submitted By Azure Forum Support Team

简介 大家知道什么叫做云计算吗?事实上,目前并没有一个确定的定义。然而概括来讲,所谓的云计算,指的就是把你的软件和服务统一部署在数据中心,统一管理,从而实现高伸缩性。 云计算拥有以下特点: · 虚拟化和自动化 · 服务器,存储介质,网络等资源都可以随时替换 · 所有的资源都由云端统一管理 · 高度的伸缩性以满足业务需求 · 集中于将服务传递给业务   云计算的部署方式 从部署方式来说,总共有两类云计算: · 私有云:数据中心部署在企业内部,由企业自行管理。微软为大家提供了Dynamic

2010-10-25 14:17:00 1669

原创 Java 和 Android 内存优化的两个类:SoftReference 和 WeakReference

如果你想写一个 Java 程序,观察某对象什么时候会被垃圾收集的执行绪清除,你必须要用一个 reference 记住此对象,以便随时观察,但是却因此造成此对象的 reference 数目一直无法为零, 使得对象无法被清除。 java.lang.ref.WeakReference  不过,现在有了 Weak Reference 之后,这就可以迎刃而解了。如果你希望能随时取得某对象的信息,但又不想影响此对象的垃圾收集,那么你应该用 Weak Reference 来记住此对象,而不是用一般的 referen

2010-10-21 16:55:00 359

原创 关于Android界面组件重用 A Simple Control Flow Facility For Android Activities --Submitted by Fabrizio Giudici

In blueBill Mobile for Android (BTW, I have published the first version to the Android Market) I've had to face with an internal reuse problem. Consider the following diagram, which depicts a couple of possible "screen" flows that the user may navigate wit

2010-10-21 16:22:00 725

原创 JAVA将输入的日期转换为中文日期

JAVA将输入的日期转换为中文日期(例如: 2007-10-05 --> 二○○七年十月五日)  package com.business.practitioner;import java.text.SimpleDateFormat;import java.util.Date;/** * Creation date: 2010-5-22下午03:41:58 * 功能: 将输入的日期转换为中文日期(例如: 2007-10-05 --> 二○○七年十月五日) * 说明:此程序假

2010-09-13 08:40:00 7256 1

原创 Java 与 C#中的 substring

总结: java和c#中的substring 如果只有一个参数,意思是一样,取该索引之后的全部字符 如果有2个参数。Java 的substring第二个参数表示索引号,实际取值是索引号的前一位; C# 的Substring方法第二个参数表示取子字符串的长度     java API 中的说明: substring   Returns a new string that is a substring of this string. The substring begins at the specified

2010-09-13 08:15:00 2489

原创 sealed 关键字

sealed的中文意思是密封,故名思义,就是由它修饰的类或方法将不能被继承或是重写。   sealed关键字: 在类声明中使用sealed可防止其它类继承此类;在方法声明中使用sealed修饰符可防止扩充类重写此方法。相当于Java中的final类和final方法 密封类: 密封类在声明中使用sealed 修饰符,这样就可以防止该类被其它类继承。如果试图将一个密封类作为其它类的基类,C#将提示出错。 在哪些场合下使用密封类呢?实际上,密封类中不可能有派生类。如果密封类实例中存在虚成员函数,该成员函数可以转化

2010-09-11 08:51:00 546

原创 测试windows live writer

测试windows live writer 测试windows live writer 测试windows live writer 测试windows live writer 测试windows live writer 测试windows live writer   测试windows live writer 测试windows live writer    测试项目符号 测试windows live writer 测试windows live writer 测试windows live writer

2010-09-11 04:42:00 368

原创 今天开通了博客

今天开通了博客,希望自己勤劳一些,坚持下来,把生活和工作的点滴写下来

2010-09-10 09:27:00 256

Kafka权威指南 高清pdf 带完整目录

序  xiii 前言  xv 第1章 初识Kafka  1 1.1 发布与订阅消息系统  1 1.1.1 如何开始  2 1.1.2 独立的队列系统  3 1.2 Kafka登场  4 1.2.1 消息和批次  4 1.2.2 模式  4 1.2.3 主题和分区  5 1.2.4 生产者和消费者  5 1.2.5 broker和集群  6 1.2.6 多集群  7 1.3 为什么选择Kafka  8 1.3.1 多个生产者  8 1.3.2 多个消费者  8 1.3.3 基于磁盘的数据存储  9 1.3.4 伸缩性  9 1.3.5 高性能  9 1.4 数据生态系统  9 1.5 起源故事  11 1.5.1 LinkedIn的问题  11 1.5.2 Kafka的诞生  12 1.5.3 走向开源  12 1.5.4 命名  13 1.6 开始Kafka之旅  13 第2章 安装Kafka  14 2.1 要事先行  14 2.1.1 选择操作系统  14 2.1.2 安装Java  14 2.1.3 安装Zookeeper  15 2.2 安装Kafka Broker  17 2.3 broker配置  18 2.3.1 常规配置  18 2.3.2 主题的默认配置  19 2.4 硬件的选择  23 2.4.1 磁盘吞吐量  23 2.4.2 磁盘容量  23 2.4.3 内存  23 2.4.4 网络  24 2.4.5 CPU  24 2.5 云端的Kafka  24 2.6 Kafka集群  24 2.6.1 需要多少个broker  25 2.6.2 broker配置  25 2.6.3 操作系统调优  26 2.7 生产环境的注意事项  28 2.7.1 垃圾回收器选项  28 2.7.2 数据中心布局  29 2.7.3 共享Zookeeper  29 2.8 总结  30 第3章 Kafka生产者——向Kafka写入数据  31 3.1 生产者概览  32 3.2 创建Kafka生产者  33 3.3 发送消息到Kafka  34 3.3.1 同步发送消息  35 3.3.2 异步发送消息  35 3.4 生产者的配置  36 3.5 序列化器  39 3.5.1 自定义序列化器  39 3.5.2 使用Avro序列化  41 3.5.3 在Kafka里使用Avro  42 3.6 分区  45 3.7 旧版的生产者API  46 3.8 总结  47 第4章 Kafka消费者——从Kafka读取数据  48 4.1 KafkaConsumer概念  48 4.1.1 消费者和消费者群组  48 4.1.2 消费者群组和分区再均衡  51 4.2 创建Kafka 消费者  52 4.3 订阅主题  53 4.4 轮询  53 4.5 消费者的配置  55 4.6 提交和偏移量  57 4.6.1 自动提交  58 4.6.2 提交当前偏移量  59 4.6.3 异步提交  59 4.6.4 同步和异步组合提交  61 4.6.5 提交特定的偏移量  61 4.7 再均衡监听器  62 4.8 从特定偏移量处开始处理记录  64 4.9 如何退出  66 4.10 反序列化器  67 4.11 独立消费者——为什么以及怎样使用没有群组的消费者  71 4.12 旧版的消费者API  71 4.13 总结  72 第5章 深入Kafka  73 5.1 集群成员关系  73 5.2 控制器  74 5.3 复制  74 5.4 处理请求  76 5.4.1 生产请求  78 5.4.2 获取请求  78 5.4.3 其他请求  80 5.5 物理存储  81 5.5.1 分区分配  81 5.5.2 文件管理  82 5.5.3 文件格式  83 5.5.4 索引  84 5.5.5 清理  84 5.5.6 清理的工作原理  84 5.5.7 被删除的事件  86 5.5.8 何时会清理主题  86 5.6 总结  86 第6章 可靠的数据传递  87 6.1 可靠性保证  87 6.2 复制  88 6.3 broker配置  89 6.3.1 复制系数  89 6.3.2 不完全的首领选举  90 6.3.3 最少同步副本  91 6.4 在可靠的系统里使用生产者  92 6.4.1 发送确认  92 6.4.2 配置生产者的重试参数  93 6.4.3 额外的错误处理  94 6.5 在可靠的系统里使用消费者  94 6.5.1 消费者的可靠性配置  95 6.5.2 显式提交偏移量  95 6.6 验证系统可靠性  97 6.6.1 配置验证  98 6.6.2 应用程序验证  98 6.6.3 在生产环境监控可靠性  99 6.7 总结  100 第7章 构建数据管道  101 7.1 构建数据管道时需要考虑的问题  102 7.1.1 及时性  102 7.1.2 可靠性  102 7.1.3 高吞吐量和动态吞吐量  103 7.1.4 数据格式  103 7.1.5 转换  104 7.1.6 安全性  104 7.1.7 故障处理能力  104 7.1.8 耦合性和灵活性  105 7.2 如何在Connect API和客户端API之间作出选择  105 7.3 Kafka Connect  106 7.3.1 运行Connect  106 7.3.2 连接器示例——文件数据源和文件数据池  107 7.3.3 连接器示例——从MySQL到ElasticSearch  109 7.3.4 深入理解Connect  114 7.4 Connect之外的选择  116 7.4.1 用于其他数据存储的摄入框架  116 7.4.2 基于图形界面的ETL 工具  117 7.4.3 流式处理框架  117 7.5 总结  117 第8章 跨集群数据镜像  118 8.1 跨集群镜像的使用场景  118 8.2 多集群架构  119 8.2.1 跨数据中心通信的一些现实情况  119 8.2.2 Hub和Spoke架构  120 8.2.3 双活架构  121 8.2.4 主备架构  123 8.2.5 延展集群  127 8.3 Kafka的MirrorMaker  128 8.3.1 如何配置  129 8.3.2 在生产环境部署MirrorMaker  130 8.3.3 MirrorMaker调优  132 8.4 其他跨集群镜像方案  134 8.4.1 优步的uReplicator  134 8.4.2 Confluent的Replicator  135 8.5 总结  135 第9章 管理Kafka  136 9.1 主题操作  136 9.1.1 创建主题  137 9.1.2 增加分区  138 9.1.3 删除主题  138 9.1.4 列出集群里的所有主题  139 9.1.5 列出主题详细信息  139 9.2 消费者群组  140 9.2.1 列出并描述群组  140 9.2.2 删除群组  142 9.2.3 偏移量管理  142 9.3 动态配置变更  143 9.3.1 覆盖主题的默认配置  143 9.3.2 覆盖客户端的默认配置  145 9.3.3 列出被覆盖的配置  145 9.3.4 移除被覆盖的配置  146 9.4 分区管理  146 9.4.1 首选的首领选举  146 9.4.2 修改分区副本  147 9.4.3 修改复制系数  150 9.4.4 转储日志片段  151 9.4.5 副本验证  152 9.5 消费和生产  153 9.5.1 控制台消费者  153 9.5.2 控制台生产者  155 9.6 客户端ACL  157 9.7 不安全的操作  157 9.7.1 移动集群控制器  157 9.7.2 取消分区重分配  157 9.7.3 移除待删除的主题  158 9.7.4 手动删除主题  158 9.8 总结  159 第10章 监控Kafka  160 10.1 度量指标基础  160 10.1.1 度量指标在哪里  160 10.1.2 内部或外部度量  161 10.1.3 应用程序健康检测  161 10.1.4 度量指标的覆盖面  161 10.2 broker的度量指标  162 10.2.1 非同步分区  162 10.2.2 broker度量指标  166 10.2.3 主题和分区的度量指标  173 10.2.4 Java虚拟机监控  174 10.2.5 操作系统监控  175 10.2.6 日志  176 10.3 客户端监控  177 10.3.1 生产者度量指标  177 10.3.2 消费者度量指标  179 10.3.3 配额  181 10.4 延时监控  182 10.5 端到端监控  183 10.6 总结  183 第11章 流式处理  184 11.1 什么是流式处理  185 11.2 流式处理的一些概念  186 11.2.1 时间  187 11.2.2 状态  188 11.2.3 流和表的二元性  188 11.2.4 时间窗口  189 11.3 流式处理的设计模式  190 11.3.1 单个事件处理  191 11.3.2 使用本地状态  191 11.3.3 多阶段处理和重分区  193 11.3.4 使用外部查找——流和表的连接  193 11.3.5 流与流的连接  195 11.3.6 乱序的事件  195 11.3.7 重新处理  196 11.4 Streams示例  197 11.4.1 字数统计  197 11.4.2 股票市场统计  199 11.4.3 填充点击事件流  201 11.5 Kafka Streams的架构概览  202 11.5.1 构建拓扑  202 11.5.2 对拓扑进行伸缩  203 11.5.3 从故障中存活下来  205 11.6 流式处理使用场景  205 11.7 如何选择流式处理框架  206 11.8 总结  208 附录A 在其他操作系统上安装Kafka  209 作者介绍  214 封面介绍  214

2018-09-11

Redis实战 高清PDF 带完整目录

第一部分 入门 第1章 初识Redis 2 1.1 Redis简介 3 1.1.1 Redis与其他数据库和软件的对比 3 1.1.2 附加特性 4 1.1.3 使用Redis的理由 5 1.2 Redis数据结构简介 6 1.2.1 Redis中的字符串 7 1.2.2 Redis中的列表 9 1.2.3 Redis的集合 10 1.2.4 Redis的散列 11 1.2.5 Redis的有序集合 12 1.3 你好Redis 13 1.3.1 对文章进行投票 15 1.3.2 发布并获取文章 17 1.3.3 对文章进行分组 19 1.4 寻求帮助 21 1.5 小结 21 第2章 使用Redis构建Web应用 23 2.1 登录和cookie缓存 24 2.2 使用Redis实现购物车 28 2.3 网页缓存 29 2.4 数据行缓存 30 2.5 网页分析 33 2.6 小结 34 第二部分 核心概念 第3章 Redis命令 38 3.1 字符串 39 3.2 列表 42 3.3 集合 44 3.4 散列 46 3.5 有序集合 48 3.6 发布与订阅 52 3.7 其他命令 54 3.7.1 排序 54 3.7.2 基本的Redis事务 56 3.7.3 键的过期时间 58 3.8 小结 60 第4章 数据安全与性能保障 61 4.1 持久化选项 61 4.1.1 快照持久化 62 4.1.2 AOF持久化 66 4.1.3 重写/压缩AOF文件 67 4.2 复制 68 4.2.1 配置Redis的配置选项 69 4.2.2 Redis复制的启动过程 70 4.2.3 主从链 71 4.2.4 检验磁盘写入 72 4.3 处理系统故障 73 4.3.1 验证快照文件和AOF文件 74 4.3.2 更换故障主服务器 75 4.4 Redis事务 76 4.4.1 定义用户信息和用户包裹 77 4.4.2 将物品放到市场上销售 78 4.4.3 购买物品 80 4.5 非事务型流水线 82 4.6 关于性能方面的注意事项 85 4.7 小结 87 第5章 使用Redis构建支持程序 88 5.1 使用Redis来记录日志 88 5.1.1 最新日志 89 5.1.2 常见日志 90 5.2 计数器和统计数据 91 5.2.1 将计数器存储到Redis里面 91 5.2.2 使用Redis存储统计数据 96 5.2.3 简化统计数据的记录与发现 98 5.3 查找IP所属城市以及国家 100 5.3.1 载入位置表格 100 5.3.2 查找IP所属城市 102 5.4 服务的发现与配置 103 5.4.1 使用Redis存储配置信息 103 5.4.2 为每个应用程序组件分别配置一个Redis服务器 104 5.4.3 自动Redis连接管理 106 5.5 小结 107 第6章 使用Redis构建应用程序组件 109 6.1 自动补全 109 6.1.1 自动补全最近联系人 110 6.1.2 通讯录自动补全 112 6.2 分布式锁 115 6.2.1 锁的重要性 116 6.2.2 简易锁 118 6.2.3 使用Redis构建锁 119 6.2.4 细粒度锁 122 6.2.5 带有超时限制特性的锁 124 6.3 计数信号量 126 6.3.1 构建基本的计数信号量 126 6.3.2 公平信号量 128 6.3.3 刷新信号量 131 6.3.4 消除竞争条件 132 6.4 任务队列 133 6.4.1 先进先出队列 133 6.4.2 延迟任务 136 6.5 消息拉取 139 6.5.1 单接收者消息的发送与订阅替代品 140 6.5.2 多接收者消息的发送与订阅替代品 141 6.6 使用Redis进行文件分发 145 6.6.1 根据地理位置聚合用户数据 146 6.6.2 发送日志文件 148 6.6.3 接收日志文件 149 6.6.4 处理日志文件 150 6.7 小结 152 第7章 基于搜索的应用程序 153 7.1 使用Redis进行搜索 153 7.1.1 基本搜索原理 154 7.1.2 对搜索结果进行排序 160 7.2 有序索引 162 7.2.1 使用有序集合对搜索结果进行排序 162 7.2.2 使用有序集合实现非数值排序 164 7.3 广告定向 166 7.3.1 什么是广告服务器? 167 7.3.2 对广告进行索引 167 7.3.3 执行广告定向操作 170 7.3.4 从用户行为中学习 174 7.4 职位搜索 180 7.4.1 逐个查找合适的职位 180 7.4.2 以搜索方式查找合适的职位 181 7.5 小结 182 第8章 构建简单的社交网站 184 8.1 用户和状态 185 8.1.1 用户信息 185 8.1.2 状态消息 186 8.2 主页时间线 187 8.3 关注者列表和正在关注列表 188 8.4 状态消息的发布与删除 191 8.5 流API 194 8.5.1 流API提供的数据 195 8.5.2 提供数据 196 8.5.3 对流消息进行过滤 199 8.6 小结 205 第三部分 进阶内容 第9章 降低内存占用 208 9.1 短结构 208 9.1.1 压缩列表表示 209 9.1.2 集合的整数集合编码 211 9.1.3 长压缩列表和大整数集合带来的性能问题 212 9.2 分片结构 214 9.2.1 分片式散列 215 9.2.2 分片集合 218 9.3 打包存储二进制位和字节 221 9.3.1 决定被存储位置信息的格式 221 9.3.2 存储打包后的数据 223 9.3.3 对分片字符串进行聚合计算 224 9.4 小结 226 第10章 扩展Redis 227 10.1 扩展读性能 227 10.2 扩展写性能和内存容量 230 10.2.1 处理分片配置信息 232 10.2.2 创建分片服务器连接装饰器 233 10.3 扩展复杂的查询 234 10.3.1 扩展搜索查询量 235 10.3.2 扩展搜索索引大小 235 10.3.3 对社交网站进行扩展 240 10.4 小结 247 第11章 Redis的Lua脚本编程 248 11.1 在不编写C代码的情况下添加新功能 248 11.1.1 将Lua脚本载入Redis 249 11.1.2 创建新的状态消息 251 11.2 使用Lua重写锁和信号量 254 11.2.1 使用Lua实现锁的原因 254 11.2.2 重写锁实现 255 11.2.3 使用Lua实现计数信号量 257 11.3 移除WATCH/MULTI/EXEC事务 258 11.3.1 回顾群组自动补全程序 259 11.3.2 再次对物品买卖市场进行改进 261 11.4 使用Lua对列表进行分片 263 11.4.1 分片列表的构成 263 11.4.2 将元素推入分片列表 265 11.4.3 从分片里面里面弹出元素 266 11.4.4 对分片列表执行阻塞弹出操作 267 11.5 小结 270 附录A 快速安装指南 271 附录B 其他资源和参考资料 279

2018-09-11

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除