Archive 2018

Elasticsearch安装使用

发布于:2018-12-25

什么是Elasticsearch Elasticsearch(ES)是一个基于Lucene构建的开源、分布式、RESTful接口的全文搜索引擎。Elasticsearch还是一个分布式文档数据库,其中每个字段均可被索引,而且每个字段的数据均可被搜索,ES能够横向扩展至数以百计的服务器存储以及处理PB级的数据。可以在极短的时间内存储、搜索和分析大量的数据。通常作为具有复杂搜索场景情况下的核心发动机。 Elasticsearch的主要特点如下: 实时性高——数据流进入Elasticsearch系统后,数据能够快速的建立索引并且被搜索到且对于查询请求在很“短”的时间内就能得到结果 分布式架构——一 …...

进入阅读

Go常用标准命令简介

发布于:2018-12-03

Go标准命令概述 Go 语言自带了一套完整的命令操作工具,我们可以在命令行中执行go来查看相关帮助 Usage: go <command> [arguments] The commands are: bug start a bug report build compile packages and dependencies clean remove object files and cached files doc show documentation for package or symbol env print Go environment information fix …...

进入阅读

Kafka架构简介

发布于:2018-12-02

kafka架构 一个kafka架构包括如下4部分: 若干个Producer,负责发生消息 一个kafka集群,包含若干个Broker,负责存储消息 若干个consumer group,每个consumer group包含一个或者多个consumer,负责消息消息 一个Zookeeper集群,负责管理集群配置及服务协同 kafka各个组件详解 Producer Producer即消息生产者,负责发布消息到broker,是向broker推送消息的客户端。 一个消息会被发布到一个特定的topic(主题)上,producer默认会将消息均衡地分布到topic的patition(分区)上。 在发送一 …...

进入阅读

GO程序性能调试工具——pprof

发布于:2018-10-13

pprof pprof是Golang的runtime内建的用于可视化和分析性能分析数据的工具,能帮助我们对程序运行时的 CPU、内存进行分析。 pprof 以 profile.proto 读取分析样本的集合,并生成报告以可视化并帮助分析数据(支持文本和图形报告) pprof能做的分析包括: CPU Profiling:CPU 分析,按照一定的频率采集所监听的应用程序 CPU(含寄存器)的使用情况,可确定应用程序在主动消耗 CPU 周期时花费时间的位置 Memory Profiling:内存分析,在应用程序进行堆分配时记录堆栈跟踪,用于监视当前和历史内存使用情况,以及检查内存泄漏 Block …...

进入阅读

HashMap的数据结构

发布于:2018-10-11

HashMap HashMap是Java程序员使用频率最高的用于映射(键值对)处理的数据类型。实质是一个哈希数组结构,但是在元素插入的时候,存在发生hash冲突的可能性。 从结构实现来讲,HashMap是数组+链表+红黑树(JDK1.8增加了红黑树部分)实现的,如下如所示。 HashMap类的数据结构 HashMap类包含5个关键参数: threshold:表示容器所能容纳的 key-value 对极限。 loadFactor:负载因子。 modCount:记录修改次数。 size:表示实际存在的键值对数量。 table:一个哈希桶数组,键值对就存放在里面。 public class …...

进入阅读

linux系统库链接简介

发布于:2018-09-30

库和库链接 本质上来说库是一种可执行代码的二进制形式,可以被操作系统载入内存执行。库是写好的现有的,成熟的,可以复用的代码,现实中每个程序都要依赖很多基础的底层库。 库有两种类型: 静态库:.a文件(win 系统下是lib) 动态库:.so文件(win 系统下是.dll) 静态库 静态库实际上是一些目标文件的集合,只用于链接生成可执行文件阶段。链接器会将程序中使用到函数的代码从库文件中拷贝到应用程序中,一旦链接完成生成可执行文件之后,在执行程序的时候就不需要静态库了。 静态库库的特点: 静态库对函数库的链接是放在编译时期完成的。 程序在运行时与函数库再无瓜葛,移植方便。 浪费空间 …...

进入阅读

Kafka安装使用

发布于:2018-09-26

什么是kafka Kafka是由LinkedIn开发的一个分布式的消息系统,使用Scala编写,它以可水平扩展和高吞吐率而被广泛使用。目前越来越多的开源分布式处理系统如Cloudera、Apache Storm、Spark都支持与 Kafka集成。 Kafka的主要特点如下: 以时间复杂度为 O(1) 的方式提供消息持久化能力,即使对TB级以上数据也能保证常数时间复杂度的访问性能。 高吞吐率。即使在非常廉价的商用机器上也能做到单机支持每秒100K条以上消息的传输。 支持消息分区,及分布式消费,同时保证每个Partition内的消息顺序传输。 同时支持离线数据处理和实时数据处理。 方便的支持支 …...

