ECMAScript6学习笔记
ECMAScript6发布于2015年,是下一代ECMAScript的标准。当前ES6的支持情况如下:
- 最新的浏览器:Chrome 54、Opera 41、Safari 10、Firefox 50、Edge 14、iOS 10等已经支持ES6的大部分特性…
Sencha Cmd学习笔记
Sencha Cmd是一套跨平台的命令行工具,用于支持整个ExtJS开发的生命周期。它包含以下功能:
- 代码生成工具:可以生成整个应用程序,并且使用MVC模式扩展应用程序
- JS编译器:此编译器理解Sencha的ExtJS/Touch框架,可以减少应用程序加载…
OpenTSDB学习笔记
OpenTSDB是一个开源的、被广泛使用的时间序列数据库。它提供了一整套和监控有关的功能,可以用来构建分布式、可扩容的监控系统。使用OpenTSDB可以不损失统计精度的永久保存监控数据,统计精度可以达到毫秒级。OpenTSDB的底层是Hadoop/HBas…
阅读全文CoreOS知识集锦
CoreOS是一个轻量级的Linux操作系统,CoreOS的自动化、安全性、可扩容性特征,让其非常适用于集群化的部署场景。
与其它的发行版不同,CoreOS没有包管理器,它倾向于在容器(例如Docker)中运行应用程序。CoreOS对流行的容器系统提供了…
阅读全文IPVS和Keepalived
关于IPVS,可以参考这个网站:http://www.austintek.com/LVS/LVS-HOWTO/
关于IPVS在内核中的实现,可以参考:IPVS模式下ClusterIP泄露宿主机端口的问题
IPVS在内核中实现了传输层负载均衡,是一个L4的交换机。IPVS在一群真实服务器的前面,运行一个LB角色的主机,该主机面向客户端,提供了单一IP地址的虚拟服务。
HAProxy知识集锦
HAProxy是一个非常快、稳定的网络工具,可以用于实现高可用、负载均衡、L4/L7代理。经过多年的发展,HAProxy已经成为开源LB事实上的标准。
HAProxy的性能依赖于Linux的epool或BSD的kqueue。它包含了一个单线程、事件驱动、…
阅读全文使用Go语言进行文本处理
双引号包围。支持多行字符串,使用反引号包围:
1 2 3 |
str := `This string will have tabs in it` |
1 2 3 4 5 |
str := "12345" println(str[0:1]) // 1 println(str[0:4]) // 1234 println(str[:]) // 12345 println(str[1:]) // 12345 |
built-in库支持对多种数据类型获取长度,包括字符串:
提供基本的字符串处理函数:
可以利用此包创建字符串缓冲区,类似于Java的StringBuffer:
此包提供的Scanner可以逐行迭代处理字符串:
可用于将任何类型转换为字符…
阅读全文Ubuntu下使用Kerberos
Kerberos是MIT开发的网络身份验证系统,利用它可以实现单点登陆。Kerberos引入以下概念:
术语 | 说明 |
Principal | 被认证的实体,可以是用户、计算机、某台计算机提供的服务 |
Instances | 用于识别某些服务类、特殊的管理性实体… |
使用Grafana展示时间序列数据
Grafana是一个独立运行的系统,内置了Web服务器。它可以基于仪表盘的方式来展示、分析时间序列数据。
Grafana支持多种数据源,例如:Graphite、OpenTSDB、InfluxDB、Elasticsearch。你可以混合使用多种数据源。它对…
阅读全文ZooKeeper学习笔记
ZooKeeper是Hadoop的子项目,实现高可靠的分布式协调服务。它可以提供分布式的配置、同步、命名、集群服务。ZooKeeper暴露了一系列简单的接口,具有Java、C语言绑定。
为了正确构建复杂的服务,ZooKeeper提供以下保证:
- 顺序一致…