进入阅读

iptables简介及使用说明

发布于:2018-07-17

什么是iptables iptables是Linux平台最著名的防火墙工具,运行在用户空间通过控制Linux内核netfilter模块来管理网络数据包的处理和转发的一个命令行工具。可以把iptables理解成一个客户端代理,用户通过iptables这个代理,将用户的安全设定执行到netfilter netfilter/iptables组成Linux平台下的包过滤防火墙,与大多数的Linux软件一样,这个包过滤防火墙是免费的,它可以代替昂贵的商业防火墙解决方案,完成封包过滤、封包重定向和网络地址转换等功能。 iptables操作需要超级用户权限,其可执行文件通常位于 /sbin/iptables …...

进入阅读

Goroutine间的通信——channel机制

发布于:2018-06-25

并发与并行 关于并发和并行的区别,引用一个经典的描述: 并发是同一时间应对(dealing with)多件事情的能力。 并行是同一时间动手(doing)做多件事情的能力。 雨痕老师《Go 语言学习笔记》上的解释: 并发是指逻辑上具备同时处理多个任务的能力;并行则是物理上同时执行多个任务。 并发是代码的特性,并行是正在运行的程序的特性。随着抽象层次的降低,并发模型实际上变得更难也更重要,而越低层次的并发模型对我们也越重要。要想并发程序正确地执行,就要深入研究并发模型。 要想一段并发的代码没有任何bug,是非常困难的。有些并发bug是在系统上线数年后才发现的,原因常常是很诡异的,比如用户数 …...

进入阅读

Goroutine的调度机制——MPG模型

发布于:2018-06-23

goroutine goroutine是Go语言原生支持并发的具体实现,Go代码都无一例外地跑在goroutine中。 可以启动许多甚至成千上万的goroutine,但它们并不是被操作系统所调度执行,Go的runtime负责对goroutine进行调度执行。 除了被系统调用阻塞的线程外,Go运行库最多会启动$GOMAXPROCS个线程来运行goroutine。 和所有其他并发框架里的协程一样,goroutine里所谓“无锁”的优点只在单线程下有效,如果$GOMAXPROCS > 1并且协程间需要通信,Go运行库会负责加锁保护数据 goroutine调度 goroutine调度就是决定何时 …...

进入阅读

Docker简介和基本使用

发布于:2018-05-12

Docker是什么 Docker属于Linux容器技术的一种封装,提供简单易用的容器使用接口,它是目前最流行的Linux容器解决方案。 Docker使用Go语言进行开发实现,基于Linux内核的cgroup,namespace,以及AUFS类的Union FS等技术,对进程进行封装隔离,属于操作系统层面的虚拟化技术。 Docker将应用程序与该程序的依赖打包在一个文件里面(镜像)。运行这个文件,就会生成一个虚拟容器。程序在这个虚拟容器里运行,就好像在真实的物理机上运行一样。 基于Docker的沙箱环境可以实现轻型隔离,多个容器间不会相互影响。 Docker和虚拟机的区别 虚拟机(virtual …...

进入阅读

分类

开发
    --go (9)
    --java (5)
    --php (11)
    --mysql (9)
    --javascript (3)
    --html (1)
    --算法 (6)
架构
    --理论 (9)
    --网络 (3)
    --服务器 (2)
    --消息队列 (3)
    --容器 (5)
    --监控 (1)
    --搜索引擎 (3)
    --大数据 (0)
    --测试 (1)
系统
    --linux (10)
    --mac (2)
    --windows (1)
足球
    --世界杯 (60)
    --欧洲杯 (28)
    --文迷 (3)
大学时光
    --校园生活 (96)
    --假期生活 (17)
    --广院杯那些事 (14)
    --北京奥运 (6)
    --胡思乱写 (17)


最近发布

零拷贝技术介绍

服务网格技术简介

C语言标准和标准库简介

Kubernetes简介及环境搭建

Go语言开发的顶级项目


归档

2006 (109)
2007 (40)
2008 (47)
2009 (10)
2010 (6)
2012 (10)
2013 (14)
2014 (27)
2015 (15)
2016 (6)
2017 (8)
2018 (11)
2019 (17)
2020 (5)